Identity base policy の基本
AWS公式ドキュメント『AWS アカウント へのアクセスを許可し、IAM ポリシーを有効にする』に記載されている通りだが。
IAMによるKMSのアクセス制御(identity base policy)を有効にするには、キーポリシーに以下の ような ポリシーを含める必要がある。
{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:*",
"Resource": "*"
}
}
このキーポリシーでは、KMSの全アクセス権がIAMポリシーで制御できるようになる。
一部のアクセス権の制御をIAMポリシーに渡す
公式ドキュメントからは読み取りづらいのだが、全アクセス権ではなく一部のアクセス権をIAMに渡すこともできる。
下記のキーポリシーのように Action
を限定すれば、そのアクセス権だけがIAMで制御できるようになる。
{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
- "Action": "kms:*",
+ "Action": "kms:Get*",
"Resource": "*"
}
}