配額

Google Cloud 會對資源用量實施配額限制。以 Cloud KMS 而言,資源用量會強制受到配額限制的項目有金鑰、金鑰環、金鑰版本及位置。如要瞭解如何管理或增加配額,請參閱「監控及調整 Cloud KMS 配額」。

查看 Cloud KMS 配額

KeyRingCryptoKeyCryptoKeyVersion 資源的數量則無配額上限,只有作業數量有相關限制。

這些作業的部分配額適用於呼叫專案,也就是Google Cloud 呼叫 Cloud KMS 服務的專案。其他配額適用於託管專案,也就是 Google Cloud 包含作業所用金鑰的專案。

呼叫專案配額不包括使用 Cloud KMS 金鑰的服務所產生的用量,以進行客戶管理加密金鑰 (CMEK) 整合。Google Cloud 舉例來說,直接來自 BigQuery、Bigtable 或 Spanner 的加密和解密要求,不會計入「加密要求」配額。

Google Cloud 主控台會列出每項配額的限制 (以每分鐘查詢次數 (QPM) 為單位),但主機專案配額是以秒為單位強制執行。系統會以每秒查詢次數 (QPS) 為單位強制執行配額,因此即使每分鐘用量低於列出的每分鐘查詢次數 (QPM) 限制,只要超過每秒查詢次數限制,系統就會拒絕要求。如果超過每秒查詢次數限制,您會收到 RESOURCE_EXHAUSTED 錯誤

Cloud KMS 資源使用配額

下表列出套用至 Cloud KMS 資源的各項配額。下表列出各項配額的名稱和限制、配額適用的專案,以及計入配額的作業。您可以在欄位中輸入關鍵字來篩選表格。舉例來說,您可以輸入「calling」,只查看套用至呼叫專案的配額,或輸入「encrypt」,只查看與加密作業相關的配額:

配額 專案 限制 資源和作業
讀取要求
cloudkms.googleapis.com​/read_requests
通話專案 每分鐘 300 次查詢

cryptoKeys getgetIamPolicylisttestIamPermissions

cryptoKeyVersions: get, list

ekmConnections getgetIamPolicylisttestIamPermissionsverifyConnectivity

importJobs getgetIamPolicylisttestIamPermissions

keyRings getgetIamPolicylisttestIamPermissions

locations getlist

豁免:透過 Google Cloud 控制台執行的作業。

寫入要求
cloudkms.googleapis.com​/write_requests
通話專案 每分鐘 60 次查詢

cryptoKeys createpatchsetIamPolicyupdatePrimaryVersion

cryptoKeyVersions createdestroyimportpatchrestore

ekmConnections createpatchsetIamPolicy

importJobs createsetIamPolicy

keyRings createsetIamPolicy

豁免:透過 Google Cloud 控制台執行的作業。

密碼編譯要求
cloudkms.googleapis.com​/crypto_requests
通話專案 每分鐘 60,000 次查詢

cryptoKeys encryptdecrypt

cryptoKeyVersions asymmetricDecryptasymmetricSigngetPublicKeymacSignmacVerifyrawEncryptrawDecrypt

locations: generateRandomBytes

豁免:CMEK 整合作業。

每個區域的 HSM 對稱式加密要求
cloudkms.googleapis.com​/hsm_symmetric_requests
託管專案 500 QPS

cryptoKeys encryptdecrypt

cryptoKeyVersions asymmetricDecryptasymmetricSigngetPublicKeymacSignmacVerifyrawEncryptrawDecrypt

每個區域的 HSM 非對稱式加密要求
cloudkms.googleapis.com​/hsm_asymmetric_requests
託管專案 50 QPS

cryptoKeys encryptdecrypt

cryptoKeyVersions asymmetricDecryptasymmetricSigngetPublicKeymacSignmacVerify

每個區域的 HSM 產生隨機要求
cloudkms.googleapis.com​/hsm_generate_random_requests
託管專案 50 QPS

locations: generateRandomBytes

每個區域的外部加密編譯要求
cloudkms.googleapis.com​/external_kms_requests
託管專案 100 QPS

cryptoKeys encryptdecrypt

cryptoKeyVersions asymmetricDecryptasymmetricSigngetPublicKeymacSignmacVerify

配額範例

以下各節將使用下列範例專案,說明各項配額:

  • KEY_PROJECT - 包含 Cloud KMS 金鑰的專案,包括 Cloud HSM 和 Cloud EKM 金鑰。 Google Cloud

  • SPANNER_PROJECT - Google Cloud 專案,內含使用客戶自行管理的加密金鑰 (CMEK) 的 Spanner 執行個體,這些金鑰位於 KEY_PROJECT 中。

  • SERVICE_PROJECT - 包含服務帳戶的 Google Cloud 專案,您可以使用該服務帳戶管理 KEY_PROJECT 中的 Cloud KMS 資源。

