通过 Amazon Bedrock Guardrails 强制措施实施跨账户保护措施 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

通过 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帐户访问权限)。

你需要什么

完成本教程需要以下内容:

设置组织级别的护栏执法机构
  1. 规划您的护栏配置
    1. 定义您的安全措施:

      • 在 A mazon Bedro ck Guardrails 文档中查看可用的护栏过滤器

      • 确定您需要哪种过滤器。当前,支持内容过滤器、拒绝的主题、单词过滤器、敏感信息过滤器、上下文基础检查。

      • 注意:请勿包含自动推理策略,因为护栏强制执行不支持自动推理策略,并且会导致运行时故障。

    2. 确定目标客户:

      • 确定哪些账户 OUs、哪些账户或您的整个组织将强制执行此防护措施

  2. 在管理账户中创建您的护栏

    使用以下方法之一在要强制执行的每个区域创建护栏:

    • 使用AWS 管理控制台:

      1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。AWS 管理控制台然后,在 https://console.aws.amazon.com/bedrock 上打开 Amazon Bedrock 控制台。

      2. 在左侧导航面板中,选择 Guardrails

      3. 选择创建护栏

      4. 按照向导配置所需的过滤器或安全措施(内容过滤器、拒绝的主题、字词过滤器、敏感信息过滤器、上下文基础检查)

      5. 不要启用自动推理策略

      6. 完成向导以创建您的护栏

    • 使用 API:使用 CreateGuardrailAPI

    Verify

    创建后,您应该在 Guardrails 登录页面的护栏列表中看到它,或者使用护栏名称在护栏列表中进行搜索

  3. 创建护栏版本

    创建数字版本以确保护栏配置保持不可变且成员账户无法修改。

    • 使用AWS 管理控制台:

      1. 在 Amazon Bedrock 控制台的护栏页面中选择在上一步中创建的护栏

      2. 选择 “创建版本

      3. 记下护栏 ARN 和版本号(例如,“1”、“2” 等)

    • 使用 API:使用 CreateGuardrailVersionAPI

    Verify

    查看 Guardrail 详情页面上的版本列表,确认版本已成功创建。

  4. 附上基于资源的策略

    通过在护栏上附加基于资源的策略来启用跨账户访问。

    • 使用 AWS 管理控制台 — 要使用控制台附加基于资源的策略,请执行以下操作:

      1. 在 Amazon Bedrock Guardrails 控制台中,选择您的护栏

      2. 单击 “添加” 以添加基于资源的策略

      3. 添加向所有成员账户或组织授予bedrock:ApplyGuardrail权限的策略。请参阅 使用基于资源的策略进行护栏 中的 与您的组织共享护栏

      4. 保存政策

    Verify

    使用 ApplyGuardrailAPI 测试来自成员账户的访问权限,以确保授权配置正确。

  5. 在成员账户中配置 IAM 权限

    确保成员账户中的所有角色都具有 IAM 访问强制防护栏的权限。

    所需的权限

    成员账户角色需要bedrock:ApplyGuardrail获得管理账户护栏的权限。设置使用 Amazon Bedrock 护栏的权限有关详细的 IAM 策略示例,请参阅

    Verify

    确认在成员账户中拥有范围缩小权限的角色可以成功调用带护栏ApplyGuardrail的 API。

  6. 启用 Amazon Bedrock 政策键入 AWS Organizations
    • 使用 AWS 管理控制台 — 要使用控制台启用 Amazon Bedrock 策略类型,请执行以下操作:

      1. 导航到控制AWS Organizations台

      2. 选择政策

      3. 选择 Amazon Bedrock 政策(目前为预览版)

      4. 选择 “启用 Amazon Bedrock 策略”,为您的组织启用 Amazon Bedrock 策略类型

    • 使用 API — 使用具有策略类型AWS OrganizationsEnablePolicyType的 API BEDROCK_POLICY

    Verify

    确认AWS Organizations控制台中将 Amazon Bedrock 策略类型显示为已启用。

  7. 创建并附加AWS Organizations策略

    创建管理策略来指定您的护栏并将其附加到您的目标账户或. OUs

    • 使用 AWS 管理控制台 — 要使用控制台创建和附加AWS Organizations策略,请执行以下操作:

      1. 在AWS Organizations控制台中,导航到政策 > Amazon Bedrock 政策

      2. 选择创建策略

      3. 指定您的护栏 ARN 和版本

      4. 配置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" } } } } } }
      5. 保存政策

      6. 导航到 “目标” 选项卡并选择 “附加” OUs,即可将策略附加到所需的目标(组织根账户或个人账户)

    • 使用 API-使用具有策略类型AWS OrganizationsCreatePolicy的 API BEDROCK_POLICY。用于附AttachPolicy着在目标上

    了解更多:Amazon Bedrock 政策 AWS Organizations

    Verify

    在AWS Organizations控制台中检查策略是否已附加到正确的目标。

  8. 测试和验证执法情况

    测试是否对成员账户实施了护栏。

    验证哪个护栏是强制使用的
    • 使用 AWS 管理控制台 — 从成员账户,导航到 Amazon Bedrock 控制台,点击左侧面板中的 Guardrails。在 Guardrails 主页上,您应该在管理账户的 “组织级强制配置” 和 “成员账户中的组织级强制护栏” 部分下看到组织强制实施的护栏

    • 使用 API — 从成员账户,DescribeEffectivePolicy使用您的成员账户 ID 作为目标 ID 进行呼叫

    使用成员账号进行测试
    1. 使用InvokeModel、、InvokeModelWithResponseStreamCon verse 或进行 Amazon Bedrock 推理调用。ConverseStream

    2. 强制性护栏应自动应用于输入和输出

    3. 查看回复以获取护栏评估信息。护栏应对措施将包括强制性的护栏信息。

