View a markdown version of this page

IAM 访问控制 - Amazon Managed Streaming for Apache Kafka

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

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.found Apache Kafka 设置无效。

  • 您可以为使用 IAM 访问控制的 MSK 集群调用 Apache Kafka ACL API。但是,Apache Kafka ACL 对 IAM 身份的授权没有影响。您必须将 IAM 策略用于 IAM 身份的访问控制。