Slide 1

Slide 1 text

Bedrock Policyで Amazon Bedrock Guardrails利用を 強制してみた 神野 雄大(Jinno Yudai /@yjinn448208 ) クラメソおおさか IT 勉強会 Midosuji Tech #8 2/4(水)

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

名前 神野 雄大(Jinno Yudai)/@yjinn448208 最近X始めました! 所属 クラスメソッド株式会社 クラウド事業本部 コンサルティング部 AIソリューションアーキテクト 最近は、生成AIを中心にやっています 資格 Japan All AWS Top Engineers 2025 推しのサービス Amazon Bedrock AgentCore 自己紹介 ラ・ムーとチーズナンが大好きです。 でもラ・ムーは実は1年ぐらい行ってい ません・・・ ブログはこのアイコン で書いています!

Slide 4

Slide 4 text

Amazon Bedrock Guardrailsを みなさん使っていますか??

Slide 5

Slide 5 text

Amazon Bedrock Guardrailsって何? 概要 生成AIアプリケーションに安全対策を実装する ためのAWSマネージドサービス 主な機能 有害コンテンツのフィルタリング 機密情報(PII)のマスキング トピック制限によるオフトピック防止 ハルシネーション検出・防止 Amazon Bedrock Guardrails

Slide 6

Slide 6 text

こんな感じで使えるよ Amazon Bedrock Amazon Bedrock Guardrails LLM リクエスト ユーザー 明日の天気は? 日常会話の話題を拒否する 「拒否トピック」を設定 日常会話の話題なのでブロック しました 開発系の話題のみ返信したい処理の場合は、日常会話をブロックしたいケースがあり下記のように使いまし た。

Slide 7

Slide 7 text

流行りのStrands Agentsでも簡単に使えるよ Amazon Bedrock Amazon Bedrock Guardrails LLM リクエスト Strands Agents guardrailのidやversionを指定 すればOK BedrockModelにguardrail_idやguardrail_versionを指定すれば問題なく使用できます

Slide 8

Slide 8 text

色々なことをブロックできる Amazon Bedrock Guardrails ヘイトや特定のワード、機密情報などのコンテンツをブロックしたりなどガバナンスを効かせるのに便利な機 能が備わっています。 コンテンツフィルター ヘイト、侮辱、性的、暴力、不正行為、プロンプトアタックな どの有害コンテンツをテキスト・画像の両方で検出・ブロック 拒否トピック 特定のトピック(話題)を定義してブロック ワードフィルター カスタムの単語やフレーズを定義してブロック 機密情報フィルター PII(個人識別情報)などの機密情報をブロックまたはマスク コンテキストグラウンディングチェック ソース情報に基づかないハルシネーションを検出・フィルタリ ング 自動推論チェック(プレビュー) 論理ルールに基づいてモデル応答の正確性を検証し、事実誤認 を防止

Slide 9

Slide 9 text

生成AIのガバナンスを効かせる のに便利ですね!!

Slide 10

Slide 10 text

ここで1つ疑問が・・・

Slide 11

Slide 11 text

組織として複数アカウントで同じ Guardrailsを共有できるのか・・・?

Slide 12

Slide 12 text

こんなイメージ Amazon Bedrock Guardrails 管理アカウント Amazon Bedrock 利用アカウントA Amazon Bedrock 利用アカウントB 管理アカウントの Guardrailsを利用 管理アカウントの Guardrailsを利用

Slide 13

Slide 13 text

ちょくちょく聞かれます ユーザー ワイ 組織として共通基盤を作りたいからガバナンス を効かせたいんだよね。 Guardrailsってアカウント間で共有できる?? そんなことできるのか・・・!? できたらエージェント作る時に統制 取れて良いかも・・・?

Slide 14

Slide 14 text

Bedrock Policy(Preview) ならできます・・・!!

Slide 15

Slide 15 text

