Gemini Enterprise에서 Model Armor 사용 설정

이 문서에서는 Gemini Enterprise에 Model Armor를 사용 설정하는 방법을 설명합니다. Model Armor는 Gemini Enterprise 어시스턴트가 제공하는 프롬프트와 대답을 선제적으로 검사하여 AI 애플리케이션의 보안과 안전을 강화하는 Google Cloud 서비스입니다. Gemini Enterprise 기본 데이터 스토어의 데이터(Google 데이터 소스 및 서드 파티 데이터 소스의 데이터 포함)도 사용자 프롬프트에 구성된 동일한 Model Armor 템플릿을 사용하여 선별됩니다. 이 콘텐츠를 선별하면 다양한 위험으로부터 보호하고 책임감 있는 AI 개발 관행을 보장할 수 있습니다.

Model Armor는 모든 Gemini Enterprise 버전에서 추가 비용 없이 지원됩니다.

Model Armor는 개인 식별 정보 (PII)를 삭제하거나 변경하지 않으며 민감한 정보를 마스킹하지 않습니다. 하지만 Gemini Enterprise는 Sensitive Data Protection 감지기를 트리거하는 Gemini Enterprise 어시스턴트의 응답을 차단합니다.

사용자 쿼리 또는 Gemini Enterprise 어시스턴트의 대답에서 발생할 수 있는 잠재적인 문제에 대한 Model Armor의 대답은 템플릿의 시행 유형에 따라 제어됩니다. 자세한 내용은 시행 유형 정의를 참조하세요.

  • 시행 유형이 검사 및 차단인 경우 Gemini Enterprise는 요청을 차단하고 오류 메시지를 표시합니다. 콘솔을 사용하여 Model Armor 템플릿을 만들 때의 기본 시행 유형입니다.

  • 시행 유형이 검사만인 경우 Gemini Enterprise는 요청이나 응답을 차단하지 않습니다.

Model Armor 검사 서비스를 사용할 수 없는 경우 다음 방법 중 하나로 작동하도록 Gemini Enterprise를 구성할 수 있습니다.

모드 설명
사용자 상호작용 허용 이 모드에서는 Model Armor 검사 서비스를 사용할 수 없는 경우 Gemini Enterprise가 사전 검사 없이 요청과 대답을 통과하도록 허용하여 최종 사용자와의 지속적인 커뮤니케이션을 보장합니다. 하지만 이로 인해 검사되지 않은 메시지가 노출되거나 검사되지 않은 쿼리에 대한 답변이 제공될 수 있습니다.
모든 사용자 상호작용 차단 이 모드에서는 Model Armor 검사 서비스를 사용할 수 없는 경우 Gemini Enterprise가 합법적인 요청과 대답을 포함한 모든 요청과 대답을 차단합니다.

시작하기 전에

  • 사용자 및 서비스 계정에 필요한 역할이 할당되어 있는지 확인합니다.

    • Gemini Enterprise에서 Model Armor를 사용 설정하려면 Gemini Enterprise 관리자(roles/discoveryengine.agentspaceAdmin) 역할이 필요합니다.

    • Model Armor 템플릿을 만들려면 Model Armor 관리자 역할(roles/modelarmor.admin)이 필요합니다.

    • Model Armor API를 호출하려면 Model Armor 사용자 역할(roles/modelarmor.user)이 필요합니다.

    • Model Armor 템플릿이 Gemini Enterprise 앱과 다른 프로젝트에 있는 경우 템플릿의 프로젝트에서 Gemini Enterprise 앱의 서비스 계정에 Model Armor 사용자 역할(roles/modelarmor.user)을 부여해야 합니다. 서비스 계정 ID는 service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com입니다. 여기서 PROJECT_NUMBER는 Gemini Enterprise 앱의 프로젝트 번호입니다.
  • Gemini Enterprise 앱을 만들었는지 확인합니다. 앱을 만들려면 앱 만들기를 참조하세요.

Model Armor 템플릿 만들기

