我正在使用 Kafka 的默认 ACL 授权器,但最近我遇到了一个自定义 ACL 授权器的主题。
我确实检查过,但找不到太多细节。我想了解:
- 默认 ACL 授权器是否足以在生产中使用?
- 我可以参考的任何示例了解自定义 ACL 授权方应该做什么?
谢谢!
我正在使用 Kafka 的默认 ACL 授权器,但最近我遇到了一个自定义 ACL 授权器的主题。
我确实检查过,但找不到太多细节。我想了解:
谢谢!
1) 是的,您可以在生产中运行默认授权器。
2) Kafka 允许管理员插入自定义 Authorizer 实现。这允许将 ACL 存储在 Zookeeper 之外的另一个系统中。
例如,大多数云提供商都有识别和访问管理 (IAM)。在这种情况下,可以重用此 IAM 服务来存储和管理 Kafka ACL,并编写一个使用来自 IAM 而不是 Zookeeper 的 ACL 的 Authorizer。
更一般地说,使用自定义授权器,您可以编写任何您想要的授权规则。由于自定义 Authorizer 可以访问 Session 的 Principal,当与自定义 PrincipalBuilder ( principal.builder.class
) 结合使用时,这允许构建非常灵活和强大的规则。