Gemini Code Assist Standard 및 Enterprise 로깅 구성

이 문서에서는 Google Cloud 콘솔이나 API를 사용하여 프로젝트의 Gemini Code Assist Standard 및 Enterprise 로깅을 구성하는 방법을 설명합니다.

제한사항

  • Gemini Code Assist Standard 및 Enterprise 로그 데이터 기록은 IDE 내에서 Gemini Code Assist와의 사용자 상호작용으로 제한됩니다.

  • 기본적으로 Gemini Code Assist 로그는 프로젝트별로 수집됩니다. 여러 프로젝트에서 로그를 수집하도록 중앙 집중식 프로젝트를 구성하는 방법은 다중 프로젝트 로깅 설정을 참조하세요.

  • GitHub의 Gemini Code Assist 는 Cloud Logging을 사용한 로깅을 지원하지 않습니다.

시작하기 전에

Google Cloud 프로젝트가 결제 계정에 연결되어 있는지 확인합니다.

IAM 권한 확인

Gemini Code Assist 로깅을 구성하려면 특정 IAM 권한이 필요합니다. 최소 권한의 원칙을 따르려면 필요한 권한만 포함된 커스텀 역할을 부여하세요.

관리자에게 다음 권한이 포함된 커스텀 역할을 만들어 달라고 요청합니다.

  • serviceusage.services.enable: 프로젝트에 API를 사용 설정합니다.
  • cloudaicompanion.loggingSettings.create: 로깅 설정을 만듭니다.
  • cloudaicompanion.loggingSettings.get: 로깅 설정을 봅니다.
  • cloudaicompanion.loggingSettings.list: 로깅 설정을 나열합니다.
  • cloudaicompanion.loggingSettings.update: 로깅 설정을 업데이트합니다.
  • cloudaicompanion.loggingSettingBindings.create: 로깅 설정을 프로젝트에 바인딩합니다.
  • cloudaicompanion.loggingSettingBindings.get: 로깅 설정 바인딩을 봅니다.
  • cloudaicompanion.loggingSettingBindings.list: 로깅 설정 바인딩을 나열합니다.

또는 사전 정의된 역할인 Google Cloud를 위한 Gemini 설정 관리자 (roles/cloudaicompanion.settingsAdmin) 및 서비스 사용량 관리자 (roles/serviceusage.serviceUsageAdmin)를 부여할 수 있습니다. 하지만 이러한 역할에는 Gemini의 다른 관리자 설정을 구성하고 Google Cloud 서비스 사용량을 관리하는 데 필요한 권한이 포함되어 있으며, Google Cloud이는 로깅 설정을 구성하는 데 필요한 것보다 많을 수 있습니다.

Gemini Code Assist 로깅 구성

다음 섹션에서는 Cloud Logging에서 Gemini Code Assist Standard 및 Enterprise 활동의 수집 및 저장을 사용 설정하는 데 필요한 단계를 제공합니다. 해당되는 활동으로는 다음과 같은 것들이 있습니다.

  • 사용자 입력, 문맥 정보, 응답 등 Gemini Code Assist Standard 및 Enterprise 프롬프트 및 응답 로그

  • 원격 분석 메타데이터, 사용자가 수락한 코드 줄 등 Gemini Code Assist Standard 및 Enterprise 메타데이터 로그

두 가지 유형의 로그에 대한 자세한 내용은 Gemini Code Assist 로그 보기를 참조하세요.

프로젝트에서 Gemini Code Assist 로깅 사용 설정

다음 옵션 중 하나를 선택합니다.

콘솔

  1. 프로젝트에서 Cloud Logging API를 사용 설정했는지 확인합니다.

  2. 콘솔 Google Cloud 에서 Gemini 관리자 페이지로 이동합니다.

    Gemini 관리자로 이동

  3. 왼쪽 탐색 메뉴에서 설정 을 클릭합니다.

  4. (선택사항) Code Assist 메타데이터 로깅 을 클릭하여 프로젝트에서 Gemini Code Assist Standard 및 Enterprise 사용자가 생성한 메타데이터를 기록합니다.

  5. (선택사항) Code Assist 프롬프트 및 응답 로깅 을 클릭하여 프로젝트에서 Gemini Code Assist Standard 및 Enterprise 사용자가 생성한 프롬프트와 대답을 기록합니다.

  6. 변경사항 저장을 클릭합니다.

