SAAセキュアなアーキテクチャの設計
あるSaaS企業はAWS Organizationsで約200のAWSアカウントを管理しており、新規アカウントが頻繁に追加・削除されます。共有ログ集約用のAmazon S3バケットに対し、組織内すべてのアカウントのプリンシパルからのアクセスのみを許可し、組織外からのアクセスを拒否したいと考えています。アカウントの増減のたびにポリシーを書き換える運用は避けなければなりません。最も運用負荷が低い方法はどれですか。
AS3バケットポリシーの条件に aws:PrincipalOrgID キーで組織IDを指定し、組織内のプリンシパルからのアクセスのみを許可する
✓ 正解
aws:PrincipalOrgID は組織IDを評価する条件キーで、バケットポリシーに組織IDを1度書くだけで組織内全アカウントを動的に対象化できる。アカウント増減時もポリシー更新が不要となり、運用負荷が最小になるため要件に最も適合する。
BS3バケットポリシーの Principal 要素に各アカウントのルートARNを列挙し、アカウント追加のたびに追記して更新する
各アカウントのルートARNを列挙する方式は、アカウントが追加・削除されるたびにバケットポリシーの編集が必要になる。運用負荷を避けたいという要件に反するため不適切である。
CAWS Organizationsのサービスコントロールポリシー(SCP)でS3バケットへのアクセスを許可し、組織外からの操作を拒否する
SCPは組織内メンバーアカウントの操作に許可上限のガードレールを設ける機能であり、S3バケット自体へのアクセス可否を制御するリソースポリシーではない。外部拒否の要件を満たせない。
DS3バケットのACLに組織内アカウントの正規ユーザーIDを登録し、アカウントごとにアクセス権を付与する
S3 ACLはアカウント単位の登録・付与が必要でスケールに弱く、組織変更への自動追従もできない。Block Public Accessやポリシーベース制御を推奨する現行設計とも整合しない。
解説
aws:PrincipalOrgID はリクエスト元プリンシパルが属する組織IDを評価するグローバル条件キーで、バケットポリシーに組織IDを一度指定するだけで組織内の全アカウントを動的に対象にできます。
アカウントの増減があっても組織に属していれば自動的に許可・除外されるため、ポリシーの書き換えが不要で運用負荷が最小になります。
選択肢Bの各アカウントARN列挙は、アカウント増減のたびにポリシー更新が必要で運用負荷が高い。
選択肢CのSCPは組織内アカウントの操作に上限ガードレールをかける機能で、外部からのバケットアクセスを制御するものではない。
選択肢DのACLはきめ細かい条件制御やスケールに不向きで、Block Public Accessやポリシー優先の現行設計とも整合しない。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSAAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →