Gemini Enterprise에서 Model Armor 사용 설정

이 문서에서는 Gemini Enterprise용 Model Armor를 사용 설정하는 방법을 설명합니다. Model Armor는 Gemini Enterprise 어시스턴트가 제공하는 프롬프트와 응답을 사전에 검사하여 AI 애플리케이션의 보안과 안전을 강화하는 Google Cloud 서비스 입니다. 이를 통해 다양한 위험으로부터 보호하고 책임감 있는 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의 동작을 구성할 수 있습니다.

모드 설명
사용자 상호작용 허용 이 모드에서 Gemini Enterprise는 Model Armor 검사 서비스를 사용할 수 없는 경우 사전 검사 없이 요청과 응답 이 전달되도록 허용하여 최종 사용자와의 지속적인 커뮤니케이션을 보장합니다. 하지만 이로 인해 검사되지 않은 메시지가 노출되거나 검사되지 않은 쿼리에 대한 답변이 제공될 수 있습니다.
모든 사용자 상호작용 차단 이 모드에서 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 템플릿을 만들고 사용할 수도 있고, 두 개의 별도 Model Armor 템플릿을 만들 수도 있습니다. 자세한 내용은 Create a Model Armor template을 참조하세요.

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

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

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

    Gemini Enterprise 앱 멀티 리전 Model Armor 멀티 리전
    전역
    • 미국 (미국 내 여러 리전)
    • 유럽 연합 (유럽 연합의 여러 리전)
    미국 (미국 내 여러 리전) 미국 (미국 내 여러 리전)
    유럽 연합 (유럽 연합의 여러 리전) 유럽 연합 (유럽 연합의 여러 리전)
  • Google은 Gemini Enterprise 앱용 Model Armor 템플릿에서 클라우드 로깅을 구성하지 않는 것이 좋습니다. 이 구성은 개인 로그 뷰어(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_MODE정의되지 않은 경우 Model Armor 처리 실패 시 Gemini Enterprise 어시스턴트와의 모든 상호작용이 차단 되는 기본 모드인 FAIL_CLOSED`FAIL_CLOSED`가 사용됩니다. 자세한 내용은 Model Armor를 사용할 수 없는 경우 Gemini Enterprise에서 지원하는 두 가지 모드를 참조하세요.

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

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

정책을 위반하는 요청을 검사 및 차단 하도록 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는 서비스수준계약을 제공합니다. Model Armor를 사용하도록 Gemini Enterprise가 구성된 경우 차단된 쿼리는 오류 시 허용 또는 오류 시 종료 모드 사용 여부와 관계없이 SLA 위반으로 간주되지 않습니다.
규정 준수 Gemini Enterprise와 Model Armor는 모두 다양한 규정 준수 인증을 제공합니다. 함께 사용하면 유효한 규정 준수 인증은 두 제품의 공통 하위 집합입니다. Google 은 두 제품의 규정 준수 인증을 검토하여 규제 요구사항을 충족하는지 확인하는 것이 좋습니다.
문서 및 이미지 검사 텍스트 프롬프트 외에도 Model Armor 통합은 문서 (예: PDF) 및 이미지를 지원합니다. Model Armor 통합은 Gemini Enterprise 어시스턴트에 업로드할 때만 다음 파일을 검사합니다.
  • 문서 (예: PDF, CSV, 텍스트 파일)
  • 직접 업로드하는 이미지
  • 직접 업로드하는 다른 파일 및 문서 내에 포함된 이미지
문서 내의 파일 또는 이미지가 구성된 정책을 위반하는 경우 전체 파일 또는 문서가 삭제되고 요청에서 제외됩니다. 지원되는 문서 유형 목록은 문서 검사를 참조하세요.
검사된 상호작용 및 에이전트 사용자 요청을 검사하도록 Model Armor 템플릿이 구성된 경우 Gemini Enterprise에서 다음 에이전트와의 상호작용만 검사됩니다. ADK, A2A, Dialogflow와 같은 조직의 커스텀 에이전트와의 상호작용은 검사되지 않습니다.

다음 단계