セキュリティポリシーの設定について
S3バケットポリシーとIAMポリシーがあるが、ぶっちゃけどっちからでも制御できるのは?という疑問。結論から言うと、クロスアカウントアクセスである場合は両方のポリシーを突破してあげる必要がある。
クロスアカウント??
AWSアカウントは今や1つだけのアカウントだけで運用するものではなく、目的別に(dev/prod用など)運用するものになっている。
画像引用:IAMでクロスアカウントスイッチロールを設定してみた
IAMポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::[ターゲットバケット名]/*"
}
]
}
S3バケットポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::[アカウントid]:role/[EC2にアタッチしたRole名]"
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::[バケット名]/*"
]
}
]
}
参考