0Pricing
AWS Security Academy · レッスン

ポリシー評価の決定フロー

明示的な拒否、許可、デフォルトがどのように解決されるかを追います。

「ポリシー評価の決定フロー」はCoddyKit上の無料AWS Security Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAWS Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AWS Security Academyコースには全4レッスンが含まれています。

AWS の判断方法

リクエストが AWS に到達すると、IAM エンジンは正確な評価フローを実行して、Allow または Deny を決定します。この順序を覚えることは SCS-C02 試験で特に価値があります。複数のポリシーが関係する場合に、どの種類のポリシーが優先されるかが、難しいシナリオ問題のポイントになるためです。

デフォルトでは拒否

出発点は常に暗黙的な拒否です。評価の結果、アクセスを許可するものが何もなければ、リクエストは拒否されます。このデフォルト拒否の方針では、アクションを成功させるために、どこかで明示的に Allow する必要があります。何も指定しないことは拒否と同じです。

明示的な拒否が優先される

最も重要なルールは、適用可能なポリシーのどこかにある明示的な Denyが、すべての Allow に優先することです。アクションを許可するステートメントがいくつあっても、条件に一致する Deny が1つあればブロックされます。これにより、ガードレールや SCP は、下位レベルのポリシーでは上書きできない厳格な制限を適用します。

チェックの順序

AWS は概念的に次の順序で評価します。1) いずれかのポリシー(SCP、アクセス許可境界、アイデンティティ、リソース、セッション)に明示的な Deny がないか確認し、見つかった場合は拒否します。2) SCPが適用され、そのアクションを許可していなければ拒否します。3) アクセス許可境界、セッションポリシー、アイデンティティポリシーまたはリソースポリシーに Allow があるか確認します。どこかに不足があれば、暗黙的な拒否になります。

SCP は上限を設定する

AWS Organizations のサービスコントロールポリシー(SCP)は、アカウントの最大アクセス許可を設定します。アクションを成功させるには、SCPと IAM ポリシーの両方で許可されている必要があります。SCP は単独でアクセスを許可することはなく、上限を設定するか拒否するだけです。SCP がアクションを許可していなければ、IAM の Allow で補うことはできません。

アクセス許可境界

アクセス許可境界は、特定のユーザーまたはロールの最大アクセス許可に上限を設定する高度なポリシーです。実効アクセス許可は、境界とアイデンティティポリシーの共通部分になります。SCP と同様に、境界は制限することしかできず、アイデンティティベースのポリシーが付与するアクセス許可を拡大することはありません。

セッションポリシー

ロールをセッションポリシー付きで引き受けると、そのポリシーによって、そのセッションだけのアクセス許可がさらに狭められます。結果はここでも共通部分になります。セッションで実行できるのは、ロールのポリシーとセッションポリシーの両方が許可する範囲までです。セッションポリシーを使うと、ロールの引き受け時にアクセス許可を絞り込めます。

リソースポリシーの相互作用

同一アカウント内のリクエストでは、リソースベースの Allow によって、アイデンティティ側の Allow がなくてもアクセスを許可できます(和集合)。クロスアカウントの場合は、両方が必要です。また、これらのいずれかに明示的な Deny があれば、常にそれが優先されます。リソースポリシーも、この全体的な評価フローに加わります。

具体例

アイデンティティポリシーが s3:DeleteObject を許可している一方で、本番環境の SCP がすべての s3:Delete* を拒否しているとします。結果は拒否です。SCP の明示的な拒否が、アイデンティティ側の Allow に優先するためです。逆に、SCP が許可していても、アイデンティティポリシーがそのアクションを許可していなければ、暗黙的な拒否になります。許可するには、両方の層が一致している必要があります。

これが重要な理由

試験問題では、SCP、アクセス許可境界、アイデンティティポリシー、リソースポリシーを組み合わせ、その結果を問います。確実な方法は、まず明示的な拒否がないか確認し、次にSCP が許可していること、境界とセッションが許可していること、そしてアイデンティティまたはリソースの Allowが存在することを確認することです。拒否がなく、すべてが揃っていれば答えは許可です。

頭の中で確認するチェックリスト

次のチェックリストを覚えておきましょう。(1) 明示的な拒否はあるか。あれば拒否。(2) SCP は許可しているか。許可していなければ拒否。(3) 境界とセッションは許可しているか。許可していなければ拒否。(4) アイデンティティまたはリソースの Allow はあるか。あり、拒否もなければ許可。それ以外は暗黙的な拒否です。機械的に適用すれば、複数のポリシーが絡む問題でも簡単に判断できます。

クイックチェック

評価フローを確認しましょう。

まとめ

IAM の評価は暗黙的な拒否から始まり、明示的な Deny が常に優先されます。アクションを許可するには、どこにも明示的な拒否がなく、SCPが許可し、アクセス許可境界とセッションポリシー(共通部分)が許可し、さらにアイデンティティまたはリソースの Allowが存在する必要があります。SCP と境界は制限するだけで、アクセスを許可することはありません。

よくある質問

「ポリシー評価の決定フロー」レッスンは無料ですか?

はい。「ポリシー評価の決定フロー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AWS Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AWS Security Academyコースには全4レッスンが含まれています。

「ポリシー評価の決定フロー」で何を学びますか?

明示的な拒否、許可、デフォルトがどのように解決されるかを追います。 ブラウザで直接実行するハンズオンコードでAWS Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AWS Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAWS Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「ポリシー評価の決定フロー」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAWS Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのAWS Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. IAMポリシードキュメントの構造
  2. アイデンティティベースとリソースベースのポリシー
  3. ポリシー評価の決定フロー
  4. 条件、ワイルドカード、ポリシー変数
← AWS Security Academyに戻る