IAM は Identity and Access Management の略で、AWSで 誰が 何に どこまで アクセスできるかを管理する仕組みです。AWSアカウント内の認証と認可の土台になり、ユーザー、グループ、ロール、ポリシーを組み合わせて権限を制御します。
まず押さえたいポイント
- AWSで権限管理を行うための基本仕組み
- ユーザー、グループ、ロール、ポリシーを分けて考えると理解しやすい
- 実務では、長期アクセスキー付きのIAMユーザーを増やすより、ロールと一時認証情報を優先する方が安全
- 最小権限が重要で、必要な操作だけを許可する考え方が基本
- 人間の入口としては IAM Identity Center と合わせて考えることが多い
どんな場面で使うか
IAMは、開発者にEC2だけ触らせたい、LambdaにS3アクセスだけ許したい、別AWSアカウントの監査担当へ一時的に閲覧権限を渡したい、といった場面で使います。つまり、誰が何をしてよいか をAWS上で線引きするときに必ず出てきます。
たとえば、アプリケーションからAWSサービスを呼ぶときに、サーバーへアクセスキーを置く代わりにIAMロールを使う、というのもIAMの典型的な使い方です。
どう理解するとよいか
初心者向けには、IAMを AWSの権限管理の交通整理 と考えると分かりやすいです。誰に入口を渡すか、どのサービスまで行けるか、読み取りだけか更新もできるかを整理する役目です。
特に大事なのは、ユーザーとロールを混ぜて考えないことです。IAMユーザーは固定のID、IAMロールは一時的に引き受ける権限、と分けるとかなり見通しが良くなります。
注意点
IAMは便利ですが、とりあえず AdministratorAccess で始めると、あとで事故りやすくなります。長期のアクセスキーを放置する、誰の権限か分からなくなる、不要な権限が残る、といった問題も起きやすいです。
そのため、最小権限、MFA、アクセスキー削減、不要ユーザーや不要ロールの棚卸しまで含めて見る必要があります。
詳しい整理は、IAMとは?AWSでユーザー・グループ・ロール・ポリシーをどう使い分けるのか で解説しています。