割り当て

Google Cloud では、使用できるリソースの割り当て量に上限が設けられています。Cloud KMS では、鍵、鍵リング、鍵バージョン、ロケーションなどのリソースの使用に割り当てが適用されます。割り当てを管理または増やす方法については、Cloud KMS の割り当てのモニタリングと調整をご覧ください。

Cloud KMS の割り当てを表示する

KeyRingCryptoKeyCryptoKeyVersion リソースの数に割り当てはありません。オペレーションの数にのみ存在します。

これらのオペレーションに対する割り当てには、呼び出し側のプロジェクト、つまり Cloud KMS サービスを呼び出す Google Cloud プロジェクトに適用されるものがあります。他の割り当てには、オペレーションに使用されるキーを含む Google Cloud プロジェクトであるホスティング プロジェクトに適用されるものがあります。

呼び出し元のプロジェクトの割り当てには、顧客管理の暗号鍵(CMEK)の統合に Cloud KMS 鍵を使用する Google Cloud サービスによって生成された使用量は含まれません。たとえば、BigQuery、Bigtable、または Spanner から直接送信される暗号リクエストと復号リクエストは、暗号リクエストの割り当てに影響しません。

Google Cloud コンソールには、分間クエリ数(QPM)における各割り当ての上限が一覧表示されますが、ホスティング プロジェクトの割り当ては秒単位で適用されます。秒間クエリ数(QPS)で適用される割り当てでは、1 分あたりの使用量が上記の QPM の上限より低い場合でも QPS 上限を超えるリクエストが拒否されます。QPS の上限を超えると、RESOURCE_EXHAUSTED エラーが発生します。

Cloud KMS リソースの使用量の割り当て

次の表では、Cloud KMS リソースに適用される各割り当てを示します。次の表では、各割り当ての名前と上限、割り当てが適用されるプロジェクト、割り当てにカウントされるオペレーションを示します。テーブルは、フィールドにキーワードを入力してフィルタできます。たとえば、calling と入力すると、呼び出し元のプロジェクトに適用された割り当てのみが表示されます。encrypt と入力すると、暗号化オペレーションに関連する割り当てのみが表示されます。

割り当て プロジェクト 上限 リソースとオペレーション
読み取りリクエスト
cloudkms.googleapis.com​/read_requests
呼び出し元のプロジェクト 300 QPM

cryptoKeys: get, getIamPolicy, list, testIamPermissions

cryptoKeyVersions: get, list

ekmConnections: getgetIamPolicylisttestIamPermissionsverifyConnectivity

importJobs: get, getIamPolicy, list, testIamPermissions

keyRings: get, getIamPolicy, list, testIamPermissions

locations: get, list

除外済み: Google Cloud コンソールからの操作

書き込みリクエスト
cloudkms.googleapis.com​/write_requests
呼び出し元のプロジェクト 60 QPM

cryptoKeys: create, patch, setIamPolicy, updatePrimaryVersion

cryptoKeyVersions: create, destroy, import, patch, restore

ekmConnections: create, patch, setIamPolicy

importJobs: create, setIamPolicy

keyRings: create, setIamPolicy

除外済み: Google Cloud コンソールからの操作

暗号リクエスト
cloudkms.googleapis.com​/crypto_requests
呼び出し元のプロジェクト 60,000 QPM

cryptoKeys: encrypt, decrypt

cryptoKeyVersions: asymmetricDecrypt, asymmetricSign, getPublicKey, macSign, macVerify, rawEncrypt, rawDecrypt

locations: generateRandomBytes

除外済み: CMEK インテグレーションからのオペレーション。

リージョンあたりの HSM 対称暗号リクエスト
cloudkms.googleapis.com​/hsm_symmetric_requests
ホスティング プロジェクト 500 QPS

cryptoKeys: encrypt, decrypt

cryptoKeyVersions: asymmetricDecrypt, asymmetricSign, getPublicKey, macSign, macVerify, rawEncrypt, rawDecrypt

リージョンあたりの HSM 非対称暗号リクエスト
cloudkms.googleapis.com​/hsm_asymmetric_requests
ホスティング プロジェクト 50 QPS

cryptoKeys: encrypt, decrypt

cryptoKeyVersions: asymmetricDecrypt, asymmetricSign, getPublicKey, macSign, macVerify

HSM がリージョンごとにランダムなリクエストを生成する
cloudkms.googleapis.com​/hsm_generate_random_requests
ホスティング プロジェクト 50 QPS

locations: generateRandomBytes

リージョンあたりの外部暗号リクエスト
cloudkms.googleapis.com​/external_kms_requests
ホスティング プロジェクト 100 QPS

cryptoKeys: encrypt, decrypt

cryptoKeyVersions: asymmetricDecrypt, asymmetricSign, getPublicKey, macSign, macVerify

割り当ての例

以降のセクションでは、次のサンプル プロジェクトを使用して、各割り当ての例を示します。

  • KEY_PROJECT - Cloud HSM 鍵と Cloud EKM 鍵など、Cloud KMS 鍵を含む Google Cloud プロジェクト。

  • SPANNER_PROJECT - KEY_PROJECT にある顧客管理の暗号鍵(CMEK)を使用する Spanner インスタンスを含む Google Cloud プロジェクト。

  • SERVICE_PROJECT - KEY_PROJECT にある Cloud KMS リソースの管理に使用するサービス アカウントを含む Google Cloud プロジェクト。

