

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

# 自动模型评估作业的服务角色要求
<a name="automatic-service-roles"></a>

要创建自动模型评估作业，必须指定服务角色。您附加的策略将授予 Amazon Bedrock 访问您账户中资源的权限，并允许 Amazon Bedrock 代表您调用所选模型。

还必须附加一项信任策略，将 Amazon Bedrock 定义为使用 `bedrock.amazonaws.com` 的服务主体。以下各个策略示例将根据自动模型评估作业中调用的各项服务，为您展示所需的确切 IAM 操作。

要创建自定义服务角色，请参阅**《IAM 用户指南》中的[使用自定义信任策略创建角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)。

**必要的 Amazon S3 IAM 操作**  
以下策略示例将授予对 S3 存储桶（用于保存模型评估结果）的访问权限，以及对您指定的任何自定义提示数据集的访问权限（可选）。

------
#### [ 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 调用您计划在自动模型评估作业中指定的模型。要了解有关管理 Amazon Bedrock 模型访问权限的更多信息，请参阅[访问 Amazon Bedrock 基础模型](model-access.md)。在策略的 `"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 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": "111122223333"
        },
        "ArnEquals": {
            "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:evaluation-job/*"
        }
    }
}]
}
```

------