对 Amazon MSK 使用服务相关角色 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

对 Amazon MSK 使用服务相关角色

Amazon MSK 使用 Amazon Identity and Access Management (IAM) 服务相关角色。服务相关角色是一种独特类型的 IAM 角色,它与 Amazon MSK 直接关联。服务相关角色由 Amazon MSK 预定义,包括该服务代表您调用其他 Amazon 服务所需的所有权限。

服务相关角色可让您更轻松地设置 Amazon MSK,因为您不必手动添加所需权限。Amazon MSK 可定义其服务相关角色的权限。除非另行定义,否则只有 Amazon MSK 才能代入其角色。定义的权限包括信任策略和权限策略,而且权限策略不能附加到任何其它 IAM 实体。

有关支持服务相关角色的其他服务的信息,请参阅使用 IAM 的 Amazon Web Services,并查找服务相关角色列中显示为的服务。选择,可转到查看该服务的服务相关角色文档的链接。

Amazon MSK 的服务相关角色权限

Amazon MSK 使用名为 AWSServiceRoleForKafka 的服务相关角色。Amazon MSK 使用此角色来访问您的资源并执行以下操作:

  • *NetworkInterface – 在客户账户中创建和管理网络接口,使客户 VPC 中的客户端可以访问集群代理。

  • *VpcEndpoints— 管理客户账户中的 VPC 终端节点,这些终端节点允许客户 VPC 中的客户使用集群代理 Amazon PrivateLink。Amazon MSK 对 DescribeVpcEndpointsModifyVpcEndpointDeleteVpcEndpoints 使用权限。

  • secretsmanager— 使用管理客户凭证 Amazon Secrets Manager。

  • GetCertificateAuthorityCertificate – 检索私有证书颁发机构的证书。

此服务相关角色附加到以下托管策略:KafkaServiceRolePolicy。有关本政策的更新,请参阅KafkaServiceRolePolicy

AWSServiceRoleForKafka 服务相关角色信任以下服务代入该角色:

  • kafka.amazonaws.com

角色权限策略允许 Amazon MSK 对资源完成以下操作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:CreateNetworkInterfacePermission", "ec2:AttachNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DetachNetworkInterface", "ec2:DescribeVpcEndpoints", "acm-pca:GetCertificateAuthorityCertificate", "secretsmanager:ListSecrets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:ModifyVpcEndpoint" ], "Resource": "arn:*:ec2:*:*:subnet/*" }, { "Effect": "Allow", "Action": [ "ec2:DeleteVpcEndpoints", "ec2:ModifyVpcEndpoint" ], "Resource": "arn:*:ec2:*:*:vpc-endpoint/*", "Condition": { "StringEquals": { "ec2:ResourceTag/AWSMSKManaged": "true" }, "StringLike": { "ec2:ResourceTag/ClusterArn": "*" } } }, { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:PutResourcePolicy", "secretsmanager:DeleteResourcePolicy", "secretsmanager:DescribeSecret" ], "Resource": "*", "Condition": { "ArnLike": { "secretsmanager:SecretId": "arn:*:secretsmanager:*:*:secret:AmazonMSK_*" } } } ] }

您必须配置权限,允许 IAM 实体(如用户、组或角色)创建、编辑或删除服务相关角色。有关更多信息,请参阅《IAM 用户指南》中的服务相关角色权限

为 Amazon MSK 创建服务相关角色

您无需手动创建服务相关角色。当您在 Amazon Web Services Management Console、或 Amazon API 中创建 Amazon MSK 集群时 Amazon CLI,Amazon MSK 会为您创建服务相关角色。

如果您删除该服务相关角色,然后需要再次创建,您可以使用相同流程在账户中重新创建此角色。当您创建 Amazon MSK 集群时,Amazon MSK 将再次为您创建服务相关角色。

为 Amazon MSK 编辑服务相关角色

Amazon MSK 不允许您编辑 AWSServiceRoleForKafka 服务相关角色。创建服务相关角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。有关更多信息,请参阅《IAM 用户指南》中的编辑服务相关角色

Amazon MSK 服务相关角色支持的区域

Amazon MSK 支持在该服务可用的所有区域中使用服务相关角色。有关更多信息,请参阅 Amazon 区域和端点