

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

# 为模型自定义创建服务角色
<a name="model-customization-iam-role"></a>

要使用自定义角色而不是 Amazon Bedrock 自动创建的角色进行模型定制，请按照创建角色[向 AWS 服务委派权限中的步骤创建一个 IAM 角色并附加以下权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。
+ 信任关系
+ 访问 S3 中的训练数据和验证数据以及将输出数据写入 S3 的权限
+ （可选）如果您使用 KMS 密钥加密以下任何资源，则还有解密密钥的权限（请参阅[自定义模型加密](encryption-custom-job.md)）
  + 模型自定义作业或生成的自定义模型
  + 用于模型自定义作业的训练、验证和输出数据

**Topics**
+ [信任关系](#model-customization-iam-role-trust)
+ [访问训练文件和验证文件以及在 S3 中写入输出文件的权限](#model-customization-iam-role-s3)
+ [（可选）使用跨区域推理配置文件创建蒸馏作业的权限](#customization-iam-sr-ip)

## 信任关系
<a name="model-customization-iam-role-trust"></a>

以下策略允许 Amazon Bedrock 担任此角色并执行模型自定义作业。下面所示为您可以使用的示例策略。

您可以选择使用带有 `Condition` 字段的一个或多个全局条件上下文键来限制权限范围，以防止[跨服务混淆代理](cross-service-confused-deputy-prevention.md)。有关更多信息，请参阅 [AWS 全局条件上下文键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。
+ 将 `aws:SourceAccount` 值设置为您的账户 ID。
+ （可选）使用 `ArnEquals` 或 `ArnLike` 条件将范围限制为账户 ID 中特定的模型自定义作业。

------
#### [ JSON ]

****  

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

------

## 访问训练文件和验证文件以及在 S3 中写入输出文件的权限
<a name="model-customization-iam-role-s3"></a>

附加以下策略，以允许角色访问训练数据和验证数据以及向其中写入输出数据的存储桶。将 `Resource` 列表中的值替换为您实际的存储桶名称。

要限制对存储桶中特定文件夹的访问，请在您的文件夹路径中添加 `s3:prefix` 条件键。您可以按照[示例 2：获取存储桶中具有特定前缀的对象列表](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2)中的**用户策略**示例操作 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::{{training-bucket}}",
                "arn:aws:s3:::{{training-bucket/*}}",
                "arn:aws:s3:::{{validation-bucket}}",
                "arn:aws:s3:::{{validation-bucket/*}}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::{{output-bucket}}",
                "arn:aws:s3:::{{output-bucket/*}}"
            ]
        }
    ]
}
```

------

## （可选）使用跨区域推理配置文件创建蒸馏作业的权限
<a name="customization-iam-sr-ip"></a>

要在提炼作业中为教师模型使用跨区域推理配置文件，除了推理配置文件中每个区域的模型外 AWS 区域，服务角色还必须有权在中调用推理配置文件。

对于使用跨区域（系统定义）的推理配置文件进行调用的权限，请针对附加到您的服务角色的权限策略，使用以下策略作为模板：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossRegionInference",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:inference-profile/{{${InferenceProfileId}}}",
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/{{${ModelId}}}",
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/{{${ModelId}}}"
            ]
        }
    ]
}
```

------