AWS Organizationsのメンバーアカウントに属するIAMユーザーに、以下の3つのポリシーが設定されています。 ・Organizations SCP: us-east-1 と us-west-2 のみ ec2:RunInstances を Allow し、その他のリージョンは明示的に Deny ・IAMパーミッションバウンダリ: ap-northeast-1 と us-west-2 のみ ec2:RunInstances を Allow ・IAMアイデンティティポリシー: すべてのリージョン(*)で ec2:RunInstances を Allow このIAMユーザーが ec2:RunInstances を実行できるリージョンはどれですか?
AWSのIAMポリシー評価ロジックでは、有効なアクセス許可は「SCP AND パーミッションバウンダリ AND アイデンティティポリシー」の積集合(AND条件)となります。まず明示的なDenyが最優先で適用されます。SCPが許可するリージョンはus-east-1とus-west-2、パーミッションバウンダリが許可するリージョンはap-northeast-1とus-west-2、アイデンティティポリシーはすべてのリージョンを許可しています。これら3つの積集合(すべてが同時に許可するリージョン)は「us-west-2」のみとなります。 選択肢Aの「和集合」という考えは誤りです。複数ポリシーの制限はOR(和集合)ではなくAND(積集合)で評価されます。いずれか1つのポリシーが許可しても他が許可していなければアクセスできません。 選択肢Cの「SCPが最終決定権を持つ」という考えは誤りです。SCPとパーミッションバウンダリは優先順位なく独立して評価され、両方で許可されている場合のみアクションが有効になります。 選択肢Dの「パーミッションバウンダリがSCPより優先度が高い」という考えは誤りです。SCPの明示的Denyは絶対的に適用され、パーミッションバウンダリで上書きできません。