Model Armor 최소 기준 설정은 Google Cloud리소스 계층 구조의 특정 지점(조직, 폴더 또는 프로젝트 수준)에서 생성된 모든 Model Armor 템플릿에 대한 최소 요구사항을 지정하는 규칙을 정의합니다. 서로 충돌하는 여러 최소 기준 설정이 있는 경우 리소스 계층에서 더 낮은 설정이 우선 적용됩니다. 예를 들어 최소 기준 설정 정책이 폴더 수준과 프로젝트 수준에서 생성된 경우 프로젝트 수준 정책이 적용됩니다.
다음은 Model Armor 최소 기준 설정 정책이 작동하는 방식을 보여주는 예시입니다. 최소 기준 정책 X는 악성 URL 필터가 사용 설정된 폴더에 설정됩니다. 최소 기준 정책 Y는 해당 폴더 내의 프로젝트에 중간 신뢰도 임계값을 가진 프롬프트 인젝션 및 탈옥 탐지 필터에 설정됩니다. 따라서 프로젝트에서 생성된 모든 Model Armor 템플릿에는 중간 신뢰도 임계값으로 설정된 프롬프트 인젝션 및 탈옥 감지 필터가 하나 이상 있어야 합니다. 이 프로젝트의 상위 폴더가 아닌 다른 폴더에 만든 템플릿에는 악성 URI 필터가 필요하지 않습니다.
최소 기준 설정을 사용하면 CISO와 보안 아키텍트가 조직 내 모든 Model Armor 템플릿에 최소 보안 상황을 적용하여 개별 개발자가 실수 또는 고의로 허용 수준 미만으로 보안 표준을 낮추는 것을 방지할 수 있습니다. Security Command Center의 프리미엄 등급 또는 엔터프라이즈 등급을 사용하는 고객의 경우 최소 기준 설정 위반으로 인해 발견 항목이 트리거됩니다. 즉, 템플릿이 최소 기준 설정 전에 생성되고 템플릿에 덜 제한적인 설정이 있는 경우, Security Command Center에 발견 항목이 표시되어 보안 수준이 낮은 Model Armor 템플릿을 식별하고 해결하는 데 도움이 됩니다.
Model Armor 최소 기준 설정 사용 설정 및 중지
Model Armor 최소 기준 설정을 사용 설정하려면 enable_floor_setting_enforcement
플래그를 true
로 설정합니다.
다음 예시는 이 작업을 수행하는 방법을 보여줍니다.
gcloud
Model Armor 엔드포인트를 전역 엔드포인트로 설정합니다.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
지정된 프로젝트에 Model Armor 최소 기준 설정을 사용 설정합니다.
gcloud model-armor floorsettings update \ --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=true
특정 조직에 Model Armor 최소 기준 설정을 사용 설정합니다.
gcloud model-armor floorsettings update \ --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=true
지정된 폴더에 Model Armor 최소 기준 설정을 사용 설정합니다.
gcloud model-armor floorsettings update \ --full-uri='folders/FOLDER_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=true
다음을 바꿉니다.
PROJECT_ID
는 템플릿의 프로젝트 ID입니다.FOLDER_ID
는 템플릿의 폴더 ID입니다.ORGANIZATION_ID
는 템플릿의 조직 ID입니다.
REST
curl -X PATCH -d '{"enable_floor_setting_enforcement" : "true"}' -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting?update_mask=enable_floor_setting_enforcement"
PROJECT_ID
를 템플릿의 프로젝트 ID로 바꿉니다.
Model Armor 최소 기준 설정을 사용하지 않으려면 filter_config
플래그를 empty
로 설정하거나 enable_floor_setting_enforcement
플래그를 false
로 설정합니다.
gcloud
gcloud model-armor floorsettings get
--full-uri='projects/PROJECT_ID/locations/global/floorSetting'
Flags --full-uri = name of the floor setting resource
--enable-floor-setting-enforcement=false
--filterConfig = {}
PROJECT_ID
를 템플릿의 프로젝트 ID로 바꿉니다.
curl -X PATCH
-H "Content-Type: application/json"
-H "Authorization: Bearer $(gcloud auth print-access-token)"
-d '{"filterConfig" :{},"enable_floor_setting_enforcement":"false"}'
"https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
PROJECT_ID
를 템플릿의 프로젝트 ID로 바꿉니다.
Model Armor 최소 기준 설정 보기
다음 명령어를 실행하여 Model Armor 최소 기준 설정을 확인합니다.
gcloud
특정 프로젝트의 Model Armor 최소 기준 설정을 확인합니다.
gcloud model-armor floorsettings describe \ --full-uri='projects/PROJECT_ID/locations/global/floorSetting'
특정 조직의 Model Armor 최소 기준 설정을 확인합니다.
gcloud model-armor floorsettings describe \ --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting'
특정 폴더의 Model Armor 최소 기준 설정을 확인합니다.
gcloud model-armor floorsettings describe \ --full-uri='folders/FOLDER_ID/locations/global/floorSetting'
다음을 바꿉니다.
PROJECT_ID
는 템플릿의 프로젝트 ID입니다.FOLDER_ID
는 템플릿의 폴더 ID입니다.ORGANIZATION_ID
는 템플릿의 조직 ID입니다.
REST
특정 프로젝트의 Model Armor 최소 기준 설정을 확인합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
특정 폴더의 Model Armor 최소 기준 설정을 확인합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://modelarmor.googleapis.com/v1/folders/FOLDER_ID/locations/global/floorSetting"
특정 조직의 Model Armor 최소 기준 설정을 확인합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://modelarmor.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/floorSetting"
다음을 바꿉니다.
PROJECT_ID
는 템플릿의 프로젝트 ID입니다.FOLDER_ID
는 템플릿의 폴더 ID입니다.ORGANIZATION_ID
는 템플릿의 조직 ID입니다.
Python
이 명령어를 실행하려면 먼저 Python에서 Model Armor 클라이언트를 초기화합니다.
특정 프로젝트의 Model Armor 최소 기준 설정을 확인합니다.
request = modelarmor_v1.GetFloorSettingRequest( floor_setting={ "name": "projects/PROJECT_ID/locations/global/floorSetting", } ) response = client.get_floor_setting(request=request)
특정 폴더의 Model Armor 최소 기준 설정을 확인합니다.
request = modelarmor_v1.GetFloorSettingRequest( floor_setting={ "name": "folders/FOLDER_ID/locations/global/floorSetting", } ) response = client.get_floor_setting(request=request)
특정 조직의 Model Armor 최소 기준 설정을 확인합니다.
request = modelarmor_v1.GetFloorSettingRequest( floor_setting={ "name": "organizations/ORGANIZATION_ID/locations/global/floorSetting", } ) response = client.get_floor_setting(request=request)
다음을 바꿉니다.
PROJECT_ID
는 템플릿이 속한 프로젝트의 ID입니다.FOLDER_ID
는 템플릿의 폴더 ID입니다.ORGANIZATION_ID
는 템플릿의 조직 ID입니다.
Model Armor 최소 기준 설정 업데이트
다음 명령어를 실행하여 Model Armor 최소 기준 설정을 업데이트합니다.
gcloud
gcloud model-armor floorsettings update --full-uri=<full-uri-of-the-floorsetting>
명령어 예시:
gcloud model-armor floorsettings update \
--malicious-uri-filter-settings-enforcement=ENABLED \
--pi-and-jailbreak-filter-settings-enforcement=DISABLED \
--pi-and-jailbreak-filter-settings-confidence-level=LOW_AND_ABOVE \
--basic-config-filter-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "low_and_above", "filterType": "HARASSMENT"}, {"confidenceLevel": "high", "filterType": "SEXUALLY_EXPLICIT"}]'
--full-uri='folders/FOLDER_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=true
FOLDER_ID
를 템플릿 폴더의 ID로 바꿉니다.
REST
특정 프로젝트의 Model Armor 최소 기준 설정을 업데이트합니다.
curl -X PATCH -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }, "rai_settings":{"rai_filters":{"filter_type":"DANGEROUS", "confidence_level":"LOW_AND_ABOVE" }, "rai_filters":{"filter_type":"HATE_SPEECH", "confidence_level":"LOW_AND_ABOVE" }, "rai_filters":{"filter_type":"HARASSMENT", "confidence_level":"LOW_AND_ABOVE" }, "rai_filters":{"filter_type":"SEXUALLY_EXPLICIT", "confidence_level":"LOW_AND_ABOVE" }}},"enable_floor_setting_enforcement":"true"}' -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token) "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
특정 폴더의 Model Armor 최소 기준 설정을 업데이트합니다.
curl -X PATCH \ -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }},"enable_floor_setting_enforcement":"true"}' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.googleapis.com/v1/folders/FOLDER_ID/locations/global/floorSetting"
특정 조직의 Model Armor 최소 기준 설정을 업데이트합니다.
curl -X PATCH \ -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }},"enable_floor_setting_enforcement":"true"}' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/floorSetting"
다음을 바꿉니다.
PROJECT_ID
는 템플릿의 프로젝트 ID입니다.FOLDER_ID
는 템플릿의 폴더 ID입니다.ORGANIZATION_ID
는 템플릿의 조직 ID입니다.
업데이트 명령어는 다음 응답을 반환합니다.
{ "name": "projects/PROJECT_ID/locations/global/floorSetting", "updateTime": "2024-12-19T15:36:21.318191Z", "filterConfig": { "piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED" }, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" } } }
Python
이 명령어를 실행하려면 먼저 Python에서 Model Armor 클라이언트를 초기화합니다.
특정 프로젝트의 Model Armor 최소 기준 설정을 업데이트합니다.
request = modelarmor_v1.UpdateFloorSettingRequest( floor_setting={ "name": "projects/PROJECT_ID/locations/global/floorSetting", "filter_config": FILTER_CONFIG, "enable_floor_setting_enforcement": True } ) response = client.update_floor_setting(request=request)
특정 폴더의 Model Armor 최소 기준 설정을 업데이트합니다.
request = modelarmor_v1.UpdateFloorSettingRequest( floor_setting={ "name": "folders/FOLDER_ID/locations/global/floorSetting", "filter_config": FILTER_CONFIG "enable_floor_setting_enforcement": True } ) response = client.update_floor_setting(request=request)
특정 조직의 Model Armor 최소 기준 설정을 업데이트합니다.
request = modelarmor_v1.UpdateFloorSettingRequest( floor_setting={ "name": "organizations/ORGANIZATION_ID/locations/global/floorSetting", "filter_config": FILTER_CONFIG "enable_floor_setting_enforcement": True } ) response = client.update_floor_setting(request=request)
다음을 바꿉니다.
FILTER_CONFIG
는 템플릿의 필터 구성입니다.PROJECT_ID
는 템플릿이 속한 프로젝트의 ID입니다.FOLDER_ID
: 템플릿 폴더의 ID입니다.ORGANIZATION_ID
는 템플릿의 조직 ID입니다.
최소 기준 설정 위반
각 Model Armor 서비스 발견 항목은 Model Armor 템플릿이 리소스 계층 구조 최소 기준 설정에 정의된 최소 보안 표준을 충족하지 못할 때 발생하는 최소 기준 설정 위반을 식별합니다. 최소 기준 설정은 템플릿 내의 각 필터에 허용되는 최소한의 엄격한 수준을 지정합니다. 최소 기준 설정 위반에는 필수 필터가 포함되지 않거나 해당 필터에 대한 최소 신뢰 수준을 충족하지 않는 템플릿이 포함될 수 있습니다. 위반이 감지되면 심각도가 높은 발견 항목이 Security Command Center에 게시됩니다. 이 발견 항목에는 위반된 최소 기준 설정, 정책을 준수하지 않는 템플릿, 위반에 관한 세부정보가 지정됩니다. 자세한 내용은 Model Armor 서비스 발견 항목을 참조하세요.
다음은 최소 기준 설정 위반 내에서 발견 항목의 source_properties 필드의 예시입니다.
{ "filterConfig": { "raiSettings": { "raiFilters": [ { "filterType": "HATE_SPEECH", "confidenceLevel": { "floorSettings": "LOW_AND_ABOVE", "template": "MEDIUM_AND_ABOVE" } }, { "filterType": "HARASSMENT", "confidenceLevel": { "floorSettings": "MEDIUM_AND_ABOVE", "template": "HIGH" } } ] }, "piAndJailbreakFilterSettings": { "confidenceLevel": { "floorSettings": "LOW_AND_ABOVE", "template": "HIGH" } }, "maliciousUriFilterSettings": { "floorSettings": "ENABLED", "template": "DISABLED" } } }
다음 단계
- Model Armor 개요에 대해 알아보기
- Model Armor 템플릿에 대해 알아보기
- 프롬프트 및 응답 정리
- Model Armor 문제 해결