本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解服務執行角色
當您使用 MSK Connect 建立連接器時,您必須指定要與其搭配使用的 AWS Identity and Access Management (IAM) 角色。您的服務執行角色必須具有以下信任政策,MSK Connect 才能擔任該角色。如需有關此政策中條件內容鍵的詳細資訊,請參閱 防止跨服務混淆代理人問題。
- 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 的資訊,請參閱 授權政策資源。
- 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 接收器。