本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解服务执行角色
在使用 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 policy 来授予完全访问权限,例如 arn:aws:iam::aws:policy/AmazonS3FullAccess
。但是,出于安全考虑,我们建议您使用最严格的策略,允许您的连接器从 AWS 源读取数据或写入 AWS 接收器。