Gemini Code Assist Standard 및 Enterprise 로깅 구성

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

제한사항

Google Cloud 로그 데이터 녹화의 Gemini Standard 및 Enterprise는 IDE 내에서 Gemini Code Assist와의 사용자 상호작용으로 제한됩니다.

또한 사용자가 VS Code 원격 분석을 사용 중지한 경우 Google Cloud용 Gemini는 Gemini Code Assist Standard 및 Enterprise의 데이터를 로깅하지 않습니다.

시작하기 전에

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

(선택사항) IAM 권한 부여

Gemini Code Assist Standard 및 Enterprise 로깅을 구성하려면 다음 섹션에 자세히 설명된 특정 Identity and Access Management 권한이 있어야 합니다. 이러한 권한이 커스텀 IAM 역할에 추가되었는지 확인합니다.

또는 모든 Google Cloud용 Gemini 관리자 설정을 사용하기 위해 필요한 모든 필수 권한이 포함된 Google Cloud용 Gemini 설정 관리자 (roles/cloudaicompanion.settingsAdmin) IAM 사전 정의된 역할을 부여할 수 있습니다.

(선택사항) 설정 및 대상에 권한 바인딩

Google API Console에서 Gemini Code Assist Standard 및 Enterprise 관리자 설정을 구성하는 경우 이 섹션을 건너뛸 수 있습니다.

Gemini for Google Cloud API를 사용하여 Gemini Code Assist Standard 및 Enterprise 관리자 설정을 구성하려면 먼저 설정을 만든 다음 이러한 설정과 특정 제품 (예: Gemini Cloud Assist 또는 Gemini Code Assist)의 타겟 (예: 인스턴스, 주제, 프로젝트)을 '연결'하는 바인딩을 만들어야 합니다.

설정을 만들고 업데이트할 수 있는 모든 권한은 프로젝트 수준입니다.

Gemini Code Assist 로깅 구성

다음 섹션에서는 Cloud Logging에서 Gemini Code Assist Standard 및 Enterprise 활동을 수집하고 저장하는 데 필요한 단계를 설명합니다.

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

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

두 유형의 로그에 관한 자세한 내용은 Gemini 로그 보기를 참고하세요.

Gemini Code Assist 로깅 사용 설정

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

콘솔

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

  2. 구독을 소유한 프로젝트에 다음 Identity and Access Management 권한이 있는지 확인합니다.

    • loggingSettings.create
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsCreate
    • cloudaicompanion.settingBindings.loggingSettingsUse
    • cloudaicompanion.instances.queryEffectiveSettingBindings
  3. API Console에서 Gemini 관리자 페이지로 이동합니다.

    Google Cloud를 위한 Gemini로 이동

    Google Cloud를 위한 Gemini 페이지가 로드됩니다.

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

    설정 페이지가 로드됩니다.

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

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

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

API

Gemini Code Assist Standard 및 Enterprise의 로깅을 사용 설정하려면 loggingSetting 메서드를 사용하세요.

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

  2. 구독을 소유한 프로젝트에 다음 Identity and Access Management 권한이 있는지 확인합니다.

    • loggingSettings.create
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsCreate
    • cloudaicompanion.settingBindings.loggingSettingsUse
    • cloudaicompanion.instances.queryEffectiveSettingBindings
  3. 설정 및 설정별 값을 만듭니다.

    1. 토큰을 가져옵니다.

      TOKEN=$(gcloud auth print-access-token)
      
  4. Gemini Code Assist Standard 및 Enterprise 메타데이터 로그를 사용 설정합니다.

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

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

      다음을 바꿉니다.

      • CONTAINER_PROJECT_NAME: 상위 프로젝트 ID를 입력합니다.
      • SETTING_ID: 고유한 설정 이름을 입력합니다(예: Gemini Code Assist log metadata의 경우 gcalm1).

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

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "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/SETTING_ID/settingBindings?setting_binding_id=BINDING_ID"
      

    다음을 바꿉니다.

    • TARGET_PROJECT_NAME: 설정을 적용할 대상 프로젝트를 입력합니다.
    • SETTING_ID: 설정을 만들 때 같은 SETTING_ID를 사용하지만 b1를 추가합니다. 예를 들면 Gemini Code Assist log metadata의 경우 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>SETTING_ID</var>/settingBindings/<var>BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    
  5. Gemini Code Assist Standard 및 Enterprise 사용자 로그를 사용 설정합니다.

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

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

      다음을 바꿉니다.

      • CONTAINER_PROJECT_NAME: 상위 프로젝트 ID를 입력합니다.
      • SETTING_ID: 고유한 설정 이름을 입력합니다(예: Gemini Code Assist prompts and responses의 경우 gcapar1).

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

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

      curl \
        -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/SETTING_ID/settingBindings?setting_binding_id=BINDING_ID"
      

    다음을 바꿉니다.

    • TARGET_PROJECT_NAME: 설정을 적용할 대상 프로젝트를 입력합니다.
    • SETTING_ID: 설정을 만들 때 같은 SETTING_ID를 사용하지만 b1를 추가합니다. 예를 들면 Gemini Code Assist prompts and responses의 경우 gcaparb1을 사용합니다.

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

    {
      "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>SETTING_ID</var>/settingBindings/<var>BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

Gemini Code Assist 로깅 사용 중지

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

콘솔

  1. 구독을 소유한 프로젝트에 다음 Identity and Access Management 권한이 있는지 확인합니다.

    • loggingSettings.delete
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsDelete
    • cloudaicompanion.settingBindings.loggingSettingsUse
    • cloudaicompanion.instances.queryEffectiveSettingBindings
  2. API Console에서 Gemini 관리자 페이지로 이동합니다.

    Google Cloud를 위한 Gemini로 이동

    Google Cloud를 위한 Gemini 페이지가 로드됩니다.

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

    설정 페이지가 로드됩니다.

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

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

API

Gemini Code Assist Standard 및 Enterprise의 로깅을 사용 설정하려면 loggingSetting 메서드를 사용하세요.

  1. 구독을 소유한 프로젝트에 다음 Identity and Access Management 권한이 있는지 확인합니다.

    • loggingSettings.create
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsCreate
    • serviceusage.services.enable
  2. 설정 및 설정별 값을 만듭니다.

    1. 토큰을 가져옵니다.

      TOKEN=$(gcloud auth print-access-token)
      
  3. 다음 명령어를 실행하여 Gemini Code Assist Standard 및 Enterprise 메타데이터 로그 설정을 사용 중지합니다.

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

    다음을 바꿉니다.

    • CONTAINER_PROJECT_NAME: 상위 프로젝트 ID를 입력합니다.
    • SETTING_ID: 기존 설정 이름을 입력합니다(예: Gemini Code Assist log metadata의 경우 gcalm1).

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

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_metadata": false
      }
      
  4. 다음 명령어를 실행하여 Gemini Code Assist Standard 및 Enterprise 사용자 로그 설정을 사용 중지합니다.

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

    다음을 바꿉니다.

    • CONTAINER_PROJECT_NAME: 상위 프로젝트 ID를 입력합니다.
    • SETTING_ID: 기존 설정 이름을 입력합니다(예: Gemini Code Assist prompts and responses의 경우 gcapar1).

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

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_prompts_and_responses": false
      }
      

다음 단계