読み取りリクエスト

読み取りリクエストの割り当てにより、Cloud KMS API を呼び出す Google Cloud プロジェクトからの読み取りリクエストが制限されます。たとえば、Google Cloud CLI を使用して KEY_PROJECT から KEY_PROJECT の鍵のリストを表示すると、KEY_PROJECT 読み取りリクエストの割り当てにカウントされます。SERVICE_PROJECT でサービス アカウントを使用して鍵のリストを表示する場合、読み取りリクエストは SERVICE_PROJECT読み取りリクエストの割り当てにカウントされます。

Google Cloud コンソールを使用して Cloud KMS リソースを表示することは、読み取りリクエストの割り当てに影響しません。

書き込みリクエスト

書き込みリクエストの割り当てにより、Cloud KMS API を呼び出す Google Cloud プロジェクトからの書き込みリクエストが制限されます。たとえば、gcloud CLI を使用して KEY_PROJECT に鍵を作成すると、KEY_PROJECT 書き込みリクエストの割り当てにカウントされます。SERVICE_PROJECT でサービス アカウントを使用してキーを作成する場合、書き込みリクエストは SERVICE_PROJECT書き込みリクエストの割り当てにカウントされます。

Google Cloud コンソールを使用して Cloud KMS リソースを作成または管理しても、読み取りリクエストの割り当てに影響はありません。

暗号リクエスト

暗号リクエストの割り当てにより、Cloud KMS API を呼び出す Google Cloud プロジェクトからの暗号オペレーションが制限されます。KEY_PROJECT のキーを使用して SERVICE_PROJECT で実行されているサービス アカウント リソースから API 呼び出しを使用してデータを暗号化すると、SERVICE_PROJECT 暗号化リクエストの割り当てにカウントされます。

CMEK インテグレーションを使用する SPANNER_PROJECT の Spanner リソース内のデータの暗号化と復号は、SPANNER_PROJECT暗号リクエストの割り当てにカウントされません。

リージョンあたりの HSM 対称暗号リクエスト

リージョンあたりの HSM 対称暗号リクエストの割り当てでは、これらの鍵を含む Google Cloud プロジェクトで対称 Cloud HSM 鍵を使用する暗号オペレーションが制限されます。たとえば、対称 HSM 鍵を使用して Spanner リソース内のデータを暗号化すると、KEY_PROJECTリージョンあたりの HSM 対称暗号リクエストの割り当てにカウントされます。

リージョンあたりの HSM 非対称暗号リクエスト

リージョンあたりの HSM 非対称暗号リクエストの割り当てでは、これらの鍵を含む Google Cloud プロジェクトで非対称 Cloud HSM 鍵を使用する暗号オペレーションが制限されます。たとえば、非対称 HSM 鍵を使用して Spanner リソース内のデータを暗号化すると、KEY_PROJECTリージョンあたりの HSM 非対称暗号リクエストの割り当てにカウントされます。

HSM によるリージョンあたりのランダムなリクエストの生成

リージョン割り当て制限ごとに HSM はランダム リクエストを生成し、リクエスト メッセージで指定された Google Cloud プロジェクトで Cloud HSM を使用してランダム バイト オペレーションを生成します。たとえば、KEY_PROJECT でランダムバイトを生成する送信元からのリクエストは、KEY_PROJECT HSM がリージョンごとにランダム リクエストを生成する割り当てにカウントされます。

リージョンあたりの外部暗号リクエスト

リージョンあたりの外部暗号リクエストの割り当てでは、それらの鍵を含む Google Cloud プロジェクトで外部(Cloud EKM)鍵を使用する暗号オペレーションが制限されます。たとえば、EKM 鍵を使用して Spanner リソース内のデータを暗号化すると、KEY_PROJECT リージョンあたりの外部暗号リクエストの割り当てにカウントされます。

割り当てエラー情報

割り当てに達した後にリクエストを行うと、そのリクエストは RESOURCE_EXHAUSTED エラーになります。HTTP ステータス コードは 429 です。クライアント ライブラリによって RESOURCE_EXHAUSTED エラーが表示される仕組みについては、クライアント ライブラリ マッピングをご覧ください。

RESOURCE_EXHAUSTED エラーが発生した場合は、1 秒あたりに暗号オペレーションのリクエストを過剰に送信している可能性があります。Google Cloud コンソールで 1 分あたりのクエリ数の上限を超えていることが示されていても、RESOURCE_EXHAUSTED エラーが発生することがあります。この問題は、Cloud KMS のホスティング プロジェクトの割り当てが 1 分あたりで表示されるものの、1 秒ごとに適用されるために発生することがあります。指標のモニタリングの詳細については、割り当て指標のモニタリングとアラートをご覧ください。

Cloud KMS の割り当てに関する問題のトラブルシューティングの詳細については、割り当てに関する問題のトラブルシューティングをご覧ください。

次のステップ