8.3. 配置 OPA 授权支持
这个步骤描述了如何将 Kafka 代理配置为使用 OPA 授权。
开始前
考虑某些用户所需的访问权限或希望限制某些用户。您可以使用 用户和 Kafka 资源 的组合来定义 OPA 策略。
可以设置 OPA 从 LDAP 数据源加载用户信息。
注意
无论在 Kafka 代理上实现的授权是什么,超级用户始终对 Kafka 代理具有不受限制的访问。
先决条件
- 每个主机上安装了 Apache Kafka 的流,且配置文件可用。
- OPA 服务器必须可用于连接。
- Kafka 的 OPA 授权器插件。
流程
编写授权客户端请求对 Kafka 代理执行操作所需的 OPA 策略。
请参阅 定义 OPA 策略。
现在,将 Kafka 代理配置为使用 OPA。
请参阅 连接到 OPA。
确保插件文件包含在 Kafka 类路径中。
在 Kafka
server.properties
配置文件中添加以下内容以启用 OPA 插件:authorizer.class.name: com.bisnode.kafka.authorization.OpaAuthorizer
authorizer.class.name: com.bisnode.kafka.authorization.OpaAuthorizer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Kafka 代理的
server.properties
中添加其他配置来访问 OPA 策略引擎和策略。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- (必需)授权器插件将查询的策略的 OAuth 2.0 令牌端点 URL。在本例中,策略称为
allow
。 - 2
- 标志指定在授权器插件无法与 OPA 策略引擎连接时,默认是否允许或拒绝客户端访问。
- 3
- 本地缓存的初始容量(以字节为单位)。使用缓存,以便插件不必查询每个请求的 OPA 策略引擎。
- 4
- 本地缓存的最大容量(以字节为单位)。
- 5
- 本地缓存的时间(以毫秒为单位),方法是从 OPA 策略引擎重新加载。
- 6
- 被视为超级用户的用户主体列表,以便在不查询 Open Policy Agent 策略的情况下始终允许它们。
有关身份验证和授权选项的信息,请参阅 Open Policy Agent 网站。
- 通过使用具有正确授权的客户端访问 Kafka 代理来验证配置的权限。