Instiq
第4章 · ID とアクセス管理·v2.0.0·更新 2026/6/5·読了目安 約11分

変更要約: SCS-C02 第4章を深掘り(比較表・シナリオ・FAQ・ひっかけ・深掘り段落を各節に追加、図を日本語版に対応)

4.1IAM ポリシーと評価ロジック

この節の要点

アクセス制御の核——アイデンティティ/リソースベースポリシー明示的拒否の優先SCPアクセス許可境界条件キー——を理解します。「誰が何にアクセスできるか」を正確に設計します。

セキュリティの中心は IAM です。複数のポリシーがどう評価されるか(特に明示的拒否の優先)を正確に理解します。

4.1.1ポリシー評価の流れ

IAM のアクセス評価ロジックを示した図。リクエストに対し、明示的な拒否(Deny)があれば即拒否、なければ SCP・アクセス許可境界・セッションポリシー・アイデンティティ/リソースベースポリシーのいずれかで明示的な許可(Allow)があるか確認し、許可があり拒否がなければ許可、いずれの許可もなければ暗黙的拒否、という優先順位(明示的拒否>許可>暗黙的拒否)を示し、条件キー(MFA/送信元 IP/タグ等)で許可をさらに絞る様子を添えた図。
IAM ポリシー評価ロジック
  • 明示的拒否の優先:どこかに Deny があれば必ず拒否(最優先)。
  • 許可の必要性:許可はいずれかのポリシーで明示的に Allow が必要。なければ暗黙的拒否
  • SCP/アクセス許可境界許可の上限を定める(権限を付与しない)。両方の積集合が有効権限。
  • 条件キーMFA/送信元 IP/タグ/暗号化必須などで許可をさらに絞る。
試験ポイント

「明示的拒否は常に勝つ」「許可は明示的 Allow が必要・なければ暗黙的拒否」「SCP/境界は上限(積集合)で権限付与ではない」「条件キーで MFA/IP/タグ制限」 は SCS-C02 で最頻出です。SCP・境界・IAM・リソースポリシーすべてで許可されて初めてアクセスできます。

SCS-C02 で最も問われるのが IAM のポリシー評価ロジックです。リクエストは、(1) 関連する全ポリシーを収集し、(2) 明示的 Deny が 1 つでもあれば即拒否(最優先・覆せない)、(3) なければ明示的 Allow があるかを確認し、(4) Allow があり Deny がなければ許可、どこにも Allow がなければ暗黙的拒否(デフォルト拒否)、という順で判定されます。許可の判断には複数のポリシータイプが関与します:アイデンティティベース(ユーザー/ロールにアタッチ)、リソースベース(S3 バケットポリシー、KMS キーポリシー等。クロスアカウントではプリンシパルを明示)、SCP(Organizations のアカウント上限)、アクセス許可境界(IAM エンティティの権限上限)、セッションポリシー(AssumeRole 時に渡す上限)。SCP と境界は“許可の上限”であって権限を付与しません——有効権限はこれらの積集合で、同一アカウント内のアクセスは「アイデンティティ or リソースのいずれかで Allow かつ SCP/境界の範囲内かつ Deny なし」が必要です(クロスアカウントは両アカウントで Allow が必要)。条件キーaws:MultiFactorAuthPresentaws:SourceIpaws:PrincipalTags3:x-amz-server-side-encryption 等)で許可をさらに絞り、Deny + 条件で「MFA なしは全拒否」「特定 IP 以外は拒否」「暗号化なしの PutObject を拒否」といった強制が定番です。設計の要は、「明示的拒否>許可>暗黙的拒否」と「SCP/境界=上限(積集合)」を正確に理解し、条件キーで多層に絞ることです。

ポリシータイプ役割要点
アイデンティティベースユーザー/ロールに付与明示的 Allow を与える
リソースベースリソースに付与(S3/KMS 等)クロスアカウントはプリンシパル明示
SCP / アクセス許可境界許可の上限付与せず・積集合が有効権限
条件キー許可の絞り込みMFA/送信元 IP/タグ/暗号化必須
補足

シナリオ:「全ユーザーは MFA なしでは一切操作できない」「本番アカウントでは特定リージョン以外を禁止」を組織的に強制したい。→ MFA は IAM ポリシー/SCP の Deny + 条件 aws:MultiFactorAuthPresent: false(MFA 不在時に全 Deny)。リージョン制限は SCP の Deny + 条件 aws:RequestedRegion で許可リージョン以外を拒否。これらは上限(ガードレール)なので、配下アカウントの IAM がどう許可してもSCP の Deny が勝ちます。アクセスは SCP・境界・IAM・リソースすべてを通過して初めて成立します。

補足

FAQ:SCP で Allow を書けば権限が付与される? いいえ。SCP は「上限(ガードレール)」であって権限を付与しません。SCP で許可しても、実際にアクセスするには IAM(アイデンティティ)やリソースポリシーで別途 Allowが必要です。SCP の役割は「ここまでしか許さない」という枠を定めること。同様にアクセス許可境界も上限で、付与は IAM ポリシーが行います。

注意

ひっかけ:IAM ポリシーで Allow されているのに「SCP やリソースポリシー、アクセス許可境界のどれかに Deny がある」場合、明示的拒否が勝ってアクセスは拒否されます。「IAM で許可したのになぜ拒否?」の典型はこれ。また SCP/境界に Allow を書いても権限は付与されない(上限を定めるだけ)点も頻出のひっかけです。クロスアカウントは両アカウントで Allowが要ります。

4.1.2この節のまとめ

  • 評価=明示的拒否>許可>暗黙的拒否
  • 上限=SCP/境界(積集合)/絞り込み=条件キー

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. あるユーザーは IAM ポリシーで S3 への許可を持つが、SCP に明示的な拒否がある。結果はどうなりますか?

Q2. どのポリシーにも明示的な Allow がない操作のアクセス結果はどうなりますか?

Q3. IAM ロールに付与できる権限の上限を設定し、委任時の過剰権限を防ぎたい。何を使いますか?

理解度を確認第4章「ID とアクセス管理」の問題を解く

学習の記録を残しませんか

参考書はすべて無料で読めます。無料登録すると、問題集での演習・既読と進捗の記録・間違えた問題の復習・ハイライトが使えます。