本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
IAM 访问控制
Amazon MSK 的 IAM 访问控制让您能够处理 MSK 集群的身份验证和授权。这样就不需要使用一种身份验证机制和另一种授权机制。例如,当客户端尝试写入您的集群时,Amazon MSK 使用 IAM 来检查该客户端是否是经过身份验证的身份,以及是否有权向您的集群生成数据。
IAM 访问控制适用于 Java 和非 Java 客户端,包括用 Python JavaScript、Go 和 .NET 编写的 Kafka 客户端。非 Java 客户端的 IAM 访问控制适用于 Kafka 版本 2.7.1 或更高版本的 MSK 集群。
为了能够进行 IAM 访问控制,Amazon MSK 对 Apache Kafka 源代码进行了少许修改。这些修改不会给您的 Apache Kafka 体验造成明显的影响。Amazon MSK 会记录访问事件,以方便您进行审计。
您可以为使用 IAM 访问控制的 MSK 集群调用 Apache Kafka ACL API。但是,Apache Kafka ACL 对 IAM 身份的授权没有影响。您必须将 IAM 策略用于 IAM 身份的访问控制。
重要注意事项
对 MSK 集群使用 IAM 访问控制时,请记住以下重要注意事项:
-
IAM 访问控制不适用于 Apache ZooKeeper 节点。有关如何控制对这些节点的访问权限的信息,请参阅 控制对 Amazon MSK ZooKeeper 集群中 Apache 节点的访问权限。
-
如果您的集群使用 IAM 访问控制,则
allow.everyone.if.no.acl.foundApache Kafka 设置无效。 -
您可以为使用 IAM 访问控制的 MSK 集群调用 Apache Kafka ACL API。但是,Apache Kafka ACL 对 IAM 身份的授权没有影响。您必须将 IAM 策略用于 IAM 身份的访问控制。