経緯と内容
AWSの権限を設定するときに不足しているものがあり、失敗してしまったことがありました,,,
なので今回は、個人的によく使うIAM関連のポリシーについてまとめてみます!!
前提
今回まとめるAWSのIAMについてですが、
IAMはAWSの様々なサービスやリソースのアクセス権限を管理するためのサービスです。
かみ砕いた説明にするのであれば、AWSのものを触る時にちゃんとした人や権限からのアクセスなのかを確認するときの社員証みたいなものを管理する仕組みです!
オフィスなどでも社外の人の渡される社員証と社員の人が持っている社員証では入れる部屋が異なったりすると思いますが、そのカードがそこに入れてどこに入れるかを管理しているイメージがIAMです。
個人的によく使う?と思う一覧とできる事まとめ(2025/08/10時点のものです)
Add & Attach系
- AddRoleToInstanceProfile
- インスタンスプロファイルにIAMロールの付与を許可する権限。作成しているインスタンスに後からIAMロールを追加するときなどに使用
- AddUserToGroup
- IAMグループにIAMユーザーを追加する権限。作成しているIAMグループに追加するときなどに使用
- AttachGroupPolicy
- IAMグループに管理ポリシーをアタッチする権限。AWS管理ポリシーやカスタマー管理ポリシーでもひつようになる
- AttachRolePolicy
- IAMロールに管理ポリシーをアタッチする権限。AWS管理ポリシーやカスタマー管理ポリシーでもひつようになる
- AttachUserPolicy
- IAMユーザーに管理ポリシーをアタッチする権限。AWS管理ポリシーやカスタマー管理ポリシーでもひつようになる
Create系
- CreateAccessKey
- IAMユーザーのシークレットキー・アクセスキーの作成を許可する権限
- CreateAccountAlias
- AWSアカウントのエイリアスを作成を許可する権限
- CreateGroup
- 新しいIAMグループの作成を許可する権限。新しく特定の権限を複数の人やサービスに割り振りたい場合使用することが多い
- CreateInstanceProfile
- 新しいインスタンスプロファイルの作成を許可する権限
- CreatePolicy
- 新しい管理ポリシーの作成を許可する権限。新しく管理対象や管理する範囲が出来た時に使用することが多い
- CreateRole
- 新しいIAMロールの作成を許可する権限。新しく管理するIAMユーザーやサービスが出来た時に使用することが多い
- CreateUser
- 新しいIAMユーザーの作成を許可する権限。アカウント内の管理を行う人などに必要になる
Delete系
- DeleteAccessKey
- IAMユーザーに紐づけられたアクセスキーとシークレットキーの削除を許可する権限。一定期間使用されていないアカウントの整理などを行う際に必要
- DeleteAccountAlias
- AWSアカウントのエイリアスの削除を許可する権限
- DeleteGroup
- IAMグループの削除を許可する権限。IAMグループの整理を行う際などに必要
- DeleteGroupPolicy
- IAMグループからインラインポリシーの削除を許可する権限。使用しているIAMグループで使用していたインラインポリシーを削除したい場合に必要(権限を付与しすぎていた場合など)
- DeleteInstanceProfile
- インスタンスプロファイルの削除を許可する権限
- DeletePolicy
- IAMポリシーの削除を許可する権限。ポリシーがアタッチされているIAMユーザーなどからも削除してくれる
- DeleteRole
- IAMロールの削除を許可する権限
- DeleteRolePolicy
- IAMロールからインラインポリシーの削除を許可する権限。使用しているIAMロールで使用していたインラインポリシーを削除したい場合に必要
- DeleteUser
- IAMユーザーの削除を許可する権限。IAMユーザーの整理などアカウント内で管理をする場合に必要
- DeleteUserPolicy
- IAMユーザーからインラインポリシーの削除を許可する権限。使用しているIAMユーザーで使用していたインラインポリシーを削除したい場合に必要
Get系
- GetAccountName
- アカウントに関連づいているアカウント名を取得を許可する権限。CLIなどでアカウント名を使用していて命名のルールを使用している場合必要
- GetAccountSummary
- アカウントのIAMエンティティとIAMクォーターの取得を許可する権限。アカウントがどのように使用されているか、IAMの状況を確認したい場合に必要
- GetGroup
- IAMグループにいるIAMユーザーの取得を許可する権限。IAMグループにいるIAMユーザーを特定し作業を行う場合に必要
- GetGroupPolicy
- IAMグループで使用しているインラインポリシーの取得を許可する権限。インラインポリシーの状況を確認する場合に必要
- GetInstanceProfile
- インスタンスプロファイルのパスやARNなど詳細情報の取得を許可する権限。使用している情報の確認や活用する場合に必要
- GetPolicy
- IAMポリシーのデフォルトバージョンやそのポリシーがアタッチされている総数などの情報取得を許可する権限
- GetRole
- IAMロールのパスやARNなど詳細情報の取得を許可する権限
- GetRolePolicy
- IAMロールで使用されているインラインポリシーの情報を取得する権限。インラインポリシーの状況を確認して行う処理を行いたい場合必要
- GetUser
- IAMユーザーのパスやARNの詳細除法の取得を許可する権限
- GetUserPolicy
- IAMユーザーで使用されているインラインポリシーの取得を許可する権限。インラインポリシーの状況を確認して行う処理を行いたい場合必要
List系
- ListAccessKey
- IAMユーザーに関連付けられたアクセスキーID情報の一覧の表示を許可する権限。アクセスキー情報を表示させたくない場合は拒否しておく必要がある
- ListAccountAliases
- アカウントに関連付けられたエイリアスの一覧の表示を許可する権限
- ListGroupPolicies
- IAMグループに埋め込まれているインラインポリシー名の一覧の表示を許可する権限。不足がないかの確認や削除したいものが残っていないかの確認などをする際に必要
- ListGroups
- 特定の文字やパスから始まるIAMグループの一覧の表示を許可する権限
- ListPolicies
- 管理ポリシーの一覧の表示を許可する権限
- ListRolePolicies
- IAMロールのインラインポリシーの一覧の表示を許可する権限
- ListRoles
- IAMロールの一覧の表示を許可する権限
- ListUserPolicies
- IAMユーザーのインラインポリシーの一覧の表示を許可する権限
- ListUsers
- IAMユーザーの一覧の表示を許可する権限
Put & Update系
- PutGroupPolicy
- IAMグループに埋め込まれたインラインポリシーの作成または更新を許可する権限
- PutRolePolicy
- IAMロールに埋め込まれたインラインポリシーの作成または更新を許可する権限
- PutUserPolicy
- IAMユーザーに埋め込まれたインラインポリシーの作成または更新を許可する権限
- UpdateAccessKey
- アクセスキーをアクティブもしくは非アクティブとして更新を許可する権限
- UpdateGroup
- IAMグループの名前もしくはパスの更新を許可する権限
- UpadateRole
- IAMロールの説明もしくは最大セッション時間の更新を許可する権限
- UpdateUser
- IAMユーザーの名前もしくはパスの更新を許可する権限
これ以外にも権限はたくさんあります!必要になりそうなものは確認してみてください!!
まとめてみて
まとめてみて個人的に再認識したのは、権限を付与する際には注意が必要だと感じました。
不要な権限を与えてしまうことで意図せずトラブルを発生させてしまう危険性があるなと思いました。
特に新しいサービスを使用する際など、どれが必要になるのかよく分からない場面ではアバウトに権限を与えがちですが、注意をして管理していく必要がありそうです,,,
皆さんもぜひ一緒に最小限の権限付与を心がけてください!!!