教程:账户级强制执行

本教程将引导您完成在单个AWS账户中设置护栏强制措施。最后,您将拥有一个自动适用于您账户中所有 Amazon Bedrock 模型调用的防护栏。

谁应该学习本教程

AWS拥有创建防护栏和配置账户级别设置权限的账户管理员。

你需要什么

完成本教程需要以下内容:

  • 具有相应 IAM 权限的AWS账户

  • 了解您账户的安全要求

设置账户级别的护栏强制执行
  1. 规划您的护栏配置
    定义您的安全措施

    要定义您的安全措施,请执行以下操作:

    • 在 A mazon Bedro ck Guardrails 文档中查看可用的护栏过滤器

    • 确定您需要哪种过滤器。当前,支持内容过滤器、拒绝的主题、单词过滤器、敏感信息过滤器、上下文基础检查。

    • 注意:请勿包含自动推理策略,因为护栏强制执行不支持自动推理策略,并且会导致运行时故障

  2. 创建护栏

    在要强制执行的每个区域创建护栏。

    Via AWS 管理控制台

    要使用控制台创建护栏,请执行以下操作:

    1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。AWS 管理控制台然后,在 https://console.aws.amazon.com/bedrock 上打开 Amazon Bedrock 控制台。

    2. 在左侧导航面板中,选择 Guardrails

    3. 选择创建护栏

    4. 按照向导配置所需的策略(内容过滤器、拒绝的主题、字词过滤器、敏感信息过滤器)

    5. 不要启用自动推理策略

    6. 完成向导以创建您的护栏

    通过 API

    使用 CreateGuardrail API

    Verify

    创建后,您应该在 Guardrails 登录页面的护栏列表中看到它,或者使用护栏名称在护栏列表中进行搜索

  3. 创建护栏版本

    创建数字版本以确保护栏配置保持不可变且成员账户无法修改。

    Via AWS 管理控制台

    要使用控制台创建护栏版本,请执行以下操作:

    1. 在 Amazon Bedrock 控制台的护栏页面中选择在上一步中创建的护栏

    2. 选择 “创建版本

    3. 记下护栏 ARN 和版本号(例如,“1”、“2” 等)

    通过 API

    使用 CreateGuardrailVersion API

    Verify

    查看 Guardrail 详情页面上的版本列表,确认版本已成功创建。

  4. 附加基于资源的策略(可选)

    如果您想与账户中的特定角色共享护栏,请附上基于资源的政策。

    Via AWS 管理控制台

    要使用控制台附加基于资源的策略,请执行以下操作:

    1. 在 Amazon Bedrock Guardrails 控制台中,选择您的护栏

    2. 单击 “添加” 以添加基于资源的策略

    3. 添加向所需角色授予bedrock:ApplyGuardrail权限的策略

    4. 保存政策

  5. 启用账户级强制执行

    将账户配置为使用您的护栏进行所有 Amazon Bedrock 调用。在你想要执法的每个地区都必须这样做。

    Via AWS 管理控制台

    要使用控制台启用账户级别的强制执行,请执行以下操作:

    1. 导航到 Amazon Bedrock 控制台

    2. 在左侧导航面板中选择 Guardrails

    3. 在 “账户级强制配置” 部分下,选择添加

    4. 选择您的护栏和版本

    5. 配置input_tags设置(设置为 IGNORE 以防止成员账户通过 Guardrails 输入标签绕过输入的护栏)

    6. 提交配置

    7. 对要强制执行的每个区域重复此操作

    通过 API

    在你想强制执行护栏的每个区域使用 PutEnforcedGuardrailConfiguration API

    Verify

    您应该在 Guardrails 页面的 “账户强制护栏配置” 部分下看到账户强制护栏。您可以调用 ListEnforcedGuardrailsConfigurationAPI 来确保已列出强制护栏

  6. 测试和验证执法情况
    使用账户中的角色进行测试

    要测试账户的强制执行情况,请执行以下操作:

    1. 使用InvokeModelConverse、或进行 Amazon Bedrock 推理调用 InvokeModelWithResponseStream ConverseStream

    2. 由账户强制执行的护栏应自动适用于输入和输出

    3. 查看回复以获取护栏评估信息。护栏应对措施将包括强制性的护栏信息。

