🪣
[小ネタ]S3の全アクションを許可してるのにバケットポリシーが編集できなかった件
こんにちは深緑です。
今回は小ネタです。
AWSのS3にバケットを作成してユーザーにS3の全アクションを許可したのですが、
バケットポリシーは編集できないという現象にぶつかりました。
ユーザーに付与したポリシーはこちらです。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:ListStorageLensConfigurations",
"s3:ListAccessPointsForObjectLambda",
"s3:ListBucketMultipartUploads",
"s3:ListAllMyBuckets",
"s3:ListAccessPoints",
"s3:ListJobs",
"s3:ListBucketVersions",
"s3:ListBucket",
"s3:ListMultiRegionAccessPoints",
"s3:ListMultipartUploadParts"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::fukamidori-bucket/*"
}
]
}
"Action": "s3:*",
があるのでResource
に書いてあるバケットに対して何でもできると思ったのですが、
"Resource": "arn:aws:s3:::fukamidori-bucket/*"
とあるので、
fukamidori-bucket
の配下のオブジェクトに対して何でもできるという意味になってました。
バケットポリシーはバケットそのものの設定なのでResource
にバケットの配下のオブジェクトだけでなく、バケットそのものも書く必要がありました。
なので、以下のように直したらバケットポリシーが編集できるようになりました。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:ListStorageLensConfigurations",
"s3:ListAccessPointsForObjectLambda",
"s3:ListBucketMultipartUploads",
"s3:ListAllMyBuckets",
"s3:ListAccessPoints",
"s3:ListJobs",
"s3:ListBucketVersions",
"s3:ListBucket",
"s3:ListMultiRegionAccessPoints",
"s3:ListMultipartUploadParts"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::fukamidori-bucket",
"arn:aws:s3:::fukamidori-bucket/*"
]
}
]
}
ちょっとした記述の違いですが、解決まで小一時間かかってしまいました。
何かを指定する際、スラッシュって重要な意味があるんですね。
Discussion