AWS Key Management Service のアクション、リソース、および条件キー - サービス認証リファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Key Management Service のアクション、リソース、および条件キー

AWS Key Management Service (サービスプレフィックス: kms) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。

参照:

AWS Key Management Service で定義されるアクション

IAM ポリシーステートメントの Action エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。

[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource 要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource 要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。

[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition 要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。

注記

リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。

以下の表の列の詳細については、「アクションテーブル」を参照してください。

アクション 説明 アクセスレベル リソースタイプ (* 必須) 条件キー 依存アクション
CancelKeyDeletion AWS KMS キーのスケジュールされた削除をキャンセルする許可を制御する 書き込み

key*

kms:CallerAccount

kms:ViaService

ConnectCustomKeyStore カスタムキーストアを、それに関連付けられた AWS CloudHSM クラスターまたは AWS 以外の外部キーマネージャーに接続または再接続するアクセス許可を管理します 書き込み

kms:CallerAccount

CreateAlias AWS KMS キーのエイリアスを作成する許可を制御する。エイリアスは KMS キーに関連付けることができるオプションのわかりやすい名前です 書き込み

alias*

key*

kms:CallerAccount

kms:ViaService

CreateCustomKeyStore AWS CloudHSM クラスターか、AWS 以外の部キーマネージャーによりバックアップされた、カスタムキーストアを作成するアクセス許可を管理します 書き込み

kms:CallerAccount

cloudhsm:DescribeClusters

iam:CreateServiceLinkedRole

CreateGrant AWS KMS キーへの許可を追加する許可を制御する。権限を使用すると、キーポリシーまたは IAM ポリシーを変更することなく許可を追加できます アクセス許可の管理

key*

kms:CallerAccount

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:GrantConstraintType

kms:GranteePrincipal

kms:GrantIsForAWSResource

kms:GrantOperations

kms:RetiringPrincipal

kms:ViaService

CreateKey データキーやその他の機密情報を保護するために使用できる AWS KMS キーを作成する許可を制御する 書き込み

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

kms:BypassPolicyLockoutSafetyCheck

kms:CallerAccount

kms:KeySpec

kms:KeyUsage

kms:KeyOrigin

kms:MultiRegion

kms:MultiRegionKeyType

kms:ViaService

iam:CreateServiceLinkedRole

kms:PutKeyPolicy

kms:TagResource

Decrypt AWS KMS キーで暗号化された暗号化テキストを復号する許可を制御する 書き込み

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RecipientAttestation:ImageSha384

kms:RequestAlias

kms:ViaService

DeleteAlias エイリアスを削除するアクセス許可を制御します。エイリアスは AWS KMS キーに関連付けることができるオプションのわかりやすい名前です 書き込み

alias*

key*

kms:CallerAccount

kms:ViaService

DeleteCustomKeyStore カスタムキーストアを削除するアクセス許可を制御します 書き込み

kms:CallerAccount

DeleteImportedKeyMaterial AWS KMS キーにインポートした暗号化マテリアルを削除する許可を制御する。このアクションにより、キーは使用できなくなります 書き込み

key*

kms:CallerAccount

kms:ViaService

DescribeCustomKeyStores アカウントおよびリージョンのカスタムキーストアに関する詳細情報を表示するアクセス許可を制御します 読み込み

kms:CallerAccount

DescribeKey AWS KMS キーに関する詳細情報を表示する許可を制御する 読み込み

key*

kms:CallerAccount

kms:RequestAlias

kms:ViaService

DisableKey AWS KMS キーを無効にする許可を制御します。これにより、暗号化オペレーションで使用されなくなります 書き込み

key*

kms:CallerAccount

kms:ViaService

DisableKeyRotation カスタマー管理の AWS KMS キーの自動ローテーションを無効にする許可を制御する 書き込み

key*

kms:CallerAccount

kms:ViaService

DisconnectCustomKeyStore 関連付けられている AWS CloudHSM クラスターまたは AWS 以外の外部キーマネージャーからカスタムキーストアを切断するアクセス許可を管理します 書き込み

kms:CallerAccount

EnableKey AWS KMS キーの状態を有効へ変更する許可を制御する。これにより、KMS キーを暗号化オペレーションで使用することができます 書き込み

key*

kms:CallerAccount

kms:ViaService

EnableKeyRotation AWS KMS キーの暗号化マテリアルの自動ローテーションを有効化する許可を制御する 書き込み

key*

kms:CallerAccount

kms:ViaService

Encrypt 指定された AWS KMS キーを使用してデータとデータキーを暗号化する許可を制御する 書き込み

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RequestAlias

kms:ViaService

GenerateDataKey AWS KMS キーを使用してデータとデータキーを生成する許可を制御する。データキーを使用して、AWS KMS の外部のデータを暗号化できます 書き込み

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RecipientAttestation:ImageSha384

kms:RequestAlias

kms:ViaService

GenerateDataKeyPair AWS KMS キーを使用してデータキーペアを生成する許可を制御する 書き込み

key*

kms:CallerAccount

kms:DataKeyPairSpec

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RequestAlias

kms:ViaService

GenerateDataKeyPairWithoutPlaintext AWS KMS キーを使用してデータとデータキーペアを生成する許可を制御する。GenerateDataKeyPair オペレーションとは異なり、このオペレーションは、暗号化されたプライベートキーを、プレーンテキストコピーなしで返します 書き込み

key*

kms:CallerAccount

kms:DataKeyPairSpec

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RequestAlias

kms:ViaService

GenerateDataKeyWithoutPlaintext AWS KMS キーを使用してデータキーを生成する許可を制御する。GenerateDataKey オペレーションとは異なり、このオペレーションは、暗号化されたデータキーを、データキーのプレーンテキストバージョンなしで返します 書き込み

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RequestAlias

kms:ViaService

GenerateMac AWS KMS キーを使用してメッセージ認証コードを生成するアクセス許可を制御します 書き込み

key*

kms:CallerAccount

kms:MacAlgorithm

kms:RequestAlias

kms:ViaService

GenerateRandom 暗号化に関して安全なランダムなバイト列を AWS KMS から取得するアクセス許可を制御します 書き込み

kms:RecipientAttestation:ImageSha384

GetKeyPolicy 指定された AWS KMS キーのキーポリシーを表示する許可を制御する 読み込み

key*

kms:CallerAccount

kms:ViaService

GetKeyRotationStatus 自動キーローテーションが AWS KMS キーで有効になっているかどうかを判断する許可を制御する 読み込み

key*

kms:CallerAccount

kms:ViaService

GetParametersForImport パブリックキーとインポートトークンを含む、暗号化されたマテリアルをカスタマーマネージドキーにインポートするために、必要なデータを取得するアクセス許可を制御します 読み込み

key*

kms:CallerAccount

kms:ViaService

kms:WrappingAlgorithm

kms:WrappingKeySpec

GetPublicKey 非対称 AWS KMS キーのパブリックキーをダウンロードする許可を制御する 読み込み

key*

kms:CallerAccount

kms:RequestAlias

kms:ViaService

ImportKeyMaterial AWS KMS キーに暗号化マテリアルをインポートする許可を制御する 書き込み

key*

kms:CallerAccount

kms:ExpirationModel

kms:ValidTo

kms:ViaService

ListAliases アカウントに定義されているエイリアスを表示するアクセス許可を制御します。エイリアスは AWS KMS に関連付けることができるオプションのわかりやすい名前です リスト
ListGrants AWS KMS キーのすべての許可を表示する許可を制御する リスト

key*

kms:CallerAccount

kms:GrantIsForAWSResource

kms:ViaService

ListKeyPolicies AWS KMS キーのキーポリシーの名前を表示する許可を制御する リスト

key*

kms:CallerAccount

kms:ViaService

ListKeys アカウントのすべての AWS KMS キーのキー ID と Amazon リソースネーム (ARN) を表示する許可を制御する リスト
ListResourceTags AWS KMS キーにアタッチされているすべてのタグを表示する許可を制御する リスト

key*

kms:CallerAccount

kms:ViaService

ListRetirableGrants 指定したプリンシパルが削除プリンシパルである権限付与を表示するアクセス許可を制御します。他のプリンシパルは権限付与を解除し、このプリンシパルは他の権限付与を解除する可能性があります リスト
PutKeyPolicy 指定された AWS KMS キーのキーポリシーを置き換える許可を制御する アクセス許可の管理

key*

kms:BypassPolicyLockoutSafetyCheck

kms:CallerAccount

kms:ViaService

ReEncryptFrom AWS KMS 内のデータを復号化して再暗号化するプロセスの一環として、データを復号化するアクセス許可を制御します 書き込み

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:ReEncryptOnSameKey

kms:RequestAlias

kms:ViaService

ReEncryptTo AWS KMS 内のデータを復号化して再暗号化するプロセスの一環として、データを暗号化するアクセス許可を制御します 書き込み

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:ReEncryptOnSameKey

kms:RequestAlias

kms:ViaService

ReplicateKey マルチリージョンのプライマリキーをレプリケートするアクセス許可を制御します 書き込み

key*

iam:CreateServiceLinkedRole

kms:CreateKey

kms:PutKeyPolicy

kms:TagResource

kms:CallerAccount

kms:ReplicaRegion

kms:ViaService

RetireGrant 許可を無効にするアクセス許可を制御します。RetireGrant オペレーションは、通常、タスクが完了した後で、実行することを許可された権限ユーザーによって呼び出されます Permissions management

key*

RevokeGrant 許可を取り消す許可を制御します。これは、その許可に依存するすべてのオペレーションの許可を拒否します アクセス許可の管理

key*

kms:CallerAccount

kms:GrantIsForAWSResource

kms:ViaService

ScheduleKeyDeletion AWS KMS キーの削除をスケジュールする許可を制御する 書き込み

key*

kms:CallerAccount

kms:ScheduleKeyDeletionPendingWindowInDays

kms:ViaService

Sign メッセージのデジタル署名を作成する許可を制御します 書き込み

key*

kms:CallerAccount

kms:MessageType

kms:RequestAlias

kms:SigningAlgorithm

kms:ViaService

SynchronizeMultiRegionKey [アクセス許可のみ] マルチリージョンキーを同期する内部 API へのアクセスを制御します 書き込み

key*

TagResource AWS KMS キーにアタッチされているタグを作成または更新する許可を制御する タグ付け

key*

aws:RequestTag/${TagKey}

aws:TagKeys

kms:CallerAccount

kms:ViaService

UntagResource AWS KMS キーにアタッチされているタグを削除する許可を制御する タグ付け

key*

aws:TagKeys

kms:CallerAccount

kms:ViaService

UpdateAlias エイリアスを別の AWS KMS キーに関連付けるアクセス許可を制御する。エイリアスは、KMS キーに関連付けることができるオプションのわかりやすい名前です 書き込み

alias*

key*

kms:CallerAccount

kms:ViaService

UpdateCustomKeyStore カスタムキーストアのプロパティを変更する許可を制御します 書き込み

kms:CallerAccount

UpdateKeyDescription AWS KMS キーの説明を削除または変更する許可を制御する 書き込み

key*

kms:CallerAccount

kms:ViaService

UpdatePrimaryRegion マルチリージョンのプライマリキーのプライマリリージョンを更新するアクセス許可を制御します 書き込み

key*

kms:CallerAccount

kms:PrimaryRegion

kms:ViaService

Verify 指定された AWS KMS キーを使用してデジタル署名を検証する許可を制御する 書き込み

key*

kms:CallerAccount

kms:MessageType

kms:RequestAlias

kms:SigningAlgorithm

kms:ViaService

VerifyMac AWS KMS キーを使用してメッセージ認証コードを検証するアクセス許可を制御します 書き込み

key*

kms:CallerAccount

kms:MacAlgorithm

kms:RequestAlias

kms:ViaService

AWS Key Management Service で定義されるリソースタイプ

以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。

リソースタイプ ARN 条件キー
alias arn:${Partition}:kms:${Region}:${Account}:alias/${Alias}
key arn:${Partition}:kms:${Region}:${Account}:key/${KeyId}

aws:ResourceTag/${TagKey}

kms:KeyOrigin

kms:KeySpec

kms:KeyUsage

kms:MultiRegion

kms:MultiRegionKeyType

kms:ResourceAliases

AWS Key Management Service の条件キー

AWS Key Management Service は、IAM ポリシーの Condition 要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。

すべてのサービスで使用できるグローバル条件キーを確認するには、「使用できるグローバル条件キー」を参照してください。

条件キー 説明 タイプ
aws:RequestTag/${TagKey} リクエスト内のタグのキーと値の両方に基づいて、指定した AWS KMS オペレーションへのアクセスをフィルタリングします 文字列
aws:ResourceTag/${TagKey} AWS KMS キーに割り当てられたタグに基づいて、指定された AWS KMS オペレーションへのアクセスをフィルタリングする 文字列
aws:TagKeys リクエスト内のタグキーに基づいて、指定した AWS KMS オペレーションへのアクセスをフィルタリングします ArrayOfString
kms:BypassPolicyLockoutSafetyCheck リクエストの BypassPolicyLockoutSafetyCheck パラメータの値に基づいて、CreateKey オペレーションおよび PutKeyPolicy オペレーションへのアクセスをフィルタリングします Bool
kms:CallerAccount 呼び出し側の AWS ID に基づいて、指定された AWS アカウント KMS オペレーションへのアクセスをフィルタリングします。この条件キーを使用して、単一のポリシーステートメント内の AWS アカウント のすべての IAM ユーザーおよびロールへのアクセスを許可または拒否できます 文字列
kms:CustomerMasterKeySpec kms:CustomerMasterKeySpec 条件キーは非推奨です。代わりに、kms:KeySpec 条件キーを使用します。 文字列
kms:CustomerMasterKeyUsage kms:CustomerMasterKeyUsage 条件キーは非推奨です。代わりに、kms:KeyUsage 条件キーを使用します。 文字列
kms:DataKeyPairSpec リクエストの KeyPairSpec パラメータの値に基づいて、GenerateDataKeyPair および GenerateDataKeyPairWithoutPlaintext オペレーションへのアクセスをフィルタリングします 文字列
kms:EncryptionAlgorithm リクエスト内の暗号化アルゴリズムの値に基づいて、暗号化オペレーションへのアクセスをフィルタリングします 文字列
kms:EncryptionContext:${EncryptionContextKey} 暗号化オペレーションの暗号化コンテキストに基づいて、対称 AWS KMS キーへのアクセスをフィルタリングします。この条件では、キーと値の各暗号化コンテキストペアのキーと値を評価します。 文字列
kms:EncryptionContextKeys 暗号化オペレーションの暗号化コンテキストに基づいて、対称 AWS KMS キーへのアクセスをフィルタリングします。この条件キーでは、キーと値の各暗号化コンテキストペアのキーのみを評価します。 ArrayOfString
kms:ExpirationModel リクエストの ExpirationModel パラメータの値に基づいて、ImportKeyMaterial オペレーションへのアクセスをフィルタリングします 文字列
kms:GrantConstraintType リクエストの許可の制約に基づいて、CreateGrant オペレーションへのアクセスをフィルタリングします 文字列
kms:GrantIsForAWSResource 指定された AWS のサービスからリクエストが送信されたときに、CreateGrant オペレーションへのアクセスをフィルタリングします Bool
kms:GrantOperations 権限のオペレーションに基づいて、CreateGrant オペレーションへのアクセスをフィルタリングします ArrayOfString
kms:GranteePrincipal 権限の被付与者プリンシパルに基づいて、CreateGrant オペレーションへのアクセスをフィルタリングします 文字列
kms:KeyOrigin オペレーションによって作成された、またはオペレーションで使用される AWS KMS キーの Origin プロパティに基づいて、API オペレーションへのアクセスをフィルタリングする。これを使用して、CreateKey オペレーションまたは KMS キーに対して認可されているオペレーションの承認を認定します 文字列
kms:KeySpec オペレーションによって作成される、またはオペレーションで使用される AWS KMS キーの KeySpec プロパティに基づいて、API オペレーションへのアクセスをフィルタリングする。これを使用して、CreateKey オペレーションまたは KMS キーリソースに対して認可されているオペレーションの承認を認定します 文字列
kms:KeyUsage オペレーションによって作成される、またはオペレーションで使用される AWS KMS キーの KeyUsage プロパティに基づいて、API オペレーションへのアクセスをフィルタリングする。これを使用して、CreateKey オペレーションまたは KMS キーリソースに対して認可されているオペレーションの承認を認定します 文字列
kms:MacAlgorithm リクエストの MacAlgorithm パラメータに基づいて、GenerateMac オペレーションおよび VerifyMac オペレーションへのアクセスをフィルタリングします 文字列
kms:MessageType リクエストの MessageType パラメータの値に基づいて、Sign オペレーションおよび Verify オペレーションへのアクセスをフィルタリングします 文字列
kms:MultiRegion オペレーションによって作成される、またはオペレーションで使用される AWS KMS キーの MultiRegion プロパティに基づいて、API オペレーションへのアクセスをフィルタリングする。これを使用して、CreateKey オペレーションまたは KMS キーリソースに対して認可されているオペレーションの承認を認定します Bool
kms:MultiRegionKeyType オペレーションによって作成される、またはオペレーションで使用される AWS KMS キーの MultiRegionKeyType プロパティに基づいて、API オペレーションへのアクセスをフィルタリングする。これを使用して、CreateKey オペレーションまたは KMS キーリソースに対して認可されているオペレーションの承認を認定します 文字列
kms:PrimaryRegion リクエストの PrimaryRegion パラメータの値に基づいて、UpdatePrimaryRegion オペレーションへのアクセスをフィルタリングします 文字列
kms:ReEncryptOnSameKey 暗号化オペレーションに使用されたのと同じ AWS KMSキーを使用する場合に、ReEncrypt オペレーションへのアクセスをフィルタリングする Bool
kms:RecipientAttestation:ImageSha384 リクエスト内の認証ドキュメントのイメージハッシュに基づいて、Decrypt、GenerateDataKey、および GenerateRandom オペレーションへのアクセスをフィルタリングします 文字列
kms:RecipientAttestation:PCR リクエスト内の認証ドキュメントの Platform Configuration Register (PCR) に基づいて、Decrypt、GenerateDataKey、および GenerateRandom オペレーションへのアクセスをフィルタリングします 文字列
kms:ReplicaRegion リクエストの ReplicaRegion パラメータの値に基づいて、ReplicateKey オペレーションへのアクセスをフィルタリングします 文字列
kms:RequestAlias リクエスト内のエイリアスに基づいて、暗号化操作、DescribeKey、および GetPublicKey へのアクセスをフィルタリングします 文字列
kms:ResourceAliases AWS KMS キーに関連付けられたエイリアスに基づいて、指定された AWS KMS オペレーションへのアクセスをフィルタリングする ArrayOfString
kms:RetiringPrincipal 権限の削除プリンシパルに基づいて、CreateGrant オペレーションへのアクセスをフィルタリングします 文字列
kms:ScheduleKeyDeletionPendingWindowInDays リクエスト内の PendingWindowInDays パラメータの値に基づいて、ScheduleKeyDeletion オペレーションへのアクセスをフィルタリング 数値
kms:SigningAlgorithm リクエストの署名アルゴリズムに基づいて、Sign および Verify オペレーションへのアクセスをフィルタリングします 文字列
kms:ValidTo リクエストの ValidTo パラメータの値に基づいて、ImportKeyMaterial オペレーションへのアクセスをフィルタリングします。この条件キーを使用すると、指定した日付までに期限が切れた場合にのみ、ユーザーがキーマテリアルをインポートできるようになります 日付
kms:ViaService プリンシパルに代わって行われたリクエストが指定された AWS のサービスからのものである場合に、アクセスをフィルタリングします 文字列
kms:WrappingAlgorithm リクエストの WrappingAlgorithm パラメータの値に基づいて、GetParametersForImport オペレーションへのアクセスをフィルタリングします 文字列
kms:WrappingKeySpec リクエストの WrappingKeySpec パラメータの値に基づいて、GetParametersForImport オペレーションへのアクセスをフィルタリングします 文字列