Google Cloud では、リソースの使用に割り当てが設けられています。Cloud KMS では、鍵、鍵リング、鍵バージョン、ロケーションなどのリソースの使用に割り当てが適用されます。割り当てを管理または増やす方法については、Cloud KMS の割り当てのモニタリングと調整をご覧ください。
KeyRing
、CryptoKey
、CryptoKeyVersion
リソースの数に割り当てはありません。オペレーションの数にのみ存在します。
これらのオペレーションに対する割り当てには、呼び出し側のプロジェクト、つまり 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 と入力すると、暗号化オペレーションに関連する割り当てのみが表示されます。
割り当ての例
以下のセクションでは、次のサンプル プロジェクトを使用して、各割り当ての例を示します。
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 の割り当てに関する問題のトラブルシューティングの詳細については、割り当てに関する問題のトラブルシューティングをご覧ください。