Cloud Service
AWS IAM
誰が・何に・何をできるかを制御するAWSの認証認可サービス。全サービスのアクセス制御の土台。
基礎CLF-C02SAA-C03SOA-C02DVA-C02SCS-C02SAP-C02セキュリティ運用上の優秀性
最終更新: 2026-05-31公式ドキュメント ↗
TL;DR要点だけ先に
- 1.誰が何に何をできるかを制御する認証認可の仕組み。追加料金は無料。
- 2.ポリシー評価は明示的Deny>明示的Allow>暗黙Deny。Denyが最優先。
- 3.EC2やクロスアカウントはロール(一時認証情報)を使い、キーを埋めない。

解決する課題
- 全員がフルアクセス、では事故が起きる → 必要な人に必要な権限だけ渡したい
- アプリにパスワードやキーを埋め込みたくない → 一時的な認証情報で安全に
- 監査で「誰が何をできるか」を説明したい
主要概念と用語
- ルートユーザー: アカウント作成時の最強アカウント。日常利用しない
- IAMユーザー: 人やアプリに紐づくID(長期認証情報を持つ)
- IAMグループ: ユーザーの束。権限をまとめて付与
- IAMロール: 「引き受ける」ことで一時認証情報が発行されるID。EC2/Lambda/クロスアカウントで使う
- ポリシー: 許可/拒否を記述したJSON(
Effect/Action/Resource/Condition)
仕様・制限・クォータ
- グローバルサービス(リージョンに依存しない)
- ポリシーは IDベース(誰に付けるか)と リソースベース(リソース側に付ける。例: S3バケットポリシー)
- 一時認証情報は STS(Security Token Service)が発行
内部の仕組み
リクエストが来ると、IAMは次の順で評価します。
- デフォルトは全拒否(暗黙のDeny)
- 適用されるポリシーに明示的なAllowがあれば許可
- ただし明示的なDenyが1つでもあれば最優先で拒否
評価順は試験頻出
明示的Deny > 明示的Allow > 暗黙のDeny。Denyが1つでもあれば必ず拒否されます。
設計パターン / ベストプラクティス
- 最小権限の原則: 必要な操作・リソースだけに絞る
- ロールを使う: EC2やLambdaにはロールをアタッチし、キーをハードコードしない
- ルートユーザーは封印: MFAを設定し、日常はIAM/IAM Identity Centerで運用
- IAM Identity Center(旧SSO): 複数アカウント・人の管理を一元化
運用・監視・トラブルシュート
- IAM Access Analyzer で過剰権限・外部公開を検出
- CloudTrail で「誰がいつ何をしたか」を監査
- 権限エラー時は、IDポリシー・リソースポリシー・明示的Denyの順で確認
コスト
IAM自体は無料。STSの一時認証情報発行も無料。
セキュリティ
- MFA を必須化(特にルートと特権ユーザー)
- アクセスキーよりロール(一時認証情報)を優先
- 条件(
Condition)でIP/MFA/時間などを縛る
Well-Architected の観点
- セキュリティ: 最小権限・多層・追跡可能性の中核そのもの
- 運用上の優秀性: 権限をコード(ポリシー/IaC)で管理し再現性を確保
試験で問われるポイント
頻出
- ポリシー評価は 明示的Denyが最優先
- クロスアカウント=ロール(AssumeRole)、EC2/Lambda にもロール
- ロール=一時認証情報、ユーザー=長期認証情報
📝 IAM ミニ確認テスト第 1 問 / 全 3 問
IAMポリシー評価で、ある操作に「許可」と「明示的な拒否(Deny)」が同時に該当した場合、結果は?
関連サービス・比較
| エンティティ | 認証情報 | 主な用途 |
|---|---|---|
| IAMユーザー | 長期(パスワード/アクセスキー) | 人・特定アプリ |
| IAMロール | 一時(STSが発行) | EC2/Lambda/クロスアカウント |
| ルートユーザー | 最強(封印すべき) | 初期設定・一部の特権操作のみ |
ハンズオン / CLI例
# S3読み取り専用ポリシーをロールにアタッチして引き受け
aws iam create-role --role-name app-readonly \
--assume-role-policy-document file://trust-policy.json
aws iam attach-role-policy --role-name app-readonly \
--policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
# 現在の自分の権限主体を確認(トラブル時に便利)
aws sts get-caller-identity
AWS Service
AWS IAMを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
セキュリティ・ID
比較で見る軸
クラウド: AWS / カテゴリ: セキュリティ・ID / 難易度: basic
導入後に効く点
ポリシー評価は明示的Deny>明示的Allow>暗黙Deny。Denyが最優先。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
数字・仕様の読み方
- クラウド
- AWS
- カテゴリ
- セキュリティ・ID
- 難易度
- basic
- 関連資格
- CLF-C02 / SAA-C03 / SOA-C02 / DVA-C02 / SCS-C02 / SAP-C02
- 設計柱
- security / operational
判断チェックリスト
- 自社の用途が「セキュリティ・ID / security」に近いか確認する。
- 強みである「誰が何に何をできるかを制御する認証認可の仕組み。追加料金は無料。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。
他クラウドの同等サービス
役割が近いサービスです。設計の置き換えや比較検討の参考に。