AWS Key Management Service
開発者ガイド

制限

AWS KMS リソースには、各リージョンおよび各 AWS アカウントに適用される制限があります。一部の制限は、すべてのリソースに適用されます。その他は作成するリソースのみに適用されますが、アカウントで AWS サービスが作成するリソースには適用されません。使用するリソースは、AWS 所有の CMK などの AWS アカウントには含まれていませんが、これらの制限にはカウントされません。

重要

これらの制限を超える必要がある場合は、AWS サポート センターにアクセスして、ケースを作成してください。

リソース デフォルトの制限 適用先
カスタマーマスターキー (CMK) 1,000 カスタマー管理の CMK
別名 1100 カスタマー作成のエイリアス
キーポリシードキュメントのサイズ 32 KB (32,768 バイト)

カスタマー管理の CMK

AWS 管理の CMK

キーポリシードキュメントのサイズ 32 KB (32,768 バイト)

カスタマー管理の CMK

AWS 管理の CMK

CMK あたりの許可 2500 カスタマー管理の CMK
CMK キーあたりの特定のプリンシパルの権限 500

カスタマー管理の CMK

AWS 管理の CMK

1 秒あたりのリクエスト API オペレーションによって異なります。を参照してください。

カスタマー管理の CMK

AWS 管理の CMK

注記

1 秒あたりのリクエスト数の制限を超えている場合は、AWS 暗号化 SDK のデータキーキャッシュ機能の使用を検討してください。すべての暗号化操作に対して新しいデータキーをリクエストする代わりに、データキーを再利用することで、AWS KMS へのリクエストの頻度が低下することがあります。

カスタマーマスターキー (CMK): 1000

AWS アカウントのリージョンあたり 1,000 個までのカスタマー管理の CMK を設定できます。この制限は、キーの状態にかかわらず、すべてのカスタマー管理 CMK に適用されます。AWS 管理の CMK AWS が所有する CMK はこの制限には含まれません。

リージョンごとにサポートケースを作成してより多くの CMK をリクエストすることができます。ただし、AWS マネジメントコンソール から大量の CMK を管理すると、パフォーマンスが許容できる速度を下回る可能性があります。リージョンに大量の CMK がある場合は、AWS SDK または AWS コマンドラインツールによりプログラムで管理することをお勧めします。

エイリアス: 1100

アカウントのリージョンあたり 1,100 個までのエイリアスを作成できます。アカウントで AWS が作成するエイリアス (aws/<service-name> など) は、この制限に含まれません。

エイリアスとは、CMK にマッピングできる表示名です。各エイリアスは 1 つの CMK だけにマッピングされ、複数のエイリアスを同じ CMK にマッピングできます。

サポートケースを使用して CMK の制限を引き上げる場合、エイリアス数の引き上げも必要になることもあります。

キーポリシードキュメントのサイズ: 32 KB

各キーポリシードキュメントの最大長は 32 KB (32,768 バイト) です。ドキュメントがこの長さを超えた場合、キーポリシードキュメントを使用してキーポリシーを設定または変更するオペレーションは失敗します。この制限を超える必要がある場合は、サポートケースを作成してください。

キーポリシードキュメントは JSON 形式のポリシーステートメントの集合です。キーポリシードキュメントのステートメントは、CMK の使用を許可されているユーザーとその使用方法を決定します。CMK へのアクセスをコントロールするために IAM のポリシーとアクセス許可を使用することもできますが、すべての CMK にはキーポリシードキュメントが必要です。

AWS マネジメントコンソール の デフォルトビューまたはポリシービューを使用するか、PutKeyPolicy API オペレーションを使用して、キーポリシードキュメントを作成できます。これらの方法のいずれもキーポリシードキュメントに基づきます。

CMK あたりの許可: 2500

カスタマー管理の CMK は、AWS KMS と統合される AWS サービスによって作成される権限を含めて、最大 2,500 個の権限を持つことができます。この制限は、AWS 管理の CMK には適用されません。

この制限の 1 つとして、同じ CMK を使用する 2500 個以上のリソースを作成することはできません。たとえば、同じ CMK を使用して、暗号化された EBS ボリュームを 2500 個より多く作成することはできません。

権限付与キーポリシーに代わるものです。これは、特定の許可のための高度なメカニズムです。

ユーザーあるいは AWS KMS に統合された AWS サービスは、非付与者がいつ、どのように CMK を使用できるかを制限する権限を使用できます。権限は CMK にアタッチされ、各権限には、CMK、CMK の ID、および非付与者が実行できるオペレーションのリストを使用する許可を受けるプリンシパルが含まれます。

CMK キーあたりの特定のプリンシパルの権限: 500

特定の CMK について、最大 500 個の権限で、同じ非付与者プリンシパルを指定できます。この制限は、AWS 管理の CMK を含むすべての CMK に適用されます。

たとえば、複数の Amazon EBS ボリュームを暗号化し、1 つの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにアタッチすることがあります。暗号化された各ボリュームに一意なアクセス権限が作成され、これらのすべての許可には同じ被付与者プリンシパル (EC2 インスタンスと関連付けられた、IAM が引き受けたロールユーザー) があります。各許可は、指定された CMK を使用して EBS ボリュームの一意のデータ暗号化キーを復号化するアクセス権限を付与します。CMK ごとに、同じ EC2 インスタンスを被付与者プリンシパルとして指定する、最大 500 個の権限を持つことができます。これは実質的に、特定の CMK の EC2 インスタンスごとに、暗号化された EBS ボリュームを 500 個より多く作成できないことを意味します。

