本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
基于人工的模型评测作业的服务角色要求
要创建使用评估人员的模型评估作业,必须指定两个服务角色。
以下列表总结了必须在 Amazon Bedrock 控制台中指定的每个必要服务角色的 IAM 策略要求。
Amazon Bedrock 服务角色的 IAM 策略要求摘要
-
必须添加将 Amazon Bedrock 定义为服务主体的信任策略。
-
必须允许 Amazon Bedrock 代表您调用所选模型。
-
必须允许 Amazon Bedrock 访问保存提示数据集的 S3 存储桶和将要保存结果的 S3 存储桶。
-
必须允许 Amazon Bedrock 在您的账户中创建所需的人工循环资源。
-
(推荐)使用 Condition
块来指定可以访问的账户。
-
(可选)如果您已加密提示数据集存储桶或将要保存结果的 Amazon S3 存储桶,则必须允许 Amazon Bedrock 解密您的 KMS 密钥。
亚马逊 A SageMaker I 服务角色的 IAM 政策要求摘要
-
您必须附上将 A SageMaker I 定义为服务主体的信任策略。
-
您必须允许 SageMaker AI 访问保存提示数据集的 S3 存储桶和要保存结果的 S3 存储桶。
-
(可选)如果您已加密提示数据集存储桶或想要获得结果的位置,则必须允许 SageMaker AI 使用您的客户托管密钥。
要创建自定义服务角色,请参阅《IAM 用户指南》中的使用自定义信任策略创建角色。
必要的 Amazon S3 IAM 操作
以下策略示例将授予对保存模型评估结果的 S3 存储桶的访问权限,以及您指定的自定义提示数据集的访问权限。您需要将此策略附加到 SageMaker AI 服务角色和 Amazon Bedrock 服务角色。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAccessToCustomDatasets",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::custom-prompt-dataset
"
]
},
{
"Sid": "AllowAccessToOutputBucket",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject",
"s3:GetBucketLocation",
"s3:AbortMultipartUpload",
"s3:ListBucketMultipartUploads"
],
"Resource": [
"arn:aws:s3:::model_evaluation_job_output
"
]
}
]
}
必要的 Amazon Bedrock IAM 操作
要允许 Amazon Bedrock 调用您计划在自动模型评测作业中指定的模型,请将以下策略附加到 Amazon Bedrock 服务角色。在策略的 "Resource"
部分,您必须至少指定一个您也可以访问的模型的 ARN。要使用通过客户自主管理型 KMS 密钥加密的模型,您必须向 IAM 服务角色添加所需的 IAM 操作和资源。您还必须添加任何必需的 AWS KMS 关键策略元素。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAccessToBedrockResources",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
"bedrock:CreateModelInvocationJob",
"bedrock:StopModelInvocationJob",
"bedrock:GetProvisionedModelThroughput",
"bedrock:GetInferenceProfile",
"bedrock:ListInferenceProfiles",
"bedrock:GetImportedModel",
"bedrock:GetPromptRouter",
"sagemaker:InvokeEndpoint"
],
"Resource": [
"arn:aws:bedrock:*::foundation-model/*",
"arn:aws:bedrock:*:111122223333
:inference-profile/*",
"arn:aws:bedrock:*:111122223333
:provisioned-model/*",
"arn:aws:bedrock:*:111122223333
:imported-model/*",
"arn:aws:bedrock:*:111122223333
:application-inference-profile/*",
"arn:aws:bedrock:*:111122223333
:default-prompt-router/*",
"arn:aws:sagemaker:*:111122223333
:endpoint/*",
"arn:aws:bedrock:*:111122223333
:marketplace/model-endpoint/all-access"
]
}
]
}
必要的 Amazon Augmented AI IAM 操作
您还必须创建一个策略,以便允许 Amazon Bedrock 创建与基于人工的模型评测作业相关的资源。由于 Amazon Bedrock 创建了启动模型评估作业所需的资源,因此您必须使用 "Resource":
"*"
。必须将此策略附加到 Amazon Bedrock 服务角色中。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ManageHumanLoops",
"Effect": "Allow",
"Action": [
"sagemaker:StartHumanLoop",
"sagemaker:DescribeFlowDefinition",
"sagemaker:DescribeHumanLoop",
"sagemaker:StopHumanLoop",
"sagemaker:DeleteHumanLoop"
],
"Resource": "*"
}
]
}
服务主体要求 (Amazon Bedrock)
还必须指定将 Amazon Bedrock 定义为服务主体的信任策略,以允许 Amazon Bedrock 担任该角色。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "AllowBedrockToAssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "bedrock.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "111122223333"
},
"ArnEquals": {
"aws:SourceArn": "arn:aws:bedrock:"us-east-1
:111122223333
:evaluation-job/*"
}
}
}]
}
服务主体要求 (SageMaker AI)
还必须指定将 Amazon Bedrock 定义为服务主体的信任策略,这允许 SageMaker AI 扮演这个角色。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSageMakerToAssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "sagemaker.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}