Agent Retrieval (舊稱 Vector Search 2.0) 可讓您使用透過 Cloud Key Management Service 管理的加密編譯金鑰,保護靜態資料。這項整合功能可讓您控管用於加密核心客戶內容的金鑰,包括輪替及撤銷這些金鑰。
根據預設,資料會使用 Google 代管的平台預設設定加密。CMEK 可讓您直接控管加密金鑰。
詳情請參閱客戶自行管理的加密金鑰 (CMEK) 說明文件。
必要條件和限制
如要搭配使用 CMEK 和集合,必須符合下列必要條件和限制:
Cloud KMS 金鑰必須與受保護的集合位於相同的 Google Cloud 區域。舉例來說,
us-central1區域中的集合必須使用位於us-central1的 Cloud KMS 金鑰。您必須將 Cloud KMS 金鑰的
cryptoKeyEncrypterDecrypter角色授予 Per-Product-Per-Project (P4) 服務帳戶。P4 服務帳戶的格式如下:service-${CONSUMER_PROJECT_NUMBER}@gcp-sa-vectorsearch.iam.gserviceaccount.com
建立受 CMEK 保護的集合
符合所有必要條件後,您可以使用 gcloud CLI、REST API 或 Python SDK 建立新的集合,並啟用 CMEK。
使用 gcloud CLI
使用 --kms-key 引數,指定 Cloud 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 KMS 中輪替金鑰時,系統會使用主金鑰版本加密新資料,現有資料則仍以舊版本加密。詳情請參閱「金鑰輪替」。
金鑰撤銷
撤銷或停用金鑰會立即停用集合。相關聯的 ANN 索引會自動取消部署,記憶體內資料也會清除。集合的讀取、寫入和搜尋作業都會失敗。
即使還原金鑰,系統也不會自動重新啟用集合。
支援 CMEK 的資源
CMEK 涵蓋的 Gemini Enterprise Agent Platform 資源如下。預先發布版功能對 CMEK 的支援也處於預先發布版狀態。
| 資源 | 材料已加密 | 說明文件連結 |
|---|---|---|
| 資料集 | DataItems 和 Annotations 的所有使用者匯入資料 (例如文字內容)。使用者建立的內容,例如 AnnotationSpecs, ColumnSpecs。 |
建立資料集,用於訓練分類和迴歸模型
建立資料集,用於訓練預測模型 |
| 索引 | Gemini Enterprise Agent Platform 索引中,用於向量搜尋的所有資料檔案,都會儲存在 Cloud Storage、Pub/Sub 和內部儲存空間。建立 Index 和 IndexEndpoint 時,必須使用相同的金鑰。 集合中的所有索引都必須使用相同的鍵建立。 |
在 向量搜尋 中管理索引:
在 向量搜尋 中管理索引 2 |
| 珍藏內容 | 集合用於儲存相關資料物件。 | 管理向量搜尋 2 中的集合 |
| DataObjects | 集合會將資料儲存為個別 JSON 物件,稱為資料物件。 | 在向量搜尋 2 管理資料物件 |