기본적으로 Gemini Enterprise Agent Platform은 저장 중인 고객 콘텐츠를 암호화합니다. Agent Platform은 사용자 측의 추가 작업 없이 자동으로 암호화를 처리합니다. 이 옵션을 Google 기본 암호화라고 합니다.
암호화 키를 제어하려면 Agent Platform을 포함한 CMEK 통합 서비스와 함께 Cloud KMS에서 고객 관리 암호화 키(CMEK)를 사용하면 됩니다. Cloud KMS 키를 사용하면 보호 수준, 위치, 순환 일정, 사용 및 액세스 권한, 암호화 경계를 관리할 수 있습니다. Cloud KMS를 사용하면 키 사용을 추적하고 감사 로그를 보며 키 수명 주기를 제어할 수도 있습니다. Google에서 데이터를 보호하는 대칭 키 암호화 키(KEK)를 소유하고 관리하는 대신 사용자가 Cloud KMS에서 이러한 키를 제어하고 관리할 수 있습니다.
CMEK로 리소스를 설정한 후 Agent Platform 리소스에 액세스하는 환경은 Google 기본 암호화를 사용하는 것과 유사합니다. 암호화 옵션에 대한 자세한 내용은 고객 관리 암호화 키(CMEK)를 참조하세요.
이 가이드에서는 Gemini Enterprise Agent Platform 리소스에 CMEK를 사용할 때의 이점을 설명하고 CMEK를 사용하도록 학습 작업을 구성하는 방법을 안내합니다.
Colab Enterprise에 CMEK를 사용하는 방법은 Colab Enterprise CMEK 페이지를 참조하세요. Gemini Enterprise Agent Platform Workbench 인스턴스에 CMEK를 사용하는 방법은 Agent Platform Workbench 인스턴스 CMEK 페이지를 참고하세요.
Gemini Enterprise Agent Platform 리소스의 CMEK
다음 섹션에서는 작업에 CMEK를 구성하기 전에 이해해야 하는 Gemini Enterprise Agent Platform 리소스의 CMEK에 관한 기본 정보를 설명합니다.
CMEK의 이점
일반적으로 CMEK는 데이터를 암호화하는 데 사용되는 키를 완전히 제어해야 하는 경우에 가장 유용합니다. CMEK를 사용하면 Cloud KMS 내에서 키를 관리할 수 있습니다. 예를 들어 키를 순환 또는 사용 중지하거나 Cloud KMS API를 사용하여 순환 일정을 설정할 수 있습니다. CMEK를 사용 설정하는 시기와 이유를 포함한 일반적인 CMEK에 대한 자세한 내용은 Cloud KMS 문서를 참조하세요.
AutoML 또는 커스텀 학습 작업을 실행하면 Gemini Enterprise Agent Platform에서 관리하는 하나 이상의 가상 머신 (VM) 인스턴스에서 코드가 실행됩니다. Gemini Enterprise Agent Platform 리소스에 대해 CMEK를 사용 설정하면 Google에서 관리하는 키가 아닌 사용자가 지정한 키를 사용하여 이러한 VM의 부팅 디스크에 있는 데이터를 암호화합니다. CMEK 키는 다음과 같은 종류의 데이터를 암호화합니다.
- VM의 코드 사본
- 코드에 의해 로드되는 모든 데이터
- 코드에 의해 로컬 디스크에 저장되는 모든 임시 데이터
- AutoML 학습 모델
- 미디어 데이터 세트에 업로드된 미디어 파일(데이터)
일반적으로 CMEK 키는 작업 이름 및 리전이나 데이터 세트의 표시 이름과 같은 작업과 관련된 메타데이터를 암호화하지 않습니다. 작업과 관련된 메타데이터는 항상 Google의 기본 암호화 메커니즘을 사용하여 암호화됩니다.
데이터 세트의 경우 사용자가 데이터 세트로 데이터를 가져오면 데이터 항목과 주석은 CMEK로 암호화됩니다. 데이터 세트 표시 이름은 CMEK로 암호화되지 않습니다.
모델의 경우 저장 장치(예: 디스크)에 저장된 모델은 CMEK로 암호화됩니다. 모든 모델 평가 결과는 CMEK로 암호화됩니다.
엔드포인트의 경우 엔드포인트에서 모델 배포에 사용되는 모든 모델 파일은 CMEK로 암호화됩니다. 메모리 내 데이터는 포함되지 않습니다.
일괄 예측의 경우 일괄 예측 작업을 실행하는 데 사용되는 모든 임시 파일(예: 모델 파일, 로그, VM 디스크)이 CMEK로 암호화됩니다. 일괄 예측 결과는 사용자가 제공한 대상에 저장됩니다. 따라서 Agent Platform은 대상의 암호화 구성의 기본값을 따릅니다. 그렇지 않은 경우에는 결과가 CMEK로 암호화됩니다.
데이터 라벨 지정의 경우, 모든 입력 파일(이미지, 텍스트, 테이블 형식), 임시 토론(예: 질문, 의견), 출력(라벨 지정 결과)은 CMEK로 암호화됩니다. 주석 사양 표시 이름은 CMEK로 암호화되지 않습니다.
에이전트의 경우 CMEK는 에이전트 개발에 사용되는 모든 소스 파일을 암호화합니다. 또한 에이전트의 컨테이너 이미지와 배포된 인스턴스도 CMEK로 암호화됩니다.
외부 키
Cloud External Key Manager(Cloud EKM)를 사용하여 Google Cloud내에서 데이터를 암호화하기 위해 관리하는 외부 키를 만들 수 있습니다.
Cloud EKM 키를 사용하는 경우 Google은 외부 관리 키의 가용성을 제어 할 수 없습니다. 외부 관리 키로 암호화된 리소스에 대한 액세스를 요청한 다음 키를 사용할 수 없으면 Gemini Enterprise Agent Platform이 요청을 거부합니다. 키를 사용할 수 있게 되면 리소스에 액세스할 수 있을 때까지 최대 10분이 지연될 수 있습니다.
외부 키 사용 시 고려사항은 Cloud External Key Manager를 참조하세요.
다른 Google Cloud 제품에 CMEK 사용
Gemini Enterprise Agent Platform 리소스에 CMEK를 구성해도 Gemini Enterprise Agent Platform과 함께 사용하는 다른 Google Cloud 제품에 CMEK가 자동으로 구성되지는 않습니다. CMEK를 사용하여 다른Google Cloud 제품에서 데이터를 암호화하려면 추가 구성이 필요합니다. 예를 들면 다음과 같습니다.
Cloud Storage: 커스텀 학습을 수행하면 Agent Platform은 일반적으로 Cloud Storage에서 데이터를 로드합니다. Python 학습 애플리케이션과 사전 빌드된 컨테이너를 학습에 사용하면 Gemini Enterprise Agent Platform도 Cloud Storage 버킷에서 코드를 로드합니다. 또한 일부 학습 작업은 학습된 모델 아티팩트(예: TensorFlow SaveModel 디렉터리)를 출력의 일부로 Cloud Storage 버킷으로 내보냅니다.
Cloud Storage의 데이터가 CMEK로 암호화되도록 하려면 고객 관리 암호화 키 사용에 대한 Cloud Storage 가이드를 참조하세요. 암호화 키를 Gemini Enterprise Agent Platform에서 사용하는 Cloud Storage 버킷의 기본 키로 설정하거나 특정 객체를 암호화하는 데 사용할 수 있습니다.
Artifact Registry: 학습에 커스텀 컨테이너를 사용하는 경우 Artifact Registry에서 컨테이너 이미지를 로드하도록 Agent Platform을 구성할 수 있습니다.
컨테이너 이미지를 CMEK로 암호화하려면 CMEK에 대한 Artifact Registry 가이드를 참조하세요.
Cloud Logging: 학습 작업을 실행하면 Gemini Enterprise Agent Platform 학습이 로그를 Logging에 저장합니다. CMEK를 사용하여 이러한 로그를 암호화하려면 Cloud Logging용 CMEK 구성을 참조하세요.
현재 CMEK 지원 리소스
CMEK가 적용되는 현재 Gemini Enterprise Agent Platform 리소스는 다음과 같습니다. 미리보기 기능에 대한 CMEK 지원도 미리보기 상태입니다.
| 리소스 | 암호화 자료 | 문서 링크 |
|---|---|---|
| 데이터 세트 |
|
|
| 모델 |
|
|
| 엔드포인트 |
|
|
| CustomJob |
|
|
| HyperparameterTuningJob |
|
|
| TrainingPipeline |
|
|
| BatchPredictionJob (AutoML 이미지 batchPrediction 제외) |
|
|
| ModelDeploymentMonitoringJob |
|
|
| PipelineJob |
|
|
| MetadataStore |
|
|
| 텐서보드 |
|
|
| Featurestore |
|
|
| 색인 |
|
|
| IndexEndpoint |
|
|
| Colab Enterprise 런타임 |
|
|
| Colab Enterprise 노트북 |
|
|
| Agent Runtime |
|
|
| Agent Platform 샌드박스 |
|
|
ServingProfile
|
|
생성형 AI 조정 파이프라인을 위한 CMEK 지원
CMEK 지원은 다음 모델의 조정 파이프라인에 제공됩니다.
BERTT5image-generation (GPU)
제한사항
다음에서는 CMEK 지원이 제공되지 않습니다.
- AutoML 이미지 모델 일괄 예측 (
BatchPredictionJob) - TPU 조정
- 전역 엔드포인트를 사용하도록 구성된 Agent Platform 메모리 뱅크 또는 Agent Platform 세션 Cloud KMS에서는 암호화 키가 고정된 지리적 데이터 레지던시 경계 내에 있어야 합니다. 전역 리전에는 물리적 지리적 경계가 없으므로 현지화된 리전 또는 멀티 리전 리소스를 암호화할 수 없습니다.
- 리소스가 없는 API의 프로필 CMEK 제공은
us및eu멀티 리전의 Gemini Live API 및 Interactions API로 제한됩니다. 전역 지역은 지원되지 않습니다.
리소스의 CMEK 구성
다음 섹션에서는 Cloud Key Management Service에서 키링 및 키를 만들고, 키에 대한 에이전트 플랫폼 암호화 및 복호화 권한을 부여하고, CMEK를 사용하는 리소스를 만드는 방법을 설명합니다.
시작하기 전에
이 가이드에서는 2개의 개별 Google Cloud 프로젝트를 사용하여 Agent Platform 데이터에 대해 CMEK를 구성한다고 가정합니다.
- 암호화 키를 관리하기 위한 프로젝트('Cloud KMS 프로젝트'라고 함)
- Cloud Storage에서 Agent Platform 데이터 또는 출력에 액세스하고 사용 사례에 필요한 다른 Google Cloud제품과 상호작용하는 프로젝트('AI Platform 프로젝트'라고 함)
이 권장 설정은 업무 분리를 지원합니다.
또는 전체 가이드에 대해 단일 Google Cloud 프로젝트를 사용할 수 있습니다. 이를 위해 Cloud Platform KMS 프로젝트를 참조하는 다음 작업과 AI Platform 프로젝트를 참조하는 작업 모두에 동일한 프로젝트를 사용합니다.
Cloud KMS 프로젝트 설정
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud KMS API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud KMS API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
AI Platform 프로젝트 설정
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Google Cloud CLI 설정
gcloud CLI는 이 가이드의 일부 단계에 필요하며 다른 경우에는 선택 사항입니다.Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.
gcloud init외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
키링 및 키 만들기
키링과 키를 만들려면 Cloud KMS 가이드에서 대칭 키 만들기를 따르세요. 키링을 만들 때 Agent Platform 작업을 지원하는 리전을 키링의 위치로 지정합니다. Agent Platform 학습은 리소스와 키가 동일한 리전을 사용하는 경우에만 CMEK를 지원합니다. 키링에 이중 리전, 멀티 리전 또는 전역 위치를 지정해서는 안됩니다.
Cloud KMS 프로젝트에서 키링과 키를 만들어야 합니다.
Agent Platform 권한 부여
리소스에 CMEK를 사용하려면 키를 사용하여 데이터를 암호화하고 복호화하는 권한을 Agent Platform에 부여해야 합니다. 에이전트 플랫폼은 Google 관리형 서비스 에이전트를 사용하여 리소스를 사용하는 작업을 실행합니다. 이 서비스 계정은 다음 형식의 이메일 주소로 식별할 수 있습니다.
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
AI Platform 프로젝트에 적합한 서비스 계정을 찾으려면 Google Cloud 콘솔의 IAM 페이지로 이동하여 AI_PLATFORM_PROJECT_NUMBER 변수를 변경하는 AI Platform 프로젝트의 프로젝트 번호와 함께 이 이메일 주소 형식과 일치하는 구성원을 찾습니다. 또한 이름이 Agent Platform Service Agent인 서비스 계정도 있습니다.
이 서비스 계정의 이메일 주소를 기록해두고 다음 단계에서 키를 사용해 데이터를 암호화 및 복호화할 수 있는 권한을 부여하는 데 이 계정을 사용합니다. Google Cloud 콘솔을 사용하거나 Google Cloud CLI를 사용하여 권한을 부여할 수 있습니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 보안을 클릭하고 키 관리를 선택합니다. 이렇게 하면 암호화 키 페이지로 이동하고 Cloud KMS 프로젝트가 선택됩니다.
키링 세부정보 페이지로 이동하려면 본 가이드의 이전 섹션에서 만든 키링의 이름을 클릭합니다.
이 가이드의 이전 섹션에서 만든 키의 체크박스를 선택합니다. 키 이름으로 라벨이 지정된 정보 패널이 아직 열려 있지 않은 경우 정보 패널 표시를 클릭합니다.
정보 패널에서 구성원 추가를 클릭하여 'KEY_NAME'에 구성원 추가 대화상자를 엽니다. 이 대화상자에서 다음 작업을 수행합니다.
- 새 구성원 상자에 이전 섹션에서 기록해둔 서비스 계정 이메일 주소를 입력합니다.
service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com 역할 선택 드롭다운 목록에서 Cloud KMS를 클릭한 다음 Cloud KMS CryptoKey Encrypter/Decrypter 역할을 선택합니다.
저장을 클릭합니다.
- 새 구성원 상자에 이전 섹션에서 기록해둔 서비스 계정 이메일 주소를 입력합니다.
gcloud
다음 명령어를 실행합니다.
gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring=KEY_RING_NAME \
--location=REGION \
--project=KMS_PROJECT_ID \
--member=serviceAccount:service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
이 명령어에서 다음 자리표시자를 바꿉니다.
- KEY_NAME: 이 가이드의 이전 섹션에서 만든 키의 이름
- KEY_RING_NAME: 이 가이드의 이전 섹션에서 만든 키링
- REGION: 키링을 만든 리전
- KMS_PROJECT_ID: Cloud KMS 프로젝트의 ID
- AI_PLATFORM_PROJECT_NUMBER: 이전 섹션에서 서비스 계정 이메일 주소의 일부로 기록해 둔 AI Platform 프로젝트의 프로젝트 번호
KMS 키로 리소스 만들기
새 CMEK 지원 리소스를 만들 때 생성 매개변수 중 하나로 키를 지정할 수 있습니다.
콘솔
Google Cloud 콘솔의 Agent Platform 섹션에서 새 CMEK 지원 리소스를 만들면 일반 또는 고급 옵션 섹션에서 키를 선택할 수 있습니다.
REST 및 명령줄
지원되는 리소스를 만들 때 요청에 encryptionSpec 객체를 추가하고 encryptionSpec.kmsKeyName 필드가 키 리소스를 가리키도록 설정합니다.
예를 들어 dataset 리소스를 만들 때 요청 본문에 키를 지정합니다.
{
"displayName": DATASET_NAME,
"metadataSchemaUri": METADATA_URI,
"encryptionSpec": {
"kmsKeyName": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME"
}
}
Java
지원되는 리소스를 만들 때 EncryptionSpec이 키 리소스를 가리키도록 설정합니다. 자세한 내용은 Java용 Agent Platform 클라이언트 라이브러리 문서를 참고하세요.
Node.js
지원되는 리소스를 만들 때 encryptionSpec 매개변수가 키 리소스를 가리키도록 설정합니다. 자세한 내용은 Node.js용 Agent Platform 클라이언트 라이브러리 문서를 참고하세요.
Python
지원되는 리소스를 만들 때 encryption_spec 매개변수가 키 리소스를 가리키도록 설정합니다. 자세한 내용은 Cloud AI Platform용 Python 클라이언트 문서를 참조하세요.
리소스가 없는 API에 CMEK 사용
일부 Gemini Enterprise Agent Platform API는 리소스가 없음 (요청 기반)입니다. 즉, 수명이 긴 최상위 리소스를 만들지 않고 추론 요청을 처리합니다. 세션 연속성 및 상태 저장 대화와 같은 기능을 지원하기 위해 이러한 API는 제한된 시간 동안 유휴 상태의 사용자 데이터를 저장할 수 있습니다. 예를 들어 Gemini Live API는 최대 24시간 동안 세션 재개 데이터를 저장하고 Interactions API는 최대 7일 동안 상태 저장 상호작용 데이터를 저장합니다. 데이터가 생성될 때 키를 연결할 영구 리소스가 없으므로 제공 프로필을 사용하여 이 저장 데이터에 CMEK를 적용합니다.
서빙 프로필은 Cloud KMS 키를 프로젝트, 위치, API 범위에 연결하는 Gemini Enterprise Agent Platform 리소스입니다. 요청의 프로젝트, 위치, 범위에 서비스 프로필이 있는 경우 Agent Platform은 해당 범위의 영구 데이터를 키로 자동 암호화합니다. 추론 요청 형식은 변경되지 않습니다.
프로필 제공의 이점
- 규정 준수 요구사항 충족: 암호화 키 및 데이터 수명 주기에 대한 고객 제어가 필요한 감사 기준을 충족합니다.
- 데이터 완전 제어: 언제든지 키 액세스를 사용 중지하거나 취소하여 암호화된 데이터에 대한 액세스를 차단할 수 있습니다.
- 투명하며 코드 변경 없음: 기존 추론 요청 형식이 변경되지 않습니다. 서비스 프로필이 있는 동안 암호화가 자동으로 적용됩니다.
- 세부적인 제어: 키가 보안 침해된 경우 영향을 제한하고 최소 권한의 원칙을 따르려면 API 범위별로 별도의 키를 적용합니다.
투명 암호화 작동 방식
- 지원되는 리소스 없는 API에 리전 Agent Platform 엔드포인트에서 요청을 보냅니다.
- Agent Platform은 프로젝트, 위치, 범위의 서빙 프로필을 확인합니다.
- 해당 범위의 영구 데이터는 요청 변경 없이 키로 자동 암호화됩니다.
- 해당 프로젝트, 위치, 범위에 대한 서비스 프로필이 없으면 Agent Platform은 기본적으로 Google 관리 암호화를 사용합니다.
게재 프로필 제한
- 지원되는 API: Gemini Live API(범위
GEMINI_LIVE) 및 Interactions API(범위INTERACTIONS_API) - 지원되는 리전:
us및eu멀티 리전 전역 리전은 Cloud KMS 및 스토리지 CMEK 제한으로 인해 지원되지 않습니다. - 암호화 키와 범위는 생성 후 변경할 수 없습니다. 표시 이름과 설명만 업데이트할 수 있습니다. 키 또는 범위를 변경하려면 서비스 프로필을 삭제하고 다른
servingProfileId로 새 프로필을 만드세요 (CMEK 사용 중지 및 기본 암호화로 되돌리기 참고).
시작하기 전에
- 프로젝트에서 Cloud KMS API와 Agent Platform API를 사용 설정합니다.
- 지원되는 멀티 리전 (
us또는eu)에서 Cloud KMS 키를 만들거나 식별합니다. 전역 리전은 사용하지 마세요. 키링 및 키 만들기를 참고하세요. - 키에 대한
roles/cloudkms.cryptoKeyEncrypterDecrypter역할을 Gemini Enterprise Agent Platform 서비스 에이전트에 부여합니다. Agent Platform 권한 부여를 참고하세요. - 게재 프로필을 관리할 수 있는 IAM 권한 (
aiplatform.servingProfiles.create,get,list,update,delete)이 있는지 확인합니다.
다음 섹션의 예시에서는 다음 값을 사용합니다.
- LOCATION: 멀티 리전(
us또는eu) - PROJECT: 프로젝트 ID 또는 번호입니다.
- API_VERSION:
v1또는v1beta1입니다. - SERVING_PROFILE_ID: 1~63자(영문 기준)여야 하고 소문자, 숫자, 하이픈만 포함해야 하며 영문자로 시작하고 영문자 또는 숫자로 끝나야 합니다. 이 값은 리소스 이름의 마지막 구성요소가 됩니다.
scope: 서비스 프로필이 적용되는 리소스가 없는 API입니다. 지원되는 값은GEMINI_LIVE및INTERACTIONS_API입니다.- Cloud KMS 키는
cmekConfig.encryptionSpec.kmsKeyName에 설정되며projects/*/locations/*/keyRings/*/cryptoKeys/*와 일치해야 합니다.
REST 요청은 리전 엔드포인트 https://aiplatform.LOCATION.rep.googleapis.com로 이동하고 OAuth 2.0 Bearer 토큰으로 인증합니다.
-H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "Content-Type: application/json"
서빙 프로필 만들기
서빙 프로필을 만들면 범위의 영구 데이터에 CMEK 보호가 사용 설정됩니다. displayName, scope (GEMINI_LIVE 또는 INTERACTIONS_API), cmekConfig.encryptionSpec.kmsKeyName 필드는 필수입니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles?servingProfileId=SERVING_PROFILE_ID" \
-d '{
"displayName": "My CMEK serving profile",
"description": "CMEK for Gemini Live",
"scope": "GEMINI_LIVE",
"cmekConfig": {
"encryptionSpec": {
"kmsKeyName": "projects/PROJECT/locations/LOCATION/keyRings/RING/cryptoKeys/KEY"
}
}
}'
Create는 장기 실행 작업을 반환합니다. 응답에 "done": true가 포함될 때까지 GET https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/OPERATION_NAME에서 폴링합니다. 게재 프로필을 가져오거나 업데이트하거나 삭제하기 전에 작업이 완료될 때까지 기다립니다.
서빙 프로필 확인
생성 작업이 완료되면 get 또는 list를 사용하여 게재 프로필을 확인합니다.
# Get one serving profile.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID"
# List serving profiles in a location.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles?pageSize=50"
제공 프로필 메타데이터 업데이트
displayName 및 description 필드만 업데이트할 수 있습니다. 키와 범위는 변경할 수 없습니다. updateMask 매개변수는 선택사항입니다. 생략하면 값이 입력된 모든 변경 가능한 필드가 업데이트됩니다. 이 호출은 업데이트된 게재 프로필을 반환합니다.
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID?updateMask=displayName,description" \
-d '{"displayName": "Renamed profile", "description": "Updated description"}'
CMEK 사용 중지 및 기본 암호화로 되돌리기
서빙 프로필을 삭제합니다. 그런 다음 범위의 새 데이터가 Google 관리 암호화로 암호화됩니다. 키로 이미 암호화된 데이터는 API의 보관 정책에 따라 TTL에 도달하거나 삭제될 때까지 보호됩니다.
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID"
게재 프로필을 삭제하면 원래 키와 범위를 복원할 수 있도록 servingProfileId이 30일 동안 예약됩니다. 이 기간 동안 다른 키나 범위로 게재 프로필을 만들려면 다른 servingProfileId를 사용하세요.
삭제된 게재 프로필 복원
게재 프로필을 삭제한 후 30일 이내에 복원할 수 있습니다. 원래 Cloud KMS 키가 여전히 사용 설정되어 있고 Gemini Enterprise Agent Platform 서비스 에이전트가 여전히 액세스할 수 있는지 확인합니다. 그런 다음 동일한 servingProfileId, scope, 키를 사용하여 제공 프로필을 만듭니다. Agent Platform은 프로필이 삭제되기 전에 암호화된 데이터를 비롯하여 키로 범위의 영구 데이터를 보호하는 것을 재개합니다.
키 해지
Cloud KMS 키를 사용 중지하거나 Gemini Enterprise 에이전트 플랫폼 서비스 에이전트의 액세스 권한을 삭제하면 다음이 발생합니다.
- Agent Platform에서 더 이상 범위의 영구 데이터를 암호화하거나 복호화할 수 없습니다.
- 보호된 데이터에 액세스해야 하는 요청은 키를 사용할 수 없음을 나타내는
FAILED_PRECONDITION오류와 함께 실패합니다.
액세스를 재개하려면 키를 다시 사용 설정하거나 IAM 권한을 복원하세요.
서빙 프로필 가격 책정
프로필 게재에는 추가 비용이 부과되지 않습니다. 암호화 및 복호화에 대해 표준 Cloud KMS 키 작업 요금이 청구됩니다.
문제 해결
- 서빙 프로필 생성이 실패하거나 멈춤: Gemini Enterprise Agent Platform 서비스 에이전트에 키에 대한
roles/cloudkms.cryptoKeyEncrypterDecrypter역할이 있고 키가 사용 설정되어 있으며 지원되는 멀티 리전 (us또는eu, 전역 아님)에 있는지 확인합니다. - 추론에서 CMEK를 사용하지 않음: 일치하는 프로젝트, 위치, 범위 (
GEMINI_LIVE또는INTERACTIONS_API)에 서비스 프로필이 있는지 확인합니다. FAILED_PRECONDITION오류: 이러한 오류는 일반적으로 키가 사용 중지되었거나 액세스 권한이 취소되었음을 나타냅니다. 키를 다시 사용 설정하거나 IAM 부여를 복원합니다.
다음 단계
- Google Cloud의 CMEK 자세히 알아보기
- 다른 Google Cloud제품에서 CMEK를 사용하는 방법 알아보기