TL

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やクロスアカウントはロール(一時認証情報)を使い、キーを埋めない。
AWS IAM のアーキテクチャ図
AWS IAM の構成イメージ

解決する課題

  • 全員がフルアクセス、では事故が起きる → 必要な人に必要な権限だけ渡したい
  • アプリにパスワードやキーを埋め込みたくない → 一時的な認証情報で安全に
  • 監査で「誰が何をできるか」を説明したい

主要概念と用語

  • ルートユーザー: アカウント作成時の最強アカウント。日常利用しない
  • IAMユーザー: 人やアプリに紐づくID(長期認証情報を持つ)
  • IAMグループ: ユーザーの束。権限をまとめて付与
  • IAMロール: 「引き受ける」ことで一時認証情報が発行されるID。EC2/Lambda/クロスアカウントで使う
  • ポリシー: 許可/拒否を記述したJSON(Effect / Action / Resource / Condition

仕様・制限・クォータ

  • グローバルサービス(リージョンに依存しない)
  • ポリシーは IDベース(誰に付けるか)と リソースベース(リソース側に付ける。例: S3バケットポリシー)
  • 一時認証情報は STS(Security Token Service)が発行

内部の仕組み

リクエストが来ると、IAMは次の順で評価します。

  1. デフォルトは全拒否(暗黙のDeny)
  2. 適用されるポリシーに明示的なAllowがあれば許可
  3. ただし明示的な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、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

セキュリティ・IDsecurityoperationalCLF-C02SAA-C03

他クラウドの同等サービス

役割が近いサービスです。設計の置き換えや比較検討の参考に。