翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
エイリアスへのアクセスの制御
エイリアスを作成または変更すると、エイリアスとその関連付けられたKMSキーに影響します。したがって、エイリアスを管理するプリンシパルには、エイリアスと影響を受けるすべてのKMSキーでエイリアスオペレーションを呼び出すアクセス許可が必要です。これらのアクセス許可は、キーポリシー 、IAMポリシー、および の許可 AWS KMS許可 を使用して提供できます。
注記
タグとエイリアスを管理する許可をプリンシパルに付与する場合は注意が必要です。タグまたはエイリアスを変更すると、カスタマーマネージドキーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」および「エイリアスを使用してKMSキーへのアクセスを制御する」を参照してください。
すべての AWS KMS オペレーションへのアクセスの制御については、「」を参照してくださいアクセス許可に関するリファレンス。
エイリアスを作成および管理するための権限は、次のように機能します。
kms:CreateAlias
エイリアスを作成するには、プリンシパルはエイリアスと関連付けられたKMSキーの両方に対して次のアクセス許可が必要です。
-
kms:CreateAlias
エイリアスの場合。エイリアスの作成が許可されているプリンシパルにアタッチされたIAMポリシーに、このアクセス許可を付与します。次のポリシーステートメントの例では、
Resource
エレメントの特定のエイリアスを指定します。ただし、複数のエイリアスを一覧表示ARNsしたり、「test*」などのエイリアスパターンを指定したりできます。Resource
値を"*"
に指定すると、プリンシパルがアカウントとリージョンで任意のエイリアスを作成できるようになります。エイリアスを作成する権限は、アカウントおよびリージョン内のすべてのリソースに対するkms:Create*
権限に含めることもできます。{ "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
-
kms:CreateAlias
KMSキー用。このアクセス許可は、キーポリシーまたはキーIAMポリシーから委任されたポリシーで指定する必要があります。{ "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:CreateAlias", "kms:DescribeKey" ], "Resource": "*" }
条件キーを使用して、エイリアスに関連付けることができるKMSキーを制限できます。例えば、kms:KeySpec 条件キーを使用して、プリンシパルが非対称KMSキーにのみエイリアスを作成できるようにします。KMS キーリソースのkms:CreateAlias
アクセス許可を制限するために使用できる条件キーの完全なリストについては、「」を参照してくださいAWS KMS アクセス許可。
kms:ListAliases
アカウントとリージョンのエイリアスを一覧表示するには、プリンシパルにIAMポリシーのkms:ListAliases
アクセス許可が必要です。このポリシーは特定のKMSキーまたはエイリアスリソースには関連していないため、ポリシーのリソース要素の値は である必要があります"*"。
例えば、次のIAMポリシーステートメントは、アカウントとリージョン内のすべてのKMSキーとエイリアスを一覧表示するアクセス許可をプリンシパルに付与します。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } }
kms:UpdateAlias
エイリアスに関連付けられているKMSキーを変更するには、プリンシパルに 3 つのアクセス許可要素が必要です。1 つはエイリアス用、1 つは現在のKMSキー用、もう 1 つは新しいKMSキー用です。
例えば、キー ID が 1234abcd-12ab-34cd-56ef-1234567890ab のKMSキーから、キー ID が 0987dcba-09fe-87dc-65ba-ab0987654321 のKMSキーにtest-key
エイリアスを変更するとします。その場合は、このセクションの例に似たポリシーステートメントを含めます。
-
kms:UpdateAlias
エイリアスの場合。このアクセス許可は、プリンシパルにアタッチされているIAMポリシーで付与します。次のIAMポリシーは、特定のエイリアスを指定します。ただし、複数のエイリアスを一覧表示ARNsしたり、 などのエイリアスパターンを指定したりできます"test*"
。"*"
のResource
値を指定することで、プリンシパルがアカウントとリージョンで任意のエイリアスを更新できるようにもなります。{ "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:UpdateAlias", "kms:ListAliases", "kms:ListKeys" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
-
kms:UpdateAlias
エイリアスに現在関連付けられているKMSキー。このアクセス許可は、キーポリシーまたはキーIAMポリシーから委任されたポリシーで指定する必要があります。{ "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }
-
kms:UpdateAlias
オペレーションがエイリアスに関連付けるKMSキー。このアクセス許可は、キーポリシーまたはキーIAMポリシーから委任されたポリシーで指定する必要があります。{ "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }
条件キーを使用して、UpdateAlias
オペレーション内のいずれかのキーまたは両方のKMSキーを制限できます。例えば、kms:ResourceAliases 条件キーを使用して、ターゲットKMSキーに特定のエイリアスがすでにある場合にのみプリンシパルがエイリアスを更新できるようにします。キーリソースのkms:UpdateAlias
アクセス許可を制限するために使用できる条件KMSキーの完全なリストについては、「」を参照してくださいAWS KMS アクセス許可。
kms:DeleteAlias
エイリアスを削除するには、プリンシパルはエイリアスと関連付けられたKMSキーのアクセス許可が必要です。
プリンシパルにリソースを削除する権限を与えるときは、いつものように注意する必要があります。ただし、エイリアスを削除しても、関連付けられたKMSキーには影響しません。エイリアスに依存するアプリケーションでエラーが発生する可能性がありますが、エイリアスを誤って削除した場合は、エイリアスを再作成することができます。
-
kms:DeleteAlias
エイリアスの場合。エイリアスの削除が許可されているプリンシパルにアタッチされたIAMポリシーに、このアクセス許可を付与します。次のポリシーステートメントの例は、
Resource
エレメントのエイリアスを指定します。ただし、複数のエイリアスを一覧表示ARNsしたり、 などのエイリアスパターンを指定したりできます。Resource
の値を指定"*"
して"test*"
、プリンシパルがアカウントとリージョン内のエイリアスを削除できるようにすることもできます。{ "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
-
kms:DeleteAlias
は、関連付けられたKMSキー用です。このアクセス許可は、キーポリシーまたはキーIAMポリシーから委任されたポリシーで指定する必要があります。{ "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser" }, "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias", "kms:DescribeKey" ], "Resource": "*" }
エイリアスのアクセス許可を制限する
リソースがキーである場合、条件KMSキーを使用してエイリアスアクセス許可を制限できます。例えば、次のIAMポリシーでは、特定のアカウントとリージョンのKMSキーに対するエイリアスオペレーションを許可します。ただし、kms:KeyOrigin 条件キーを使用して、 からのKMSキーマテリアルを持つキーへのアクセス許可をさらに制限します AWS KMS。
キーリソースのエイリアスアクセス許可を制限するために使用できる条件KMSキーの完全なリストについては、「」を参照してくださいAWS KMS アクセス許可。
{ "Sid": "IAMPolicyKeyPermissions", "Effect": "Allow", "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Condition": { "StringEquals": { "kms:KeyOrigin": "AWS_KMS" } } }
リソースがエイリアスのポリシーステートメントでは、条件キーを使用できません。プリンシパルが管理できるエイリアスを制限するには、エイリアスへのアクセスを制御するIAMポリシーステートメントの Resource
要素の値を使用します。例えば、次のポリシーステートメントでは、 および リージョンでエイリアスの作成、更新、削除をプリンシパルに許可 AWS アカウント します。ただし、エイリアスが で始まる場合は除きますRestricted
。
{ "Sid": "IAMPolicyForAnAliasAllow", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*" }, { "Sid": "IAMPolicyForAnAliasDeny", "Effect": "Deny", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*" }