多 VPC 私有连接的权限 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

多 VPC 私有连接的权限

本节总结了使用多 VPC 私有连接功能的客户端和集群所需的权限。多 VPC 私有连接要求客户端管理员在将与 MSK 集群建立托管式 VPC 连接的每个客户端上创建权限。它还要求 MSK 集群管理员在 MSK 集群上启用 PrivateLink 连接,并选择身份验证方案来控制对集群的访问。

集群身份验证类型和主题访问权限

为针对您的 MSK 集群启用的身份验证方案开启多 VPC 私有连接功能。请参阅 多 VPC 私有连接的要求和限制。如果您将 MSK 集群配置为使用 SASL/SCRAM 身份验证方案,则必须提供 Apache Kafka ACL 属性 allow.everyone.if.no.acl.found=false。为集群设置 Apache Kafka ACL 后,请更新集群的配置,将该集群的属性 allow.everyone.if.no.acl.found 设置为 false。有关如何更新集群配置的信息,请参阅 Amazon MSK 配置操作

跨账户集群策略权限

如果 Kafka 客户端所在的 Amazon 账户与 MSK 集群不同,请将基于集群的策略附加到 MSK 集群,该策略授权客户端 root 用户进行跨账户连接。您可以使用 MSK 控制台中的 IAM policy 编辑器(集群安全设置 > 编辑集群策略)编辑多 VPC 集群策略,也可以使用以下 API 来管理集群策略:

PutCluster政策

将集群策略附加到集群。您可以使用此 API 来创建或更新指定的 MSK 集群策略。如果您要更新政策,则必须填写请求有效负载中的 currentVersion 字段。

GetCluster政策

检索附加到集群的集群策略文档的 JSON 文本。

DeleteCluster政策

删除集群策略。

以下是基本集群策略的 JSON 示例,类似于 MSK 控制台 IAM policy 编辑器中显示的策略。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "123456789012" ] }, "Action": [ "kafka:CreateVpcConnection", "kafka:GetBootstrapBrokers", "kafka:DescribeCluster", "kafka:DescribeClusterV2" ], "Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/testing/de8982fa-8222-4e87-8b20-9bf3cdfa1521-2" } ] }
与 MSK 集群的多 VPC 私有连接的客户端权限

要在 Kafka 客户端和 MSK 集群之间设置多 VPC 私有连接,客户端需要一个附加身份策略,以授予对客户端执行 kafka:CreateVpcConnectionec2:CreateTagsec2:CreateVPCEndpoint 操作的权限。以下是基本客户端身份策略的 JSON 示例,供您参考。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kafka:CreateVpcConnection", "ec2:CreateTags", "ec2:CreateVPCEndpoint" ], "Resource": "*" } ] }