KMSには、アマゾンエイリアスキー(例:/alias/aws/s3
)とCustomer Master Keys(CMK)があります。各開発チームのために アマゾンエイリアスキーにのみアクセスを許可するIAMポリシー
の別名を持つ少数CMKs(例えば/alias/team1/default
、/alias/team1/confidential
)を持っていますが、チームを提供しますAWSへのアクセスを許可しようとすると、暗黙のiam:*
とkms:*
に否定するが、許可アクセストンを提供するためのキー
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"NotAction": [
"iam:*",
"kms:*"
],
"Resource": "*",
"Condition": {
"Null": {
"aws:MultiFactorAuthAge": "false"
}
}
},
{
"Effect": "Allow",
"Resource": "arn:aws:kms:us-east-1:111111111111:alias/aws/*",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Condition": {
"Null": {
"aws:MultiFactorAuthAge": "false"
}
}
}
]
}
を管理する際にチームレベルのキーにレベルのアクセス
私の問題が来ますO AWSエイリアスキー
IAMポリシーシミュレータで作業する場合、私は完全なキーARN(arn:aws:kms:us-east-1:111111111111:key/abcd123-acbd-1234-abcd-acbcd1234abcd
)ではなくエイリアスへのアクセス(arn:aws:kms:us-east-1:111111111111:alias/aws/*
)を提供するために持っているように、それが見えます
管理するための良い方法はありますこの?
あなたがのためのリソースとしての鍵の別名を使用することができます
NotAction要素には注意してください。サンプルポリシーでは、iam:*およびkms:*以外のすべてのサービスとアクションを許可しています。リファレンス:http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html –
これは私たちの開発者アカウント用で、これを行うグループは「パワーユーザー」グループです。アイデアは、物事を試して試してみると摩擦がなくてはならないということですが、チームが自分の鍵で暗号化することに決めたら、鍵のアクセスを分離したい – tkwargs