翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Key Management Service のアクション、リソース、および条件キー
AWS Key Management Service (サービスプレフィックス: kms
) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。
参照:
-
このサービスを設定する方法について説明します。
-
このサービスで使用可能な API オペレーションのリストを表示します。
-
IAM アクセス許可ポリシーを使用して、このサービスとそのリソースを保護する方法を学びます。
トピック
AWS Key Management Service で定義されるアクション
IAM ポリシーステートメントの Action
エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。
[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource
要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource
要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。
[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition
要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。
注記
リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。
以下の表の列の詳細については、「アクションテーブル」を参照してください。
アクション | 説明 | アクセスレベル | リソースタイプ (* 必須) | 条件キー | 依存アクション |
---|---|---|---|---|---|
CancelKeyDeletion | AWS KMS キーのスケジュールされた削除をキャンセルする許可を制御する | 書き込み | |||
ConnectCustomKeyStore | カスタムキーストアを、それに関連付けられた AWS CloudHSM クラスターまたは AWS 以外の外部キーマネージャーに接続または再接続するアクセス許可を管理します | 書き込み | |||
CreateAlias | AWS KMS キーのエイリアスを作成する許可を制御する。エイリアスは KMS キーに関連付けることができるオプションのわかりやすい名前です | 書き込み | |||
CreateCustomKeyStore | AWS CloudHSM クラスターか、AWS 以外の部キーマネージャーによりバックアップされた、カスタムキーストアを作成するアクセス許可を管理します | 書き込み |
cloudhsm:DescribeClusters iam:CreateServiceLinkedRole |
||
CreateGrant | AWS KMS キーへの許可を追加する許可を制御する。権限を使用すると、キーポリシーまたは IAM ポリシーを変更することなく許可を追加できます | アクセス許可の管理 | |||
CreateKey | データキーやその他の機密情報を保護するために使用できる AWS KMS キーを作成する許可を制御する | 書き込み |
iam:CreateServiceLinkedRole kms:PutKeyPolicy kms:TagResource |
||
Decrypt | AWS KMS キーで暗号化された暗号化テキストを復号する許可を制御する | 書き込み | |||
kms:EncryptionContext:${EncryptionContextKey} |
|||||
DeleteAlias | エイリアスを削除するアクセス許可を制御します。エイリアスは AWS KMS キーに関連付けることができるオプションのわかりやすい名前です | 書き込み | |||
DeleteCustomKeyStore | カスタムキーストアを削除するアクセス許可を制御します | 書き込み | |||
DeleteImportedKeyMaterial | AWS KMS キーにインポートした暗号化マテリアルを削除する許可を制御する。このアクションにより、キーは使用できなくなります | 書き込み | |||
DescribeCustomKeyStores | アカウントおよびリージョンのカスタムキーストアに関する詳細情報を表示するアクセス許可を制御します | 読み込み | |||
DescribeKey | AWS KMS キーに関する詳細情報を表示する許可を制御する | 読み込み | |||
DisableKey | AWS KMS キーを無効にする許可を制御します。これにより、暗号化オペレーションで使用されなくなります | 書き込み | |||
DisableKeyRotation | カスタマー管理の AWS KMS キーの自動ローテーションを無効にする許可を制御する | 書き込み | |||
DisconnectCustomKeyStore | 関連付けられている AWS CloudHSM クラスターまたは AWS 以外の外部キーマネージャーからカスタムキーストアを切断するアクセス許可を管理します | 書き込み | |||
EnableKey | AWS KMS キーの状態を有効へ変更する許可を制御する。これにより、KMS キーを暗号化オペレーションで使用することができます | 書き込み | |||
EnableKeyRotation | AWS KMS キーの暗号化マテリアルの自動ローテーションを有効化する許可を制御する | 書き込み | |||
Encrypt | 指定された AWS KMS キーを使用してデータとデータキーを暗号化する許可を制御する | 書き込み | |||
GenerateDataKey | AWS KMS キーを使用してデータとデータキーを生成する許可を制御する。データキーを使用して、AWS KMS の外部のデータを暗号化できます | 書き込み | |||
kms:EncryptionContext:${EncryptionContextKey} |
|||||
GenerateDataKeyPair | AWS KMS キーを使用してデータキーペアを生成する許可を制御する | 書き込み | |||
GenerateDataKeyPairWithoutPlaintext | AWS KMS キーを使用してデータとデータキーペアを生成する許可を制御する。GenerateDataKeyPair オペレーションとは異なり、このオペレーションは、暗号化されたプライベートキーを、プレーンテキストコピーなしで返します | 書き込み | |||
GenerateDataKeyWithoutPlaintext | AWS KMS キーを使用してデータキーを生成する許可を制御する。GenerateDataKey オペレーションとは異なり、このオペレーションは、暗号化されたデータキーを、データキーのプレーンテキストバージョンなしで返します | 書き込み | |||
GenerateMac | AWS KMS キーを使用してメッセージ認証コードを生成するアクセス許可を制御します | 書き込み | |||
GenerateRandom | 暗号化に関して安全なランダムなバイト列を AWS KMS から取得するアクセス許可を制御します | 書き込み | |||
GetKeyPolicy | 指定された AWS KMS キーのキーポリシーを表示する許可を制御する | 読み込み | |||
GetKeyRotationStatus | 自動キーローテーションが AWS KMS キーで有効になっているかどうかを判断する許可を制御する | 読み込み | |||
GetParametersForImport | パブリックキーとインポートトークンを含む、暗号化されたマテリアルをカスタマーマネージドキーにインポートするために、必要なデータを取得するアクセス許可を制御します | 読み込み | |||
GetPublicKey | 非対称 AWS KMS キーのパブリックキーをダウンロードする許可を制御する | 読み込み | |||
ImportKeyMaterial | AWS KMS キーに暗号化マテリアルをインポートする許可を制御する | 書き込み | |||
ListAliases | アカウントに定義されているエイリアスを表示するアクセス許可を制御します。エイリアスは AWS KMS に関連付けることができるオプションのわかりやすい名前です | リスト | |||
ListGrants | AWS KMS キーのすべての許可を表示する許可を制御する | リスト | |||
ListKeyPolicies | AWS KMS キーのキーポリシーの名前を表示する許可を制御する | リスト | |||
ListKeys | アカウントのすべての AWS KMS キーのキー ID と Amazon リソースネーム (ARN) を表示する許可を制御する | リスト | |||
ListResourceTags | AWS KMS キーにアタッチされているすべてのタグを表示する許可を制御する | リスト | |||
ListRetirableGrants | 指定したプリンシパルが削除プリンシパルである権限付与を表示するアクセス許可を制御します。他のプリンシパルは権限付与を解除し、このプリンシパルは他の権限付与を解除する可能性があります | リスト | |||
PutKeyPolicy | 指定された AWS KMS キーのキーポリシーを置き換える許可を制御する | アクセス許可の管理 | |||
ReEncryptFrom | AWS KMS 内のデータを復号化して再暗号化するプロセスの一環として、データを復号化するアクセス許可を制御します | 書き込み | |||
ReEncryptTo | AWS KMS 内のデータを復号化して再暗号化するプロセスの一環として、データを暗号化するアクセス許可を制御します | 書き込み | |||
ReplicateKey | マルチリージョンのプライマリキーをレプリケートするアクセス許可を制御します | 書き込み |
iam:CreateServiceLinkedRole kms:CreateKey kms:PutKeyPolicy kms:TagResource |
||
RetireGrant | 許可を無効にするアクセス許可を制御します。RetireGrant オペレーションは、通常、タスクが完了した後で、実行することを許可された権限ユーザーによって呼び出されます | Permissions management | |||
RevokeGrant | 許可を取り消す許可を制御します。これは、その許可に依存するすべてのオペレーションの許可を拒否します | アクセス許可の管理 | |||
ScheduleKeyDeletion | AWS KMS キーの削除をスケジュールする許可を制御する | 書き込み | |||
Sign | メッセージのデジタル署名を作成する許可を制御します | 書き込み | |||
SynchronizeMultiRegionKey [アクセス許可のみ] | マルチリージョンキーを同期する内部 API へのアクセスを制御します | 書き込み | |||
TagResource | AWS KMS キーにアタッチされているタグを作成または更新する許可を制御する | タグ付け | |||
UntagResource | AWS KMS キーにアタッチされているタグを削除する許可を制御する | タグ付け | |||
UpdateAlias | エイリアスを別の AWS KMS キーに関連付けるアクセス許可を制御する。エイリアスは、KMS キーに関連付けることができるオプションのわかりやすい名前です | 書き込み | |||
UpdateCustomKeyStore | カスタムキーストアのプロパティを変更する許可を制御します | 書き込み | |||
UpdateKeyDescription | AWS KMS キーの説明を削除または変更する許可を制御する | 書き込み | |||
UpdatePrimaryRegion | マルチリージョンのプライマリキーのプライマリリージョンを更新するアクセス許可を制御します | 書き込み | |||
Verify | 指定された AWS KMS キーを使用してデジタル署名を検証する許可を制御する | 書き込み | |||
VerifyMac | AWS KMS キーを使用してメッセージ認証コードを検証するアクセス許可を制御します | 書き込み | |||
AWS Key Management Service で定義されるリソースタイプ
以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource
エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。
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 オペレーションへのアクセスをフィルタリングします | 文字列 |