

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

**注意**  
Amazon MSK Connect 不支援使用[服務連結角色](mkc-using-service-linked-roles.md)作為服務執行角色。您必須建立個別的服務執行角色。如需如何建立自訂 IAM 角色的指示，請參閱《*IAM 使用者指南*》中的[建立角色以將許可委派給 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 政策 (例如 `arn:aws:iam::aws:policy/AmazonS3FullAccess`) 來提供完整存取權。不過，為了安全起見，我們建議您使用最嚴格的政策，讓您的連接器能夠從 AWS 來源讀取或寫入 AWS 接收器。