第 8 章 使用基于 OPA 策略的授权
开源策略代理(OPA)是一个开源策略引擎。您可以将 OPA 与 Apache Kafka 的 Streams 集成,以作为基于策略的授权机制,允许在 Kafka 代理上进行客户端操作。
从客户端发出请求时,OPA 将根据为 Kafka 访问定义的策略评估请求,然后允许或拒绝请求。
注意
红帽不支持 OPA 服务器。
8.1. 定义 OPA 策略 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在将 OPA 与 Apache Kafka 的 Streams 集成之前,请考虑如何定义策略以提供精细的访问控制。
您可以为 Kafka 集群、消费者组和主题定义访问控制。例如,您可以定义一个授权策略,允许从制作者客户端写入到特定代理主题的访问。
为此,策略可能会指定:
- 与制作者客户端关联的用户主体和主机地址
- 客户端允许的操作
-
策略适用的 资源类型 (
topic
)和资源名称
允许或拒绝决策将写入到策略中,并根据提供的请求和客户端识别数据提供响应。
在我们的示例中,生成者客户端必须满足策略才能写入该主题。