2017-11-01 19 views
0

KMSには、アマゾンエイリアスキー(例:/alias/aws/s3)とCustomer Master Keys(CMK)があります。各開発チームのために アマゾンエイリアスキーにのみアクセスを許可するIAMポリシー

、私はすべてのIAMユーザー/グループ/ロールにキーをエイリアスAWSへのアクセスを許可したい

の別名を持つ少数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/*)を提供するために持っているように、それが見えます

管理するための良い方法はありますこの?

あなたがのためのリソースとしての鍵の別名を使用することができます

+1

NotAction要素には注意してください。サンプルポリシーでは、iam:*およびkms:*以外のすべてのサービスとアクションを許可しています。リファレンス:http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html –

+0

これは私たちの開発者アカウント用で、これを行うグループは「パワーユーザー」グループです。アイデアは、物事を試して試してみると摩擦がなくてはならないということですが、チームが自分の鍵で暗号化することに決めたら、鍵のアクセスを分離したい – tkwargs

答えて

1

を私はIAMからのアクセスを許可するキーポリシーを使用してCMKsへのアクセスを管理していないことを知っていますが、KMSキーポリシーにPrincipalとしてグループを使用することはできませんエイリアス自体(例えば、エイリアスの作成/削除)とエイリアスで動作するAPIへのアクセスを制御するために使用されるAPIは、基になるキーへのアクセスを制御するためにキーIDの代わりにARNとして使用することはできません。 KMS APIで使用するリソース/ ARNについては、次のURLの表を参照してください。

http://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html

あなたはこのアプローチを検討することができます:IAMグループは、IAM役割を担い、CMKの主要政策のIAM役割を許可することを許可します。

ソース:https://forums.aws.amazon.com/thread.jspa?threadID=173540

関連する問題