メニュー
AWS Key Management Service
開発者ガイド

制限

AWS KMS オブジェクトには、各リージョンおよび各 AWS アカウントに適用される制限があります。これらの制限を超える必要がある場合は、AWS サポート センターにアクセスして、ケースを作成してください。一部の制限は、すべてのオブジェクトに適用されます。その他は作成するオブジェクトのみに適用されますが、アカウントで AWS サービスが作成するオブジェクトには適用されません。

リソース デフォルトの制限 適用先
カスタマーマスターキー (CMK) 1,000 カスタマー管理の CMK
別名 1100 カスタマー作成のエイリアス
CMK あたりの許可 2500 カスタマー管理の CMK
CMK キーあたりの特定のプリンシパルの権限 500 すべての CMKs
1 秒あたりのリクエスト API オペレーションによって異なります。を参照してください。 すべての CMKs

注記

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

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

リージョンごとに最大 1000 個のカスタマー管理 CMK を持つことができます。この制限は、キーの状態に関わらず、すべてのカスタマー管理 CMK に適用されます。AWS 管理型 CMK はこの制限には含まれません。

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

エイリアス: 1100

最大で 1100 までのエイリアスをアカウントで作成できます。アカウントで AWS が作成するエイリアス (aws/<service-name> など) は、この制限に含まれません。

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

CMK の制限を増やすリクエストを行う場合は、エイリアスの数の増加もリクエストが必要になることもあります。

CMK あたりの許可: 2500

カスタマー管理 CMK は、AWS KMS と統合される AWS サービスによって作成される権限を含めて、最大 2500 個の権限を持つことができます。この制限は、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 がそのオペレーションに合わせて KMS リクエストを調整するポイントです。

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

注記

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

共有される制限

次の表の 1 行目の API オペレーションでは、1 秒あたりのリクエスト数の 1200 件の制限を共有しています。たとえば、1 秒あたり 600 件の GenerateDataKey リクエストおよび 400 件の Decrypt リクエストを行う場合、AWS KMS はリクエストを調整しません。ただし、1 秒あたり 200 件Encryptと 1100 件GenerateDataKeyのリクエストを行うと、AWS KMS はリクエストを調整します。これは、共有される制限内でオペレーションで 1 秒あたり 1200 件を超えるリクエストを実行したためです。

残りの 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 秒あたりのアップロード数またはダウンロード数の総数が合計 1200 件を超えた場合、AWS KMS はリクエストを調整します。

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

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

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

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

Decrypt

Encrypt

GenerateDataKey

GenerateDataKeyWithoutPlaintext

GenerateRandom

ReEncrypt

1200 (共有)
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