Agent Retrieval (이전의 Vector Search 2.0)을 사용하면 암호화 키 Cloud Key Management Service를 통해 관리되는 저장 데이터를 보호할 수 있습니다. 이 통합은 이러한 키를 순환하고 해지하는 기능을 비롯하여 핵심 고객 콘텐츠를 암호화하는 데 사용되는 키를 제어할 수 있도록 지원합니다.
기본적으로 데이터는 Google 관리 플랫폼 기본값을 사용하여 암호화됩니다. CMEK를 사용하면 암호화 키를 직접 제어할 수 있습니다.
자세한 내용은 고객 관리 암호화 키 (CMEK) 문서를 참고하세요.
기본 요건 및 제약조건
컬렉션에서 CMEK를 사용하려면 다음 기본 요건 및 제약조건을 충족해야 합니다.
Cloud KMS 키는 보호하는 컬렉션과 동일한 Google Cloud 리전에 있어야 합니다. 예를 들어
us-central1리전의 컬렉션은us-central1에 있는 KMS 키를 사용해야 합니다.제품별 프로젝트별 (P4) 서비스 계정에 KMS 키에 대한
cryptoKeyEncrypterDecrypter역할을 부여해야 합니다. P4 서비스 계정 은 다음 형식을 따릅니다.service-${CONSUMER_PROJECT_NUMBER}@gcp-sa-vectorsearch.iam.gserviceaccount.com
CMEK로 보호되는 컬렉션 만들기
모든 기본 요건을 충족한 후 gcloud CLI, REST API 또는 Python SDK를 사용하여 CMEK가 사용 설정된 새 컬렉션을 만들 수 있습니다.
gcloud CLI 사용
--kms-key 인수를 사용하여 KMS 키의 정규화된 리소스 ID를 지정합니다.
gcloud vector-search collections create [COLLECTION_ID] \
--kms-key projects/[KMS_PROJECT_ID]/locations/[REGION]/keyRings/[KEY_RING]/cryptoKeys/[KEY]
REST API 사용
POST 요청의 본문에 encryption_spec을 포함합니다.
{
"encryption_spec": {
"crypto_key_name": "projects/[PROJECT_ID]/locations/[REGION]/keyRings/[KEY_RING]/cryptoKeys/[KEY]"
}
}
Python SDK 사용
Python SDK 사용:
request = vectorsearch_v1beta.CreateCollectionRequest(
parent=f"projects/{PROJECT_ID}/locations/{LOCATION}",
collection_id=collection_id,
collection={
"data_schema": {...},
"vector_schema": {...},
# Specifies the customer-managed encryption key spec for a Collection
"encryption_spec": {
"crypto_key_name": f"projects/{PROJECT_ID}/locations/{LOCATION}/keyRings/{KEY_RING}/cryptoKeys/{KEY}"
}
},
)
operation = vector_search_service_client.create_collection(request=request)
operation.result()
CMEK가 아닌 컬렉션에서 CMEK 사용 컬렉션으로 데이터 객체 마이그레이션
기존 컬렉션에는 CMEK를 사용 설정할 수 없습니다. 대신 CMEK가 사용 설정된 새 컬렉션으로 데이터 객체를 마이그레이션해야 합니다.
방법은 다음과 같습니다.
기존 컬렉션에서 Cloud Storage 버킷으로 데이터 객체를 내보냅니다.
CMEK가 사용 설정된 새 컬렉션을만듭니다.
데이터 객체를 컬렉션으로 가져옵니다.
키 순환
KMS에서 키가 순환되면 새 데이터는 기본 키 버전을 사용하여 암호화되고 기존 데이터는 이전 버전으로 암호화된 상태를 유지합니다. 자세한 내용은 키 순환을 참고하세요.
키 해지
키를 해지하거나 사용 중지하면 컬렉션이 즉시 사용 중지됩니다. 연결된 ANN 색인이 자동으로 배포 취소되고 메모리 내 데이터가 삭제됩니다. 컬렉션에 대한 읽기, 쓰기, 검색 작업이 실패합니다.
키가 복원되더라도 컬렉션이 자동으로 다시 사용 설정되지는 않습니다.
CMEK 지원 리소스
CMEK가 적용되는 현재 Vertex AI 리소스는 다음과 같습니다. 미리보기 기능에 대한 CMEK 지원도 미리보기 상태입니다.
| 리소스 | 암호화 자료 | 문서 링크 |
|---|---|---|
| 데이터 세트 | DataItems 및 Annotations에 대해 사용자가 가져온 모든 데이터 (예: 텍스트 콘텐츠)
AnnotationSpecs, ColumnSpecs와 같은 사용자가 만든 콘텐츠 |
학습 분류 및 회귀 모델의 데이터 세트 만들기
예측 모델 학습을 위한 데이터 세트 만들기 |
| 색인 | Cloud Storage, Pub/Sub, 내부 저장소에 저장된 벡터 검색 색인에 사용되는 모든 데이터 파일입니다. 색인과 IndexEndpoint는 동일한 키를 사용하여 만들어야 합니다.
컬렉션 내의 모든 색인은 동일한 키를 사용하여 만들어야 합니다. |
벡터 검색에서 색인 관리 :
벡터 검색 2에서 색인 관리 |
| 컬렉션 | 컬렉션 은 관련된 데이터 객체를 저장하는 데 사용됩니다. | 벡터 검색 2에서 컬렉션 관리 |
| DataObjects | 컬렉션은 데이터를 데이터 객체라는 개별 JSON 객체로 저장합니다. | 벡터 검색 2에서 데이터 객체 관리 |