사용자 프롬프트용과 대답용으로 두 개의 개별 Model Armor 템플릿을 구성하는 것이 좋습니다. 사용자 프롬프트와 대답은 위험 프로필과 목표가 다릅니다.

  • 사용자 프롬프트 템플릿: 악성 입력, 프롬프트 인젝션, 탈옥 시도, 민감한 정보가 전송되거나 업로드되지 않도록 방지하는 데 중점을 둡니다. 이 템플릿은 Jira 및 SharePoint, OneDrive, Teams, Outlook용 Microsoft 365 제휴 커넥터와 같은 Gemini Enterprise 기본 커넥터의 데이터도 선별합니다. 유해한 콘텐츠는 사용자 입력에서도 우려되는 사항이지만, Gemini에는 사용자 프롬프트에 대한 기본 제공 안전 검사가 포함되어 있으므로 사용자 프롬프트 템플릿에서 책임감 있는 AI 필터를 사용 중지할 수 있습니다.
  • 응답 출력 템플릿: 응답이 민감한 정보를 반환하거나 유출하거나, 유해하거나 브랜드에 맞지 않는 콘텐츠를 생성하거나, 악성 URL을 반환하지 않도록 방지하는 데 중점을 둡니다.

템플릿 만들기에 대한 자세한 내용은 Model Armor 템플릿 만들기를 참조하세요.

구성 고려사항

Gemini Enterprise 앱의 Model Armor 템플릿을 만들 때는 다음 구성을 고려하세요.

  • 한 프로젝트에서 Model Armor 템플릿을 중앙에서 만들고 여러 프로젝트에서 재사용할 수 있습니다. 프로젝트 간 템플릿을 사용하는 경우 시작하기 전에에 설명된 대로 프로젝트 간 권한이 구성되어 있는지 확인합니다.

  • 리전 필드에서 멀티 리전을 선택합니다. 다음 표에서는 Model Armor 템플릿 리전을 Gemini Enterprise 앱 리전에 매핑하는 방법을 보여줍니다.

    Gemini Enterprise 앱 멀티 리전 Model Armor 멀티 리전
    전역
    • US (미국 내 여러 리전)
    • EU (유럽 연합의 여러 리전)
    US (미국 내 여러 리전) US (미국 내 여러 리전)
    EU (유럽 연합의 여러 리전) EU (유럽 연합의 여러 리전)
  • Google은 Gemini Enterprise 앱의 Model Armor 템플릿에서 Cloud Logging을 구성하지 않는 것을 권장합니다. 이 구성은 비공개 로그 뷰어(roles/logging.privateLogViewer) IAM 역할이 있는 사용자에게 민감한 정보를 노출할 수 있습니다. 대신 다음 옵션을 고려하세요.

    • Model Armor 템플릿을 통과하는 데이터를 로깅해야 하는 경우 더 엄격한 액세스 제어를 제공하는 BigQuery와 같은 보안 스토리지로 로그를 다시 라우팅할 수 있습니다. 자세한 내용은 지원되는 대상으로 로그 라우팅을 참조하세요.

    • Model Armor에서 생성된 요청 및 응답 선별 판정을 분석하고 보고하도록 데이터 액세스 분석 감사 로그를 구성할 수 있습니다. 자세한 내용은 감사 로그 구성을 참조하세요.

  • 응답에 프롬프트 인젝션 및 탈옥 감지 필터를 사용 설정하지 마세요. 프롬프트 인젝션 및 탈옥 공격은 사용자 프롬프트에서 더 흔히 사용됩니다. 응답에 이 필터를 사용 설정하면 거짓양성이 증가하고 불필요한 지연 시간이 추가될 수 있습니다.

Model Armor 템플릿으로 Gemini Enterprise 앱 구성

다음 단계에서는 Gemini Enterprise 앱에 Model Armor 템플릿을 추가하는 방법을 설명합니다.

콘솔

  1. Google Cloud 콘솔에서 Gemini Enterprise 페이지로 이동합니다.

    Gemini Enterprise

  2. 구성하려는 앱의 이름을 클릭합니다.

  3. 구성 > 어시스턴트를 클릭합니다.

  4. Model Armor를 사용 설정하려면 Model Armor 사용 설정을 클릭합니다.

  5. 사용자 프롬프트용 Model Armor 템플릿 및 대답 출력용 Model Armor 템플릿에 대해 만든 Model Armor 템플릿의 리소스 이름을 입력합니다.

  6. Model Armor 처리 실패 시 사용자 상호작용을 차단하려면 Model Armor 처리 실패 시 사용자 상호작용 허용 전환 버튼을 사용 중지 위치로 클릭합니다. 자세한 내용은 Model Armor를 사용할 수 없을 때 Gemini Enterprise에서 지원하는 두 가지 모드를 참조하세요.

  7. Save and publish(저장 및 출시)를 클릭합니다.

REST

