AWS IAMポリシーの作成と確認方法
複雑なIAMポリシーの作成と確認を行った時にそれなりに苦労したので情報を整理したいと思います。
概要
IAMポリシーとはAWSリソースのアクセス管理を定義するものです。
IAMポリシーを定義する際に実際にAWSリソースのアクセス管理が適切にできているか確認するのが難しいです。
そのため、どのようにして作成し、確認を行うか検討した結果をまとめます。
IAMポリシーの作成方法
IAMポリシーの作成方法にはJSONとビジュアルエディタがあります。
既にポリシーの定義が分かっている場合はJSONをそのまま貼り付けるのが簡単です。
ここではポリシーの定義が分からない前提でビジュアルエディタをオススメします。
ビジュアルエディタを使うメリットは以下の通りです。
- JSON構文を覚えずにポリシーを作成可能
- ポリシーにおいて選択可能な値(アクション、リソースなど)を検証可能
IAMポリシーの作成に当たっては各種警告に遭遇します。下記の情報を参考にすると良いです。
IAM ポリシーのトラブルシューティング - AWS Identity and Access Management
IAMポリシーの確認方法
- IAMPolicy Simulatorを使う
- 簡易に確認するのに有用
- 実際にAWSのリソースを操作してみないとどうなるかは分からないのであくまで参考程度
- ポリシー確認用のIAMロールを用意する
- AWSコンソールで確認する
- 該当のIAMロールに切り替える
- コンソール上でAWSリソースを操作してアクセスできるかを確認する
- AWS CLIで確認する
- IAMロールへの切り替え
- dry-runオプションを付与してコマンドを実行する
- 全てのコマンドにdry-runオプションがあるわけではないのであれば利用する
- AWSコンソールで確認する
まとめ
複雑なIAMポリシーを作成するのは地味に大変です。
アクションやリソースの値に応じて設定可能な値が異なるので、そういったことを理解するために各AWSのAPIにひもづくポリシーの仕様を把握するのが近道です。