大企業が50以上のAWSアカウントをAWS Organizationsで管理しています。AIガバナンスチームは「承認済みの基盤モデル(Claude 3 SonnetとAmazon Titan Text Expressの2モデルのみ)以外のAmazon Bedrock基盤モデルを組織全体で使用することを禁止する」というポリシーを定めました。新モデルはセキュリティレビューを経て承認リストに追加されます。このポリシーを組織全体に対して最も効果的な予防的コントロール(Preventive Control)として実装するにはどうすればよいですか?
正解: AWS Organizations Service Control Policy(SCP)でbedrock:InvokeModelおよびbedrock:InvokeModelWithResponseStreamにExplicit Denyを設定し、Conditionブロックでbedrock:ModelIdがStringNotEqualsで承認済みモデルIDリストと一致しない場合に拒否する。 SCPはAWS Organizationsレベルで適用される予防的ガードレールであり、組織内のすべてのアカウント管理者を含むすべての主体がOverrideできない制御を提供します。bedrock:ModelIdはBedrock固有のIAM条件キーで、SCPのConditionブロックでStringNotEquals演算子を使用することにより、承認済みモデル以外のAPI呼び出しを発生前にブロックできます。 Aは誤り:IAMポリシーは各アカウント管理者が変更・削除できるため、組織全体への強制力がありません。また50以上のアカウントへの個別設定は管理コストが高く、設定漏れのリスクがあります。SCPはアカウント管理者でも上書きできません。 Bは誤り:EventBridge + Lambdaによる検出・修復はDetective Control(発見的コントロール)です。権限が削除されるまでの間、未承認モデルへのアクセスが発生します。予防的コントロールの要件を満たしません。 Dは誤り:AWS ConfigもDetective Controlです。コンプライアンス違反を検出しても、違反が発生した後の対応となります。また個別アカウントのIAMポリシーを監視するものであり、SCPのような組織全体への強制力はありません。