0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IAMの権限エラーの対応方法

Last updated at Posted at 2025-08-19

はじめに

エラー

Resource handler returned message: "User: arn:aws:sts::XXXXX:assumed-role/cfn-sr-XXXXX-test-click-bucket-dev/AWSCloudFormation is not authorized to perform: s3:PutBucketWebsite on resource: "arn:aws:s3:::XXXXX-test.click" because no identity-based policy allows the s3:PutBucketWebsite action (Service: S3, Status Code: 403, Request ID: WMQNEBSCNF62DRTP, Extended Request ID: Sz0e360yMbwUusDlug6J5g9j43tIvSPzi1Lbdrjvub1OM+0W5svXX20VCO1kxuQkddHHl8wqwYMeGx2ij2n9ihAi7fODMbdTKMibWKYErpg=) (SDK Attempt Count: 1)" (RequestToken: f8aba594-fbc5-e198-41ee-480353b70684, HandlerErrorCode: GeneralServiceException)

うーん、相手に伝える気あるのか?

中身を分解するとこう👇

  • User: arn:aws:sts::XXXXX:assumed-role/cfn-sr-XXXXX-test-click-bucket-dev/AWSCloudFormation is not authorized
    • ユーザ(role)のcfn-sr-XXXXX-test-click-bucket-devは許可されていない
  • to perform: s3:PutBucketWebsite on resource: "arn:aws:s3:::XXXXX-test.click"
    • バケットでs3:PutBucketWebsiteを実行することを
  • because no identity-based policy allows the s3:PutBucketWebsite action
    • なぜならs3:PutBucketWebsiteアクションを実行するポリシーがないため
  • (Service: S3, Status Code: 403, Request ID: WMQNEBSCNF62DRTP, Extended Request ID: Sz0e360yMbwUusDlug6J5g9j43tIvSPzi1Lbdrjvub1OM+0W5svXX20VCO1kxuQkddHHl8wqwYMeGx2ij2n9ihAi7fODMbdTKMibWKYErpg=) (SDK Attempt Count: 1)" (RequestToken: f8aba594-fbc5-e198-41ee-480353b70684, HandlerErrorCode: GeneralServiceException)
    • この辺はエラーコードが書いてある

対処1

s3:PutBucketWebsiteアクションを実行するポリシーをアタッチしてあげればよい

では、そのポリシーはなんだ?
アクション名はほぼ権限名らしい。
なので、ポリシーにs3:PutBucketWebsiteを追加すれば良い。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "CreateBucket",
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "ManageBuckets",
            "Effect": "Allow",
            "Action": [
                "s3:DeleteBucket",
                "s3:PutBucketOwnershipControls",
                "s3:PutBucketPublicAccessBlock",
                "s3:PutEncryptionConfiguration",
                "s3:GetEncryptionConfiguration",
                "s3:PutBucketTagging",
                "s3:GetBucket*",
                "s3:ListBucket",
                "s3:PutBucketWebsite" <<<<< 追加
            ],
            "Resource": [
                "arn:aws:s3:::XXXX-test.click"
            ]
        }
    ]
}

対処2

結果からいうと、権限はあと3つ不足している。
実行すればエラーが出て不足権限名を表示してくれるが、その前になんとかしたい。

なんとかならないだろうか?そこでIAM Policy Simulatorというものがある。(なんとかはならない)

IAM Policy Simulator
https://policysim.aws.amazon.com/home/index.jsp

初期状態

        "Action": [
            "s3:DeleteBucket",
            "s3:PutBucketOwnershipControls",
            "s3:PutBucketPublicAccessBlock",
            "s3:PutEncryptionConfiguration",
            "s3:GetEncryptionConfiguration",
            "s3:PutBucketTagging",
            "s3:GetBucket*",
            "s3:ListBucket"
        ],

"s3:PutBucketWebsite"を追加して実行

image.png
画面には3項目記入する。
左上:S3
その右にはPutBucketWebsite
bucketにはbucketのarnを入れて

Run Simulationを実行する。allowになればOK

その後stackを再実行したら次のエラーが出た。次のエラーがここで出ることを期待していたがそうはならなかった。次のエラーはstack実行しないとわからない。それが嫌ならマニュアルをきっちり読めば必要なポリシーは書いてあるらしい。(嫌だ)

ポリシー最終系

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "CreateBucket",
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "ManageBuckets",
            "Effect": "Allow",
            "Action": [
                "s3:DeleteBucket",
                "s3:PutBucketOwnershipControls",
                "s3:PutBucketPublicAccessBlock",
                "s3:PutEncryptionConfiguration",
                "s3:GetEncryptionConfiguration",
                "s3:PutBucketTagging",
                "s3:GetBucket*",
                "s3:ListBucket",
                "s3:PutBucketWebsite"
            ],
            "Resource": [
                "arn:aws:s3:::XXXXX-test.click"
            ]
        }
    ]
}

ちなみに

"s3:PutBucketWebsite"を追加したら、stack削除するときに"s3:DeleteBucketPolicy"も必要となるので追加しておけばOK

注意

AWSにログインした状態じゃないとdenyになる。しれっとログアウトしているときがあるので注意。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?