监控

定价

Amazon Bedrock Guardrails 的执法遵循亚马逊 Bedrock Guardrails 的当前定价模式,该模式基于每个配置的防护措施消耗的文本单元数量。根据其配置的防护措施,对每条强制护栏收取费用。有关各项保障措施的详细定价信息,请参阅 Amazon Bedrock 定价

常见问题

适用强制性护栏时,如何计算配额消耗?

消耗量将按与每个请求关联的护栏 ARN 进行计算,并将计入发出 API 调用的AWS账户。例如:一个包含 1000 个字符的文本和 3 个护栏的ApplyGuardrail通话将为护栏中的每个防护装置生成每个护栏的 3 个文本消耗单位。

使用 Amazon Bedrock 政策的会员账户通话将计入该成员账户的服务配额。查看 Service Quotas 控制台或 S ervice Quotas 文档,并确保您的 Guardrails 运行时限制足以满足您的呼叫量。

如何使用输入标签防止成员账号绕过护栏?

使用以下版本中提供的input_tags控件:

将该值设置为 ignore,以防止成员账户标记部分内容。

如果我的申请中既有组织级和账户级的强制护栏又有护栏,会发生什么?

所有 3 个护栏都将在运行时强制执行。最终效果是所有护栏的结合,最严格的控制措施优先。

不支持护栏的型号会怎样?

对于不支持 Guardrails 的模型(例如嵌入模型),将引发运行时验证错误。

我能否删除强制配置中使用的护栏?

不是。 默认情况下,DeleteGuardrailAPI 会阻止删除与账户级或组织级强制配置相关的护栏。