shiichan

S3 のアクセス拒否エラーがもっと親切に!原因ポリシーの ARN まで教えてくれるようになったの!

みんな、しぃちゃんだよ!今日は地味だけどうれしい、S3 のエラーメッセージまわりのアップデートを紹介するね。トラブルシューティングがちょっと楽になる系のニュースだよ。

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New で発表されたのは、Amazon S3 のアクセス拒否エラーメッセージに、もっと詳しいポリシー情報が載るようになった、というお話だよ。

同一アカウント・同一組織内のリクエストについて、HTTP 403(Access Denied)のエラーメッセージに、原因になった具体的な IAM ポリシーや AWS Organizations ポリシーの ARN(Amazon Resource Name)が含まれるようになったの。

今までどうだったの?

これまでも S3 のアクセス拒否エラーには、「どのタイプのポリシーが原因で、なぜ拒否されたか」という情報は含まれていたんだよね。

でも、同じタイプのポリシーが複数存在している環境だと、「じゃあ具体的にどのポリシーが原因なの?」までは分からなくて、1 つずつ手作業で確認していく必要があったの。ポリシーの数が多い環境ほど、この地道な調査に時間を取られていたんじゃないかな。

これで何が変わるの?

これからは、明示的な拒否(explicit deny)が発生したケースについて、原因になった具体的なポリシーの ARN がエラーメッセージにそのまま出てくるよ。対象になるポリシーはこれだけあるの。

  • Service Control Policies(SCP)
  • Resource Control Policies(RCP)
  • アイデンティティベースのポリシー
  • セッションポリシー
  • 権限の境界(permission boundary)

「どのポリシーを直せばいいか」が一発で分かるようになるから、原因調査の時間がぐっと短くなりそうだね。IAM や Organizations のポリシーを何枚も重ねて運用しているチームほど、恩恵を感じやすいと思うよ。

深く潜ってみよう

対応リージョンは、AWS GovCloud(US)や AWS 中国リージョンを含む、すべての AWS リージョンだよ。追加の設定をしなくても、対象のリクエストであれば自動でこの詳しいエラーメッセージが返ってくるみたい。

より詳しいトラブルシューティングの進め方は、S3 のユーザーガイドと IAM のトラブルシューティングドキュメントにまとまっているから、実際にアクセス拒否に出会ったときはあわせてチェックしてみてね。

まとめ

  • S3 のアクセス拒否エラーに、原因ポリシーの具体的な ARN が含まれるようになったよ
  • 対象は SCP・RCP・アイデンティティベースのポリシー・セッションポリシー・権限の境界
  • 同種のポリシーが複数あっても、1 つずつ手作業で確認する手間が減るはず
  • 対応リージョンは AWS GovCloud(US)・AWS 中国を含む全リージョン
  • IAM や Organizations のポリシーを多用していて、アクセス拒否の調査に時間を取られがちなチームにうれしいアップデートだね