【IAMの役割(セキュリティ設計)】
目次
🔍 1. 結論
💎 一言でいうと AWS Identity and Access Management (IAM) は、すべてのAWSリソースに対する 「認証(誰か)」と「認可(何ができるか)」 を制御する根幹サービスです。「最小特権の原則」 と 「IAMロールによる一時的な権限付与」 が試験の超重要テーマです。
- 長期的な認証情報(アクセスキー)は極力使わず、IAMロールを使う。
- ルートユーザーには必ず MFA(多要素認証) を設定し、日常作業には使わない。
📈 2. SAAで出やすいポイント
- 最小特権の原則 (Least Privilege):
ユーザーやプログラムには「そのタスクを実行するのに必要な権限だけ」を付与する。(
AdministratorAccessは避ける) - IAMロールの活用: EC2インスタンスがS3にアクセスする場合など、EC2の中にアクセスキーを保存するのではなく、EC2にIAMロールをアタッチ(インスタンスプロファイル) する。
- クロスアカウントアクセス: 別のアカウントのリソースにアクセスする際も、アクセスキーを共有するのではなく「IAMロールを借用(AssumeRole)」する。
- IDプロバイダー (IdP): 企業のオンプレミスActive Directory (SAML) やWeb ID (Cognito) と連携し、一時的な権限を発行する。
🗝 3. キーワードでの判断
| 問題文のキーワード | 疑うサービス・設定 |
|---|---|
| 🛡️ 「権限を必要最小限にする」 | 最小特権の原則 |
| 🔑 「EC2上のアプリからS3を操作する」 | EC2インスタンスにIAMロールを付与 |
| 🤝 「別のアカウントのS3バケットを操作」 | IAMロールの AssumeRole (クロスアカウント) |
| 🏢 「オンプレミスのADユーザーでAWSにログイン」 | SAML連携 (IAM Identity Provider) |
⚠️ 4. ひっかけポイント
🚫 よくある誤答パターン – 「EC2にアクセスキー(CSV)を保存する」 → 絶対NG。ソースコードやサーバー内にアクセスキーをハードコードしてはいけません。答えは常に「IAMロール」。 – 「ルートユーザーを使ってアプリを構築する」 → ルートユーザーは強力すぎるため日常利用はNG。IAMユーザーまたはロールを使用する。
💡 5. 覚え方
🧠 暗記ショートカット – IAMユーザー = 「人間用の固定IDカード」。 – IAMロール = 「誰でも被れる魔法の帽子」。帽子を被っている間(一時的)だけ、その能力が使える。パスワード漏洩の心配がないため、AWSリソース同士の連携には絶対にコレを使う。
📚 6. 関連サービス
| アイコン | サービス名 | IAMとの関連 |
|---|---|---|
| ☁️ | AWS STS | IAMロールに一時的な認証情報(トークン)を発行する裏方 |
| 🏢 | AWS Organizations | 複数アカウントのIAM・権限(SCP)を一括管理 |
| 👤 | Amazon Cognito | 一般のスマホアプリユーザー等の認証・認可 |
🗒️ 7. Obsidian管理メモ
- 見返すタイミング: 権限管理やクロスアカウントアクセスの学習時
- 関連ノート候補:
AWS_セキュア設計_Organizations,IAM_Role_vs_User
8. HTMLファイル名:
AWS_セキュア設計_IAM.html