組織内の数百のアカウントから共有S3バケットへアクセスできるようにしたいが、アカウントが追加・削除されるたびにバケットポリシーのプリンシパル一覧を更新したくありません。組織外からのアクセスは拒否したい場合、バケットポリシーの条件に使う最も適切なキーはどれですか
正解の理由:aws:PrincipalOrgID は、リクエストを行ったプリンシパルが所属する AWS Organizations の組織IDを表すグローバル条件キーです。Principal を "*" にしつつ Condition で aws:PrincipalOrgID を組織IDに一致させれば、組織内のすべてのアカウントに許可を与え、組織外を暗黙的に拒否できます。アカウントの増減があってもポリシーの更新は不要です。aws:SourceAccount はサービスプリンシパル経由のアクセス元アカウントを示すキーで、個別アカウントIDの列挙が必要になり要件に反します。aws:userid はユーザー単位の識別子、s3:x-amz-acl はアップロード時のACL指定を制御するキーで、組織単位の制御には使えません。より細かく OU 単位で制御したい場合は aws:PrincipalOrgPaths を使います。