知识库评测作业的服务角色要求 - Amazon Bedrock

知识库评测作业的服务角色要求

要创建知识库评测作业,必须指定服务角色。您附加到角色的策略将授予 Amazon Bedrock 访问您账户中资源的权限,并允许 Amazon Bedrock 执行以下操作:

  • 使用 RetrieveAndGenerate API 操作调用您为生成输出选择的模型,并评估知识库输出。

  • 在您的知识库实例上,调用 Amazon Bedrock 知识库 RetrieveRetrieveAndGenerate API 操作。

要创建自定义服务角色,请参阅《IAM 用户指南》中的使用自定义信任策略创建角色

访问 Amazon S3 所需的 IAM 操作

以下示例策略将授予对满足以下两种情况的 S3 存储桶的访问权限:

  • 您保存知识库评测结果。

  • Amazon Bedrock 读取您的输入数据集。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAccessToCustomDatasets", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my_customdataset1_bucket", "arn:aws:s3:::my_customdataset1_bucket/myfolder", "arn:aws:s3:::my_customdataset2_bucket", "arn:aws:s3:::my_customdataset2_bucket/myfolder" ] }, { "Sid": "AllowAccessToOutputBucket", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:GetBucketLocation", "s3:AbortMultipartUpload", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::my_output_bucket", "arn:aws:s3:::my_output_bucket/myfolder" ] } ] }
必要的 Amazon Bedrock IAM 操作

您还需创建策略来允许 Amazon Bedrock 执行以下操作:

  1. 调用您计划为以下任务指定的模型:

    • 使用 RetrieveAndGenerate API 操作生成结果。

    • 评估结果。

    对于策略中的 Resource 密钥,您必须指定至少一个自己可以访问的模型的 ARN。要使用通过客户自主管理型 KMS 密钥加密的模型,您必须向 IAM 服务角色策略添加所需的 IAM 操作和资源。您还必须将服务角色添加到 AWS KMS 密钥政策中。

  2. 调用 RetrieveRetrieveAndGenerate API 操作。请注意,在控制台的自动角色创建中,我们会同时授予对 RetrieveRetrieveAndGenerate API 操作的权限,无论您选择为该作业评估什么操作。这样做可以提高角色的灵活性和可重用性。但是,为了增强安全性,自动创建的角色会与单个知识库实例绑定。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowSpecificModels", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream", "bedrock:CreateModelInvocationJob", "bedrock:StopModelInvocationJob", "bedrock:GetProvisionedModelThroughput", "bedrock:GetInferenceProfile", "bedrock:GetImportedModel" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*", "arn:aws:bedrock:us-east-1:123456789012:inference-profile/*", "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/*", "arn:aws:bedrock:us-east-1:123456789012:imported-model/*", "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/*" ] }, { "Sid": "AllowKnowledgeBaseAPis", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id" ] } ] }
服务主体要求

还必须指定将 Amazon Bedrock 定义为服务主体的信任策略,此策略允许 Amazon Bedrock 代入该角色。需要使用通配符 (*) 模型评估作业 ARN,这样 Amazon Bedrock 才能在您的 AWS 账户中创建模型评估作业。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowBedrockToAssumeRole", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:evaluation-job/*" } } } ] }