先に結論 プレビュー機能であるBedrock Policyを使用すれば、組織全体に同一のGuardrails を使用および強制してBedrockに対してガバナンスを効かせることができる AWS Orgnaizationsの組織全体および特定のOUのみ指定も可能 アカウントレベルでGuardrailsを強制させることも可能 別Organizationsおよびシングルアカウント同士は共有が不可、あくまで同一 Orgnaizations内に限る Bedrock Policyを使わなくてもGuardrailsは共有可能だが、Converse APIでは指 定すると存在しないエラーになる ApplyGuardrail APIなら利用が可能なので、まずは評価だけする使い方になる ただこちらは強制はできず、あくまで利用ができるといった点に注意

Slide 16

Slide 16 text

Bedrock Policyを実際に適用してみる

Slide 17

Slide 17 text

今回使用するアカウントイメージ Amazon Bedrock Guardrails 管理アカウント AWS Organizations Amazon Bedrock 利用アカウント Guardrailsを利用 管理アカウントでGuardrailsを作成し、利用アカウントAでGuardrails利用する形にします。

Slide 18

Slide 18 text

管理アカウントでGuardrailsを作成 まずは管理アカウントでGuardrailsを作成します。今回は「チーズナン」の会話を拒否するトピックを作 成します。 Amazon Bedrock Guardrails 管理アカウント チーズナンの話題を拒否する 「拒否トピック」を設定 チーズナンの話題 は拒否されている

Slide 19

Slide 19 text

管理アカウントでリソースベースポリシーの作成 管理アカウント側でリソースベースポリシーを作成します。組織内のアカウントは利用できる条件を Condition句に記載します。 Amazon Bedrock Guardrails 管理アカウント OrgIDを指定

Slide 20

Slide 20 text

特定のOUとの共有も可能 もちろん特定のOUのみ共有するリソースベースポリシーの書き方も可能です。 Amazon Bedrock Guardrails 管理アカウント OUのIDを指定

Slide 21

Slide 21 text

Bedrock Policyの有効化 対象のOrganizationでBedrock Policyを有効化します。 AWS Organizations 「Bedrock ポリシーを有効にする」をクリック

Slide 22

Slide 22 text

Bedrock Policyの作成 有効にしたら具体的なポリシーを作成します。リージョン毎に対象のGuardrails ARNを指定します。 AWS Organizations リージョン毎の指 定に注意

Slide 23

Slide 23 text

ポリシーのアタッチ 作成したポリシーはアタッチを忘れないようにしましょう。Root、指定のOU、アカウント単位でも紐付 け可能です。今回はRootに紐付けをしています。 AWS Organizations ポリシーを指定のターゲットにアタッチ

Slide 24

Slide 24 text

準備完了!! この状態で利用アカウントでBedrock を使ってみる!

Slide 25

Slide 25 text

利用アカウントの状況 このアカウント自体にはGuardRailsは存在しません。が、 Organization-level enforced guard railsには 先ほど作ったGuardRailsが表示されています。良さげな匂いがしますね。 Amazon Bedrock 利用アカウント 増えている!!

Slide 26

Slide 26 text

Converse APIを実行してみる この状態で、シンプルにConverse APIを実行してみます。 Amazon Bedrock 利用アカウント 拒否されるであろう チーズナンの話題かつガードレールの指定 などは特にしない

Slide 27

Slide 27 text

実行結果 Guradrailsによる固定文言が返却されました!!アカウント自体にGuradrailsがなくても組織レベルで強 制されていて、良いですね。 Amazon Bedrock 利用アカウント 拒否された!!

Slide 28

Slide 28 text

Strands Agentsでの実行結果 当たり前ですがStrands Agentsでももちろん拒否されます。AIエージェントに対してGuardrailsを強制 したい場合の参考になりますね。 拒否された!! Guardrailsは特に指定しない Strands Agents 実行

Slide 29

Slide 29 text

同じことはアカウントレベルでもできる 今回は組織間で1つのGuardrailsを強制させましたが、アカウントレベルでも同じことはできます。 リソースベースポリシーの設定と、コンソールから強制させるオプションを選択すれば可能です。 こちらもプレビュー機能となります。 自アカウントのみアクセスを許可 強制の設定

