LoginSignup
0
0

More than 1 year has passed since last update.

[小ネタ]S3からオブジェクトをダウンロードできない時によくやってしまっている記述ミス

Posted at

IAMポリシーでバケットに対しての権限を設定する時、
ちょっとしたミスでダウンロードできない状態になり時間を喰ってしまうのをちょいちょいやってしまってるので、
備忘録を書き残しておきます。

誤っているポリシー

{
    "Version": "2012-10-17",
    "Id": "ExamplePolicy01",
    "Statement": [
        {
            "Sid": "ExampleStatement01",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Satoshi"
            },
            "Action": [
                "s3:GetObject",
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::example-bucket1"
            ]
        }
    ]
}

このポリシーでexample-bucket1のオブジェクトをダウンロードしようとすると、「AccessDenied」になります。

誤っている箇所と対策

誤っているのはここです。

"Resource": [
    "arn:aws:s3:::example-bucket1"
]

ダウンロードするのは バケットの中のオブジェクト なので、下記のようにして「example-bucket1配下のオブジェクトすべて」を指定する必要があります。

"Resource": [
    "arn:aws:s3:::example-bucket1/*"
]

なお、この書き方ならOKでした。
前方一致になってARNがarn:aws:s3:::example-から始めるすべてがOKになるからでしょうね。
意図しない動きになりそうなのであんまりやりませんが・・・。

"Resource": [
    "arn:aws:s3:::example-*"
]

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0