讀取要求數

讀取要求配額會限制Google Cloud 專案呼叫 Cloud KMS API 的讀取要求。舉例來說,使用 Google Cloud CLI 查看 KEY_PROJECT 中的金鑰清單時,會計入 KEY_PROJECT讀取要求配額。KEY_PROJECT如果您在 SERVICE_PROJECT 中使用服務帳戶查看金鑰清單,讀取要求會計入 SERVICE_PROJECT讀取要求配額。

使用 Google Cloud 控制台查看 Cloud KMS 資源不會計入「讀取要求」配額。

寫入要求數

寫入要求配額會限制Google Cloud 專案呼叫 Cloud KMS API 的寫入要求。舉例來說,在 KEY_PROJECT 中使用 gcloud CLI 建立金鑰,會計入 KEY_PROJECT 的「寫入要求」配額。如果您在 SERVICE_PROJECT 中使用服務帳戶建立金鑰,寫入要求會計入 SERVICE_PROJECT 的「寫入要求」配額。

使用 Google Cloud 控制台建立或管理 Cloud KMS 資源,不會計入「讀取要求」配額。

密碼編譯要求

密碼編譯要求配額會限制Google Cloud 專案呼叫 Cloud KMS API 時的密碼編譯作業。舉例來說,如果使用 KEY_PROJECT 中的金鑰,透過在 SERVICE_PROJECT 中執行的服務帳戶資源發出 API 呼叫來加密資料,則會計入 SERVICE_PROJECT密碼編譯要求配額。

透過 CMEK 整合功能加密及解密 SPANNER_PROJECT 中 Spanner 資源的資料,不會計入 SPANNER_PROJECT密碼編譯要求配額。

每個區域的 HSM 對稱密碼編譯要求數

每個區域的 HSM 對稱加密編譯要求 配額,會限制使用Cloud HSM 對稱金鑰的加密編譯作業,這些金鑰位於 Google Cloud專案中。舉例來說,使用對稱 HSM 金鑰加密 Spanner 資源中的資料,會計入KEY_PROJECT 每個區域的 HSM 對稱密碼編譯要求 配額。

每個區域的 HSM 非對稱密碼編譯要求

每個區域的 HSM 非對稱加密要求配額,會限制使用非對稱 Cloud HSM 金鑰的加密作業,這些金鑰位於 Google Cloud專案中。舉例來說,使用非對稱 HSM 金鑰加密 Spanner 資源中的資料,會計入KEY_PROJECT 每個區域的 HSM 非對稱密碼編譯要求配額。

每個區域的 HSM 產生隨機要求數

每個區域的 HSM 產生隨機要求配額限制,會使用要求訊息中指定的 Google Cloud 專案,透過 Cloud HSM 產生隨機位元組作業。舉例來說,從任何來源發出的要求,只要是為了在 KEY_PROJECT 中產生隨機位元組,都會計入 KEY_PROJECT每個地區的 HSM 產生隨機要求數配額。

每個區域的外部密碼編譯要求

每個區域的外部加密編譯要求配額,會限制使用外部 (Cloud EKM) 金鑰的加密編譯作業,這些金鑰位於包含這些金鑰的 Google Cloud 專案中。舉例來說,使用 EKM 金鑰加密 Spanner 資源中的資料,會計入KEY_PROJECT「每個區域的外部密碼編譯要求」配額。

配額錯誤資訊

如果您在達到配額上限之後傳送要求,該項要求會產生 RESOURCE_EXHAUSTED 錯誤,並傳回 429 的 HTTP 狀態碼。如要瞭解用戶端程式庫如何顯示 RESOURCE_EXHAUSTED 錯誤,請參閱用戶端程式庫對應

如果收到 RESOURCE_EXHAUSTED 錯誤,可能是因為每秒傳送的加密作業要求過多。即使 Google Cloud 控制台顯示您未超過每分鐘查詢次數限制,仍可能收到 RESOURCE_EXHAUSTED 錯誤。發生這個問題的原因可能是 Cloud KMS 主機專案配額是以每分鐘為單位顯示,但實際是以每秒為單位強制執行。如要進一步瞭解如何監控指標,請參閱「設定配額快訊和監控」一文。

如要瞭解如何排解 Cloud KMS 配額問題,請參閱排解配額問題

後續步驟