本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过 Amazon Bedrock Guardrails 强制措施实施跨账户保护措施
注意
Amazon Bedrock Guardrails 执法措施处于预览阶段,可能会发生变化。
Amazon Bedrock Guardrails 强制措施使您能够自动在AWS账户级别和某个级别(跨账户)对使用 Amazon Bedrock 进行的所有模型调用应用安全控制。AWS Organizations这种集中式方法可为多个账户和应用程序提供一致的保护,无需为单个账户和应用程序配置防护栏。
关键功能
以下是护栏执法的关键功能:
-
组织级强制执行 — 使用 Amazon Bedrock 政策(预览版),在组织单位 (OUs)、个人账户或整个组织中使用 Amazon Bedrock 进行的所有模型调用都设置防护栏(预览版)。AWS Organizations
-
账户级强制执行 — 为账户中的所有 Amazon Bedrock 模型调AWS用指定一个特定版本的护栏。
-
分层保护 — 当组织和应用程序特定的护栏都存在时,将两者结合起来。有效的安全控制将是两个护栏的结合,如果两个护栏的控制相同,则优先考虑最严格的控制措施。
以下主题描述了如何使用 Amazon Bedrock Guardrails 强制措施:
实施指南
以下教程介绍了为AWS组织账户和单个AWS账户实施防护措施所需的步骤。通过这些强制措施,对 Amazon Bedrock 的所有模型调用都将强制执行在指定护栏内配置的保护措施。
教程:组织层面的执法
本教程将引导您完成在整个组织中设置护栏强制措施。AWS最后,您将拥有一个护栏,该护栏会自动应用于指定账户中的所有 Amazon Bedrock 模型调用,或者。 OUs
谁应该学习本教程
AWS有权创建护栏和管理策略的组织管理员(具有管理AWS Organizations帐户访问权限)。
设置组织级别的护栏执法机构
-
规划您的护栏配置
-
定义您的安全措施:
-
在 A mazon Bedro ck Guardrails 文档中查看可用的护栏过滤器
-
确定您需要哪种过滤器。当前,支持内容过滤器、拒绝的主题、单词过滤器、敏感信息过滤器、上下文基础检查。
-
注意:请勿包含自动推理策略,因为护栏强制执行不支持自动推理策略,并且会导致运行时故障。
-
-
确定目标客户:
-
确定哪些账户 OUs、哪些账户或您的整个组织将强制执行此防护措施
-
-
-
在管理账户中创建您的护栏
使用以下方法之一在要强制执行的每个区域创建护栏:
-
使用AWS 管理控制台:
-
使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。AWS 管理控制台然后,在 https://console.aws.amazon.com/
bedrock 上打开 Amazon Bedrock 控制台。 -
在左侧导航面板中,选择 Guardrails
-
选择创建护栏
-
按照向导配置所需的过滤器或安全措施(内容过滤器、拒绝的主题、字词过滤器、敏感信息过滤器、上下文基础检查)
-
不要启用自动推理策略
-
完成向导以创建您的护栏
-
-
使用 API:使用 CreateGuardrailAPI
Verify
创建后,您应该在 Guardrails 登录页面的护栏列表中看到它,或者使用护栏名称在护栏列表中进行搜索
-
-
创建护栏版本
创建数字版本以确保护栏配置保持不可变且成员账户无法修改。
-
使用AWS 管理控制台:
-
在 Amazon Bedrock 控制台的护栏页面中选择在上一步中创建的护栏
-
选择 “创建版本”
-
记下护栏 ARN 和版本号(例如,“1”、“2” 等)
-
-
使用 API:使用 CreateGuardrailVersionAPI
Verify
查看 Guardrail 详情页面上的版本列表,确认版本已成功创建。
-
-
附上基于资源的策略
通过在护栏上附加基于资源的策略来启用跨账户访问。
-
使用 AWS 管理控制台 — 要使用控制台附加基于资源的策略,请执行以下操作:
-
在 Amazon Bedrock Guardrails 控制台中,选择您的护栏
-
单击 “添加” 以添加基于资源的策略
-
添加向所有成员账户或组织授予
bedrock:ApplyGuardrail权限的策略。请参阅 使用基于资源的策略进行护栏 中的 与您的组织共享护栏。 -
保存政策
-
Verify
使用 ApplyGuardrailAPI 测试来自成员账户的访问权限,以确保授权配置正确。
-
-
在成员账户中配置 IAM 权限
确保成员账户中的所有角色都具有 IAM 访问强制防护栏的权限。
所需的权限
成员账户角色需要
bedrock:ApplyGuardrail获得管理账户护栏的权限。设置使用 Amazon Bedrock 护栏的权限有关详细的 IAM 策略示例,请参阅Verify
确认在成员账户中拥有范围缩小权限的角色可以成功调用带护栏
ApplyGuardrail的 API。 -
启用 Amazon Bedrock 政策键入 AWS Organizations
-
使用 AWS 管理控制台 — 要使用控制台启用 Amazon Bedrock 策略类型,请执行以下操作:
-
导航到控制AWS Organizations台
-
选择政策
-
选择 Amazon Bedrock 政策(目前为预览版)
-
选择 “启用 Amazon Bedrock 策略”,为您的组织启用 Amazon Bedrock 策略类型
-
-
使用 API — 使用具有策略类型AWS OrganizationsEnablePolicyType的 API
BEDROCK_POLICY
Verify
确认AWS Organizations控制台中将 Amazon Bedrock 策略类型显示为已启用。
-
-
创建并附加AWS Organizations策略
创建管理策略来指定您的护栏并将其附加到您的目标账户或. OUs
-
使用 AWS 管理控制台 — 要使用控制台创建和附加AWS Organizations策略,请执行以下操作:
-
在AWS Organizations控制台中,导航到政策 > Amazon Bedrock 政策
-
选择创建策略
-
指定您的护栏 ARN 和版本
-
配置
input_tags设置(设置为忽略以防止成员账户通过护栏输入标签绕过输入上的护栏)。{ "bedrock": { "guardrail_inference": { "us-east-1": { "config_1": { "identifier": { "@@assign": "arn:aws:bedrock:us-east-1:account_id:guardrail/guardrail_id:1" }, "input_tags": { "@@assign": "honor" } } } } } } -
保存政策
-
导航到 “目标” 选项卡并选择 “附加” OUs,即可将策略附加到所需的目标(组织根账户或个人账户)
-
-
使用 API-使用具有策略类型AWS OrganizationsCreatePolicy的 API
BEDROCK_POLICY。用于附AttachPolicy着在目标上
了解更多:Amazon Bedrock 政策 AWS Organizations
Verify
在AWS Organizations控制台中检查策略是否已附加到正确的目标。
-
-
测试和验证执法情况
测试是否对成员账户实施了护栏。
验证哪个护栏是强制使用的
-
使用 AWS 管理控制台 — 从成员账户,导航到 Amazon Bedrock 控制台,点击左侧面板中的 Guardrails。在 Guardrails 主页上,您应该在管理账户的 “组织级强制配置” 和 “成员账户中的组织级强制护栏” 部分下看到组织强制实施的护栏
-
使用 API — 从成员账户,DescribeEffectivePolicy使用您的成员账户 ID 作为目标 ID 进行呼叫
使用成员账号进行测试
-
使用InvokeModel、、InvokeModelWithResponseStreamCon verse 或进行 Amazon Bedrock 推理调用。ConverseStream
-
强制性护栏应自动应用于输入和输出
-
查看回复以获取护栏评估信息。护栏应对措施将包括强制性的护栏信息。
-
教程:账户级强制执行
本教程将引导您完成在单个AWS账户中设置护栏强制措施。最后,您将拥有一个自动适用于您账户中所有 Amazon Bedrock 模型调用的防护栏。
谁应该学习本教程
AWS拥有创建防护栏和配置账户级别设置权限的账户管理员。
你需要什么
完成本教程需要以下内容:
-
具有相应 IAM 权限的AWS账户
-
了解您账户的安全要求
设置账户级别的护栏强制执行
-
规划您的护栏配置
定义您的安全措施
要定义您的安全措施,请执行以下操作:
-
在 A mazon Bedro ck Guardrails 文档中查看可用的护栏过滤器
-
确定您需要哪种过滤器。当前,支持内容过滤器、拒绝的主题、单词过滤器、敏感信息过滤器、上下文基础检查。
-
注意:请勿包含自动推理策略,因为护栏强制执行不支持自动推理策略,并且会导致运行时故障
-
-
创建护栏
在要强制执行的每个区域创建护栏。
Via AWS 管理控制台
要使用控制台创建护栏,请执行以下操作:
-
使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。AWS 管理控制台然后,在 https://console.aws.amazon.com/
bedrock 上打开 Amazon Bedrock 控制台。 -
在左侧导航面板中,选择 Guardrails
-
选择创建护栏
-
按照向导配置所需的策略(内容过滤器、拒绝的主题、字词过滤器、敏感信息过滤器)
-
不要启用自动推理策略
-
完成向导以创建您的护栏
通过 API
使用
CreateGuardrailAPIVerify
创建后,您应该在 Guardrails 登录页面的护栏列表中看到它,或者使用护栏名称在护栏列表中进行搜索
-
-
创建护栏版本
创建数字版本以确保护栏配置保持不可变且成员账户无法修改。
Via AWS 管理控制台
要使用控制台创建护栏版本,请执行以下操作:
-
在 Amazon Bedrock 控制台的护栏页面中选择在上一步中创建的护栏
-
选择 “创建版本”
-
记下护栏 ARN 和版本号(例如,“1”、“2” 等)
通过 API
使用
CreateGuardrailVersionAPIVerify
查看 Guardrail 详情页面上的版本列表,确认版本已成功创建。
-
-
附加基于资源的策略(可选)
如果您想与账户中的特定角色共享护栏,请附上基于资源的政策。
Via AWS 管理控制台
要使用控制台附加基于资源的策略,请执行以下操作:
-
在 Amazon Bedrock Guardrails 控制台中,选择您的护栏
-
单击 “添加” 以添加基于资源的策略
-
添加向所需角色授予
bedrock:ApplyGuardrail权限的策略 -
保存政策
-
-
启用账户级强制执行
将账户配置为使用您的护栏进行所有 Amazon Bedrock 调用。在你想要执法的每个地区都必须这样做。
Via AWS 管理控制台
要使用控制台启用账户级别的强制执行,请执行以下操作:
-
导航到 Amazon Bedrock 控制台
-
在左侧导航面板中选择 Guardrails
-
在 “账户级强制配置” 部分下,选择添加
-
选择您的护栏和版本
-
配置
input_tags设置(设置为 IGNORE 以防止成员账户通过 Guardrails 输入标签绕过输入的护栏) -
提交配置
-
对要强制执行的每个区域重复此操作
通过 API
在你想强制执行护栏的每个区域使用
PutEnforcedGuardrailConfigurationAPIVerify
您应该在 Guardrails 页面的 “账户强制护栏配置” 部分下看到账户强制护栏。您可以调用 ListEnforcedGuardrailsConfigurationAPI 来确保已列出强制护栏
-
-
测试和验证执法情况
使用账户中的角色进行测试
要测试账户的强制执行情况,请执行以下操作:
-
使用
InvokeModel、Converse、或进行 Amazon Bedrock 推理调用InvokeModelWithResponseStreamConverseStream -
由账户强制执行的护栏应自动适用于输入和输出
-
查看回复以获取护栏评估信息。护栏应对措施将包括强制性的护栏信息。
-
监控
-
查看
ApplyGuardrailAPI 调用 CloudTrail 日志,监控使用模式,例如指示 IAM 权限配置问题的 AccessDenied 异常。在中查看 Amazon Bedrock 数据事件 CloudTrail
定价
Amazon Bedrock Guardrails 的执法遵循亚马逊 Bedrock Guardrails 的当前定价模式,该模式基于每个配置的防护措施消耗的文本单元数量。根据其配置的防护措施,对每条强制护栏收取费用。有关各项保障措施的详细定价信息,请参阅 Amazon Bedrock 定价
常见问题
- 适用强制性护栏时,如何计算配额消耗?
-
消耗量将按与每个请求关联的护栏 ARN 进行计算,并将计入发出 API 调用的AWS账户。例如:一个包含 1000 个字符的文本和 3 个护栏的
ApplyGuardrail通话将为护栏中的每个防护装置生成每个护栏的 3 个文本消耗单位。使用 Amazon Bedrock 政策的会员账户通话将计入该成员账户的服务配额。查看 Service Quotas 控制台或 S ervice Quotas 文档,并确保您的 Guardrails 运行时限制足以满足您的呼叫量。
- 如何使用输入标签防止成员账号绕过护栏?
-
使用以下版本中提供的
input_tags控件:-
亚马逊 Bedrock 政策 AWS Organizations
将该值设置为 ignore,以防止成员账户标记部分内容。
-
- 如果我的申请中既有组织级和账户级的强制护栏又有护栏,会发生什么?
-
所有 3 个护栏都将在运行时强制执行。最终效果是所有护栏的结合,最严格的控制措施优先。
- 不支持护栏的型号会怎样?
-
对于不支持 Guardrails 的模型(例如嵌入模型),将引发运行时验证错误。
- 我能否删除强制配置中使用的护栏?
-
不是。 默认情况下,DeleteGuardrailAPI 会阻止删除与账户级或组织级强制配置相关的护栏。