

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

# 了解服务执行角色
<a name="msk-connect-service-execution-role"></a>

**注意**  
Amazon MSK Connect 不支持使用[服务相关角色](mkc-using-service-linked-roles.md)作为服务执行角色。您必须创建单独的服务执行角色。有关如何创建自定义 IAM 角色的说明，请参阅 I [A *M 用户指南*中的创建角色以向 AWS 服务委派权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

在使用 MSK Connect 创建连接器时，您需要指定要与之配合使用的 AWS Identity and Access Management (IAM) 角色。您的服务执行角色必须具有以下信任策略，以便 MSK Connect 可以代入该角色。有关此策略中条件上下文键的说明，请参阅 [防范跨服务混淆代理问题](cross-service-confused-deputy-prevention.md)。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kafkaconnect.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:kafkaconnect:us-east-1:123456789012:connector/myConnector/abc12345-abcd-4444-a8b9-123456f513ed-2"
        }
      }
    }   
  ]
}
```

------

如果您想要与连接器一起使用的 Amazon MSK 集群使用 IAM 身份验证，则必须向连接器的服务执行角色添加以下权限策略。有关如何查找集群的 UUID 以及如何构造主题的信息 ARNs，请参阅[授权策略资源](kafka-actions.md#msk-iam-resources)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:Connect",
                "kafka-cluster:DescribeCluster"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:000000000001:cluster/testClusterName/300d0000-0000-0005-000f-00000000000b-1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:ReadData",
                "kafka-cluster:DescribeTopic"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:topic/myCluster/300a0000-0000-0003-000a-00000000000b-6/__amazon_msk_connect_read"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:WriteData",
                "kafka-cluster:DescribeTopic"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:topic/testCluster/300f0000-0000-0008-000d-00000000000m-7/__amazon_msk_connect_write"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:CreateTopic",
                "kafka-cluster:WriteData",
                "kafka-cluster:ReadData",
                "kafka-cluster:DescribeTopic"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:topic/testCluster/300f0000-0000-0008-000d-00000000000m-7/__amazon_msk_connect_*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:AlterGroup",
                "kafka-cluster:DescribeGroup"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:group/testCluster/300d0000-0000-0005-000f-00000000000b-1/__amazon_msk_connect_*",
                "arn:aws:kafka:us-east-1:123456789012:group/testCluster/300d0000-0000-0005-000f-00000000000b-1/connect-*"
            ]
        }
    ]
}
```

------

根据连接器的类型，您可能还需要为服务执行角色附加允许其访问 AWS 资源的权限策略。例如，如果您的连接器需要向 S3 存储桶发送数据，则服务执行角色必须具有授予写入该存储桶之权限的权限策略。出于测试目的，您可以使用其中一个预构建 IAM policy 来授予完全访问权限，例如 `arn:aws:iam::aws:policy/AmazonS3FullAccess`。但是，出于安全考虑，我们建议您使用最严格的策略，允许您的连接器从 AWS 源读取数据或写入 AWS 接收器。