Gemini Enterprise 앱에 Model Armor 템플릿을 추가하려면 다음 명령어를 실행합니다.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=customerPolicy" \
-d '{
  "customerPolicy": {
    "modelArmorConfig": {
      "userPromptTemplate": "QUERY_PROMPT_TEMPLATE",
      "responseTemplate": "RESPONSE_PROMPT_TEMPLATE",
      "failureMode": "FAIL_MODE"
    }
  }
}'

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID입니다.
  • ENDPOINT_LOCATION: API 요청의 멀티 리전입니다. 다음 값 중 하나를 지정합니다.
    • 미국 멀티 리전의 경우 us
    • EU 멀티 리전의 경우 eu
    • 전역 위치의 경우 global
    자세한 내용은 데이터 스토어의 멀티 리전 지정을 참조하세요.
  • LOCATION: 데이터 스토어의 멀티 리전입니다(global, us 또는 eu).
  • APP_ID: 구성하려는 앱의 ID입니다.
  • QUERY_PROMPT_TEMPLATE: 기본 제공 커넥터의 사용자 프롬프트와 데이터를 검사하는 Model Armor 템플릿의 리소스 이름입니다.
    리소스 이름을 가져오려면 Model Armor 템플릿 보기 문서의 단계를 따르고 리소스 이름 값을 복사합니다.

  • RESPONSE_PROMPT_TEMPLATE: 만든 Model Armor 템플릿의 리소스 이름입니다. 동일한 프로젝트에서 만들거나 다른 프로젝트에서 만든 Model Armor 템플릿을 사용할 수 있습니다.

  • FAIL_MODE: Model Armor를 사용할 수 없는 경우의 작업 모드입니다(FAIL_CLOSED 또는 FAIL_OPEN).
    FAIL_MODE가 정의되지 않은 경우 FAIL_CLOSED가 기본 모드이며, Model Armor 처리 실패가 발생하면 Gemini Enterprise 어시스턴트와의 모든 상호작용이 차단됩니다. 자세한 내용은 Model Armor를 사용할 수 없을 때 Gemini Enterprise에서 지원하는 두 가지 모드를 참조하세요.

Model Armor 템플릿이 사용 설정되어 있는지 테스트

Model Armor 템플릿을 구성한 후 Gemini Enterprise 앱이 Model Armor 필터에 설정된 신뢰도 수준에 따라 Gemini Enterprise 어시스턴트의 사용자 프롬프트와 대답을 사전에 선별하고 차단하는지 테스트합니다.

Model Armor 템플릿이 정책을 위반하는 요청을 검사하고 차단하도록 구성된 경우 다음 정책 위반 메시지가 표시됩니다.

콘솔

예를 들어 다음과 같은 정책 위반 메시지가 표시됩니다.
앱에 사용 설정된 model-armor 템플릿을 위반할 때 사용자에게 표시되는 메시지를 보여줍니다.
Model Armor 정책 위반 메시지

REST

다음을 포함하는 JSON 응답:

answer.state = SKIPPED
answer.assist_skipped_reasons: [CUSTOMER_POLICY_VIOLATION]

Gemini Enterprise 앱에서 Model Armor 템플릿 삭제

Gemini Enterprise 앱에서 Model Armor 템플릿을 삭제하려면 Google Cloud 콘솔 또는 REST API를 사용합니다.

콘솔

Gemini Enterprise 앱에서 Model Armor 템플릿을 삭제하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Gemini Enterprise 페이지로 이동합니다.

    Gemini Enterprise

  2. 구성하려는 앱의 이름을 클릭합니다.

  3. 구성 > 어시스턴트를 클릭합니다.

  4. Model Armor를 사용 중지하려면 Model Armor 사용 설정 전환 버튼을 클릭하여 사용 중지 위치로 전환합니다.

  5. Save and publish(저장 및 출시)를 클릭합니다.

REST

Gemini Enterprise 앱에서 Model Armor 템플릿을 삭제하려면 다음 명령어를 실행합니다.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=customerPolicy" \
-d '{
  "customerPolicy": {
    "modelArmorConfig": {
    }
  }
}'

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID입니다.
  • PROJECT_NUMBER: Google Cloud 프로젝트 수
  • ENDPOINT_LOCATION: API 요청의 멀티 리전입니다. 다음 값 중 하나를 지정합니다.
    • 미국 멀티 리전의 경우 us
    • EU 멀티 리전의 경우 eu
    • 전역 위치의 경우 global
    자세한 내용은 데이터 스토어의 멀티 리전 지정을 참조하세요.
  • LOCATION: 데이터 스토어의 멀티 리전입니다(global, us 또는 eu).
  • APP_ID: 구성하려는 앱의 ID입니다.

감사 로그 구성

