批量推理所需权限 - Amazon Bedrock

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

批量推理所需权限

要执行批量推理,您必须为以下 IAM 身份设置权限:

  • 用于创建和管理批量推理作业的 IAM 身份。

  • Amazon Bedrock 代入的批量推理服务角色,用于代表您执行操作。

要了解如何为每个身份设置权限,请浏览以下主题:

IAM 身份提交和管理批量推理作业所需的权限

要让 IAM 身份能够使用此功能,您必须为其配置必要的权限。为此,请执行以下操作之一:

  • 要允许身份执行所有 Amazon Bedrock 操作,请将AmazonBedrockFullAccess策略附加到该身份。如果您这样做,可跳过此主题。此选项安全性较低。

  • 作为安全最佳实践,您应仅向身份授予必要的操作权限。本主题介绍此功能所需的权限。

要将权限限制为仅用于批量推理相关的操作,请将以下基于身份的策略附加到 IAM 身份:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "BatchInference", "Effect": "Allow", "Action": [ "bedrock:ListFoundationModels", "bedrock:GetFoundationModel", "bedrock:ListInferenceProfiles", "bedrock:GetInferenceProfile", "bedrock:ListCustomModels", "bedrock:GetCustomModel", "bedrock:TagResource", "bedrock:UntagResource", "bedrock:ListTagsForResource", "bedrock:CreateModelInvocationJob", "bedrock:GetModelInvocationJob", "bedrock:ListModelInvocationJobs", "bedrock:StopModelInvocationJob" ], "Resource": "*" } ] }

要进一步限制权限,您可以忽略操作,或者指定用于筛选权限的资源和条件键。有关操作、资源和条件键的更多信息,请参阅《服务授权参考》中的以下主题:

以下策略示例限定了批量处理的权限范围,仅允许账户 ID 为 123456789012 的用户在 us-west-2 区域中创建批量推理作业,并使用 Anthropic Claude 3 Haiku 模型:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "CreateBatchInferenceJob", "Effect": "Allow", "Action": [ "bedrock:CreateModelInvocationJob" ], "Resource": [ "arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-haiku-20240307-v1:0", "arn:aws:bedrock:us-west-2:123456789012:model-invocation-job/*" ] } ] }

服务角色执行批量推理所需的权限

由代入您的身份并代表您执行操作的服务角色执行批量推理。您可以通过以下方式创建服务角色:

  • 使用 AWS 管理控制台,让 Amazon Bedrock 自动为您创建具有必要权限的服务角色。您可以在创建批量推理作业时选择此选项。

  • 使用AWS Identity and Access Management并附加必要的权限,为 Amazon Bedrock 创建自定义服务角色。提交批量推理作业时,您需要指定此角色。有关创建用于批量推理的自定义服务角色的更多信息,请参阅为批量推理创建自定义服务角色。有关创建服务角色的更多常规信息,请参阅《IAM 用户指南》中的创建角色以委派权限给 AWS 服务

重要
  • 如果您在其中上传数据以进行批量推断的 S3 存储桶位于不同的存储桶中AWS 账户,则必须配置 S3 存储桶策略以允许服务角色访问数据。即使您使用控制台自动创建服务角色,仍必须手动配置此策略。要了解如何为 Amazon Bedrock 资源配置 S3 存储桶策略,请参阅将存储桶策略附加到 Amazon S3 存储桶以允许其他账户访问它

  • Amazon Bedrock 中的基础模型是AWS托管资源,不能用于需要客户所有权的 IAM 策略条件。这些模型由个人客户拥有和运营AWS,不能归个人客户所有。任何检查客户拥有的资源的 IAM 政策条件(例如使用资源标签、组织 ID 或其他所有权属性的条件)在应用于基础模型时都将失败,这可能会阻止对这些服务的合法访问。

    例如,如果您的保单包含这样的aws:ResourceOrgID条件:

    { "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceOrgID": ["o-xxxxxxxx"] } } }

    您的批量推理作业将失败。AccessDeniedException删除aws:ResourceOrgID条件或为基础模型创建单独的策略声明。