根據預設, Google Cloud 系統會使用 Google 代管的加密金鑰,在資料處於靜態狀態時自動加密。
如果您在保護資料的金鑰方面有特定的法規遵循或監管要求,可以為 Document AI 使用客戶自行管理的加密金鑰 (CMEK)。您可以在 Cloud Key Management Service (KMS) 中控制及管理用來保護您資料的加密金鑰,而不是由 Google 管理。
本指南說明 Document AI 的 CMEK。如要進一步瞭解 CMEK 一般資訊,包括啟用時機和原因,請參閱 Cloud Key Management Service 說明文件。
修課條件
Document AI 服務代理人必須擁有您所用金鑰的 Cloud KMS CryptoKey Encrypter/Decrypter 角色。
下列範例會授予可存取 Cloud KMS 金鑰的角色:
gcloud
gcloud kms keys add-iam-policy-binding key \ --keyring key-ring \ --location location \ --project key_project_id \ --member serviceAccount:service-project_number@gcp-sa-prod-dai-core.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
將 key 替換為金鑰名稱。將 key-ring 替換為金鑰所在金鑰環的名稱。將 location 替換為金鑰環的 Document AI 位置。將 key_project_id 替換為金鑰環的專案。將 project_number 替換為專案編號。
C#
詳情請參閱 Document AI C# API 參考說明文件。
如要向 Document AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Go
詳情請參閱 Document AI Go API 參考說明文件。
如要向 Document AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Java
詳情請參閱 Document AI Java API 參考說明文件。
如要向 Document AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Node.js
詳情請參閱 Document AI Node.js API 參考說明文件。
如要向 Document AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
PHP
詳情請參閱 Document AI PHP API 參考說明文件。
如要向 Document AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Python
詳情請參閱 Document AI Python API 參考說明文件。
如要向 Document AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Ruby
詳情請參閱 Document AI Ruby API 參考說明文件。
如要向 Document AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
使用 CMEK
建立處理器時,即可使用加密設定。 如要使用 CMEK,請選取「CMEK」CMEK選項並選取金鑰。
CMEK 金鑰適用於與處理器及其子項資源相關聯的所有資料。傳送至處理器的所有客戶相關資料,都會先使用提供的金鑰自動加密,再寫入磁碟。
處理器建立後,您就無法變更加密設定。如要使用其他金鑰,請建立新的處理器。
外部金鑰
您可以使用 Cloud External Key Manager (EKM) 建立及管理外部金鑰,加密 Google Cloud中的資料。
使用 Cloud EKM 金鑰時,Google 無法控管外部代管金鑰的供應情形。如果您要求存取以外部代管金鑰加密的資源,但該金鑰無法使用,Document AI 就會拒絕要求。金鑰可用後,您可能需要等待最多 10 分鐘,才能存取資源。
如要進一步瞭解使用外部金鑰的注意事項,請參閱「EKM 注意事項」。
支援 CMEK 的資源
將任何資源儲存到磁碟時,如果資源中儲存了任何客戶資料,Document AI 會先使用 CMEK 金鑰加密內容。
資源 | 教材已加密 |
---|---|
Processor |
不適用 - 沒有使用者資料。不過,如果在建立處理器時指定 CMEK 金鑰,則該金鑰必須有效。 |
ProcessorVersion |
全部 |
Evaluation |
全部 |
支援 CMEK 的 API
使用 CMEK 金鑰加密的 API 包括:
方法 | 加密 |
---|---|
processDocument |
不適用 - 系統不會將資料儲存到磁碟。 |
batchProcessDocuments |
資料會暫時儲存在磁碟上,並使用暫時性金鑰加密 (請參閱 CMEK 合規性)。 |
trainProcessorVersion |
用於訓練的文件會使用提供的 KMS/CMEK 金鑰加密。 |
evaluateProcessorVersion |
評估結果會使用您提供的 KMS/CMEK 金鑰加密。 |
如果金鑰已停用或無法存取,存取加密資源的 API 要求就會失敗。例如:
方法 | 解密 |
---|---|
getProcessorVersion |
使用顧客數位資料訓練的處理器版本會經過加密。必須解密才能存取。 |
processDocument |
使用加密的處理器版本處理文件時,必須先解密。 |
Import Documents |
如果使用加密的處理器版本匯入已啟用 auto-labeling 的文件,則必須解密。 |
CMEK 和 Cloud Storage
API (例如 batchProcess
) 可以讀取及寫入 Cloud Storage bucket。
Document AI 寫入 Cloud Storage 的所有資料,都會使用值區設定的加密金鑰加密,這可能與處理器的 CMEK 金鑰不同。
詳情請參閱 Cloud Storage 的 CMEK 說明文件。