Model Armor는 데이터 액세스 분석 감사 로그를 작성할 수 있으며, 이를 사용하여 Model Armor에서 생성된 요청 및 대답 검사 결과를 분석하고 보고할 수 있습니다. 이러한 로그에는 Gemini Enterprise 어시스턴트의 사용자 쿼리나 대답이 포함되지 않으므로 보고 및 분석에 안전하게 사용할 수 있습니다. 자세한 내용은 Model Armor 감사 로깅을 참조하세요.

이러한 로그에 액세스하려면 비공개 로그 뷰어(roles/logging.privateLogViewer) IAM 역할이 있어야 합니다.

데이터 액세스 감사 로그 사용 설정

데이터 액세스 감사 로그를 사용 설정하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 IAM 및 관리자 > 감사 로그로 이동합니다.

  2. Model Armor API를 선택합니다.

  3. 권한 유형 섹션에서 데이터 읽기 권한 유형을 선택합니다.

  4. 저장을 클릭합니다.

데이터 액세스 분석 감사 로그 검사

데이터 액세스 감사 로그를 검사하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 로그 탐색기로 이동합니다.

  2. 로그에서 다음 메서드 이름을 검색합니다.

    • methodName: "google.cloud.modelarmor.v1.ModelArmor.SanitizeUserPrompt" 를 클릭하여 검사된 사용자 요청을 확인합니다.

    • google.cloud.modelarmor.v1.ModelArmor.SanitizeModelResponse 를 클릭하여 검토된 응답을 확인합니다.

Model Armor 사용 시 고려사항

Gemini Enterprise에서 Model Armor를 사용할 때는 다음 사항을 고려하세요.

익명화 및 마스킹 Model Armor가 Sensitive Data Protection 템플릿을 사용하여 프롬프트나 대답을 스캔할 때 Model Armor는 콘텐츠가 템플릿에 정의된 감지기 기준과 일치하는지 확인합니다. Sensitive Data Protection은 템플릿 구성을 기반으로 익명화를 지원하지만 Model Armor는 익명화되거나 마스킹된 데이터를 Gemini Enterprise에 다시 전달하지 않습니다. 콘텐츠가 Sensitive Data Protection의 감지기를 트리거하고 시행 유형이 INSPECT_AND_BLOCK인 경우 Gemini Enterprise는 요청 또는 대답을 익명화하는 대신 차단합니다.
토큰 한도 및 할당량 Gemini Enterprise에서 Model Armor를 사용하는 경우 토큰 한도가 없습니다. 하지만 Model Armor 평가의 총 처리량은 여전히 Gemini Enterprise 시스템 할당량과 Model Armor API 비율 제한에 의해 간접적으로 제어됩니다.
서비스수준계약 Gemini Enterprise는 서비스수준계약을 제공합니다. Gemini Enterprise가 Model Armor를 사용하도록 구성된 경우 fail-open 또는 fail-closed 모드 사용 여부와 관계없이 차단된 쿼리는 SLA 위반으로 간주되지 않습니다.
규정 준수 Gemini Enterprise와 Model Armor는 모두 다양한 규정 준수 인증을 제공합니다. 함께 사용하면 유효한 규정 준수 인증은 두 제품의 공통 하위 집합입니다. Google은 두 제품의 규정 준수 인증을 검토하여 규정 요구사항을 충족하는지 확인할 것을 권장합니다.
문서 및 이미지 심사 Model Armor 통합은 텍스트 프롬프트 외에도 문서 (예: PDF)와 이미지를 지원합니다. Model Armor 통합은 Gemini Enterprise 어시스턴트에 업로드할 때만 다음 파일을 검사합니다.
  • 문서 (예: PDF, CSV, 텍스트 파일)
  • 직접 업로드하는 이미지
  • 직접 업로드하는 다른 파일 및 문서에 포함된 이미지
문서 내의 파일 또는 이미지가 구성된 정책을 위반하는 경우 전체 파일 또는 문서가 삭제되고 요청에서 제외됩니다. 지원되는 문서 유형 목록은 문서 선별을 참조하세요.
즉시 사용 가능한 커넥터 Gemini Enterprise 기본 커넥터의 데이터는 사용자 프롬프트에 구성된 Model Armor 템플릿을 사용하여 검사됩니다. 여기에는 Jira와 같은 커넥터와 SharePoint, OneDrive, Teams, Outlook용 Microsoft 365 제휴 커넥터가 포함됩니다.
선별된 상호작용 및 상담사 Model Armor 템플릿이 사용자 요청을 검사하도록 구성된 경우 Gemini Enterprise에서는 다음 에이전트와의 상호작용만 검사됩니다.

다음 단계