Slide 30

Slide 30 text

併用も可能 組織レベル、アカウントレベルの強制および通常のガードレールは併用可能です。併用した場合は最も制 限が厳しいコントロールが優先されます。 組織レベル 併用は可能、最も制限が厳しいコントロールが優先 アカウントレベル 通常のAmazon Bedrock Guardrails

Slide 31

Slide 31 text

組織全体、または特定のOUやアカウントに 対してGuardrailsを適応できるの便利です ね・・・!!!

Slide 32

Slide 32 text

あれ、リソースベースポリシーが使えるなら Organizationsを使わなくても対象のアカウ ントだけを許可するポリシーを書けば共有で きる・・・?

Slide 33

Slide 33 text

リソースベースポリシーの条件 残念ながら使える条件が限られています。現時点ではアカウント内共有、またはOrganizations内で許可 する条件しか難しいです。そもそもGuardrailsのリソースベースポリシーもPreview機能であることに注 意しましょう。 https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/guardrails-resource- based-policies.html#share-guardrail-with-organization

Slide 34

Slide 34 text

マルチアカウントでないなら、IaCといった選択 AWS Oraganizationsを使用しておらず、アカウント毎に同じGuardrailを使用したい場合はIaCが選択肢 になるかと思います。GuardrailsはCDKやTerraformで作成可能です。 Terraform CDK IaCツール Amazon Bedrock Guardrails アカウントA Amazon Bedrock Guardrails アカウントB 同一の設定を反映

Slide 35

Slide 35 text

CDKのコード例 CDKでの一例になりますが、alphaパッケージでL2 Constructを使ってシンプルに実装も可能です。 CDKでの実装イメージ

Slide 36

Slide 36 text

ポリシーを使わなくても同一Orgなら Guardrailsを使えるって理解でOK?

Slide 37

Slide 37 text

Converse APIではエラーが起きる Converse APIで同一Org内の別アカウントGuardrailsを指定すると、存在しないとエラーが出ます。 Strands Agentsで使用する場合も同様です。 Converse APIを実行するとエラー

Slide 38

Slide 38 text

ApplyGuardrail APIなら使える 推論をせず、単純にGuardrailsに対してリクエストを送って問題があるコンテンツが適切か評価だけを行 うApplyGuardrail APIなら同一Orgの別アカウントのGuardrailsも使用できます。 ApplyGuardrail APIは成功 Strands AgentsでApplyGuardrail APIと Hooksの合わせ技でAIエージェントでもブ ロックすることも可能です。若干トリッ キーなやり方だと思いますが・・・ Strands Agents

Slide 39

Slide 39 text

使ってみて思ったのですが、Bedrock Policy を使わずにあえて、このやり方をするのはメ リットが薄いように感じますね・・・!

Slide 40

Slide 40 text

改めて結論(再掲) プレビュー機能であるBedrock Policyを使用すれば、組織全体に同一のGuardrails を使用および強制してBedrockに対してガバナンスを効かせることができる AWS Orgnaizationsの組織全体および特定のOUのみ指定も可能 アカウントレベルでGuardrailsを強制させることも可能 別Organizationsおよびシングルアカウント同士は共有が不可、あくまで同一 Orgnaizations内に限る Bedrock Policyを使わなくてもGuardrailsは共有可能だが、Converse APIでは指 定すると存在しないエラーになる ApplyGuardrail APIなら利用が可能なので、まずは評価だけする使い方になる ただこちらは強制はできず、あくまで利用ができるといった点に注意

Slide 41

Slide 41 text

おわりに 現時点ではプレビュー機能ですが、Bedrock Policyが組 織間で統制を取りたい場合に便利ですね!!
 Guardrailsでガバナンスを利かせたい場合はぜひ利用を検 討してみましょう!!! 最後までご清聴ありがとうございましたー!!