ピーク時のリクエスト数: 可変

AWS KMS は、API オペレーションに合わせて、さまざまな制限で API リクエストを調整します。スロットルとは、1 秒あたりのリクエスト数制限を超えたことにより、AWS KMS が有効なリクエストを拒否することを意味します。リクエストが抑制調整されると、AWS KMS は ThrottlingException エラーを返します。以下の表に示しているのは、各 API オペレーションと、AWS KMS がそのオペレーションに合わせてリクエストを調整するポイントです。

この制限は、AWS 管理の CMK を含むすべての CMK に適用されます。

注記

これらの制限を超える必要がある場合は、AWS サポート センターにアクセスして、ケースを作成してください。

GenerateDataKey API オペレーションの 1 秒あたりのリクエスト数の制限を超えている場合は、AWS 暗号化 SDK のデータキーキャッシュ機能の使用を検討してください。データキーを再利用することで、AWS KMS へのリクエストの頻度が低下することがあります。

共有される制限

次の表の 1 行目の API オペレーションでは、1 秒あたりのリクエスト数の 5,500 件 (または 10,000 件) の制限を共有しています。たとえば、共有される制限が 1 秒あたり 5,500 件のリクエストで、1 秒あたり 3,000 件の GenerateDataKey リクエストと 1 秒あたり 1,000 件の Decrypt リクエストを行う場合、AWS KMS はリクエストを調整しません。ただし、1 秒あたり 5,000 件の GenerateDataKey と 1,000 件の Encrypt のリクエストを行うと、AWS KMS はリクエストを調整します。これは、共有される制限内のオペレーションで 1 秒あたり 5,500 件を超えるリクエストを実行したためです。

残りの API オペレーションでは、1 秒あたりのリクエスト数の制限はオペレーションごとに固有です。つまり、制限は共有されません。

ユーザーに代わって API が実行するリクエスト

API が直接リクエストを行うこと、あるいは統合された AWS サービスを使用して、ユーザーに代わって API が AWS KMS にリクエストを行うようにできます。制限はどちらの種類のリクエストにも適用されます。

たとえば、AWS KMS (SSE-KMS) でサーバー側の暗号化を使用して、Amazon S3 にデータを保存するとします。SSE-KMS で暗号化された S3 オブジェクトをアップロードまたはダウンロードするたびに、Amazon S3 はユーザーに代わって GenerateDataKey (アップロードの場合) または Decrypt (ダウンロードの場合) リクエストを AWS KMS に対して行います。これらのリクエストは制限に対してカウントされるため、SSE-KMS を使って暗号化された S3 オブジェクトの 1 秒あたりのアップロード数またはダウンロード数の総数が合計 5,500 件 (または 10,000 件) を超えた場合、AWS KMS はリクエストを調整します。

クロスアカウントリクエスト

1 つの AWS アカウントのアプリケーションが異なるアカウントが所持する CMK を使用する場合、これはクロスアカウントリクエストと呼ばれます。クロスアカウントリクエストでは、AWS KMS は、CMK を所有するアカウントではなく、リクエストを行うアカウントを調整します。たとえば、A アカウントと B アカウントにアプリケーションを所有し、その両方が C アカウントの CMK を使用するとします。この場合、1 秒あたりのリクエスト制限は A アカウントと B アカウントに別々に適用されますが、C アカウントには適用されません。

カスタムキーストア

カスタムキーストアで CMK を使用する暗号化オペレーションは、単一のカスタムキーストアで毎秒 400 オペレーションの速度に達すると抑制されます。このスロットル制限は、すべての暗号オペレーションと各カスタムキーストアのすべての CMK で共有されます。他の制限とは異なり、AWS サポートセンターでケースを作成することでこの制限を引き上げることはできません。

注記

カスタムキーストアに関連付けられている AWS CloudHSM クラスターが他のアプリケーションからのコマンドを含む多数のコマンドを処理している場合、毎秒 400 オペレーションよりも低い速度で ThrottlingException が発生する可能性があります。これが発生した場合、リクエストレートを下げてコマンドを再試行してください。

各 AWS KMS API オペレーションの 1 秒あたりの制限リクエスト数

API オペレーション 1 秒あたりのリクエスト数の制限

Decrypt

Encrypt

GenerateDataKey

GenerateDataKeyWithoutPlaintext

GenerateRandom

ReEncrypt

5500 (共有)

10,000 (共有) は、以下のリージョンでのみ:
  • 米国東部 (バージニア北部)、us-east-1

  • 米国西部 (オレゴン)、us-west-2

  • 欧州 (アイルランド)、eu-west-1

カスタムキーストアごとに 400 (共有)。

CancelKeyDeletion 5
CreateAlias 5
CreateGrant 50
CreateKey 5
DeleteAlias 5
DeleteImportedKeyMaterial 5
DescribeKey 30
DisableKey 5
DisableKeyRotation 5
EnableKey 5
EnableKeyRotation 5
GetKeyPolicy 30
GetKeyRotationStatus 30
GetParametersForImport 0.25 (レートが 4 秒あたりで 1 つを超える場合に AWS KMS はリクエストを調整します)
ImportKeyMaterial 5
ListAliases 5
ListGrants 5
ListKeyPolicies 5
ListKeys 5
ListResourceTags 5
ListRetirableGrants 5
PutKeyPolicy 5
RetireGrant 15
RevokeGrant 15
ScheduleKeyDeletion 5
TagResource 5
UntagResource 5
UpdateAlias 5
UpdateKeyDescription 5