API

Gemini Code Assist Standard 및 Enterprise의 로깅을 사용 설정하려면 loggingSettings 리소스를 사용하여 원하는 로깅 설정을 정의하고 loggingSettings.settingBindings 리소스를 사용하여 설정을 프로젝트에 바인딩합니다.

  1. 프로젝트에서 Cloud Logging API 를 사용 설정했는지 확인합니다.

  2. 설정 및 설정별 값을 만듭니다.

    1. 토큰을 가져옵니다.

      TOKEN=$(gcloud auth print-access-token)
      
  3. Gemini Code Assist Standard 및 Enterprise 로그를 사용 설정합니다. 사용자 로그와 메타데이터 로그는 각각 log_prompts_and_responseslog_metadata 필드를 사용하여 사용 설정됩니다. 필드 중 하나를 사용 설정하지 않으려면 요청에서 제외합니다.

    1. 다음 명령어를 실행하여 설정을 만듭니다.

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "log_prompts_and_responses": true,
          "log_metadata": true,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=LOGS_SETTING_ID"
      

      다음을 바꿉니다.

      • CONTAINER_PROJECT_NAME: 바인딩 리소스가 저장된 프로젝트의 프로젝트 ID. 이는 바인딩의 상위 프로젝트입니다.
      • LOGS_SETTING_ID: 고유한 설정 이름(예: gcalm)

      명령어가 성공하면 log_prompts_and_responseslog_metadatatrue로 설정된 응답 본문이 반환됩니다.

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_prompts_and_responses": true,
        "log_metadata": true
      }
      
    2. 다음 명령어를 실행하여 Gemini Code Assist Standard 및 Enterprise 로그 설정 바인딩을 만듭니다.

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "target": "projects/TARGET_PROJECT_NAME"
          }' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID/settingBindings?setting_binding_id=LOGS_BINDING_ID"
      

    다음을 바꿉니다.

    • TARGET_PROJECT_NAME: 바인딩을 바인딩할 대상 프로젝트. 컨테이너 프로젝트와 동일한 경우가 많습니다. 하지만 설정 리소스가 중복되지 않도록 설정을 여러 프로젝트에 바인딩할 수 있습니다.
    • LOGS_BINDING_ID: 설정을 만들 때와 동일한 SETTING_ID를 사용하지만 b1을 추가합니다. 예를 들어, gcalmb1을 사용합니다.

    명령어가 성공하면 다음 형식의 작업 메타데이터가 반환됩니다.

    {
      "name": "projects/<var>CONTAINER_PROJECT_NAME</var>/locations/global/operations/operation-1737646069712-62c6140bb04bb-49261230-43701daf",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata",
        "createTime": "2025-01-23T15:27:50.076075570Z",
        "target": "projects/<var>TARGET_PROJECT_NAME</var>/locations/global/loggingSettings/<var>LOGS_SETTING_ID</var>/settingBindings/<var>LOGS_BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

프로젝트에서 Gemini Code Assist 로깅 사용 중지

다음 옵션 중 하나를 선택합니다.

콘솔

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

    Gemini 관리자로 이동

  2. 왼쪽 탐색 메뉴에서 설정 을 클릭합니다.

  3. Code Assist 메타데이터 로깅 을 클릭하여 프로젝트에서 Gemini Code Assist Standard 및 Enterprise 사용량의 메타데이터 기록을 사용 중지합니다.

  4. 변경사항 저장을 클릭합니다.

API

Gemini Code Assist Standard 및 Enterprise의 로깅을 사용 중지하려면 loggingSetting 메서드를 사용합니다.