4.12.3. 配置 OPA 授权支持


这个步骤描述了如何将 Kafka 代理配置为使用 OPA 授权。

开始前

考虑您需要或希望限制某些用户的访问权限。您可以使用 用户和 Kafka 资源 组合来定义 OPA 策略。

可以设置 OPA 以从 LDAP 数据源加载用户信息。

注意

无论 Kafka 代理中实施的授权如何,超级用户 始终都对 Kafka 代理具有未经约束的访问权限。

先决条件

流程

  1. 编写授权客户端请求对 Kafka 代理执行操作所需的 OPA 策略。

    请参阅 定义 OPA 策略

    现在,将 Kafka 代理配置为使用 OPA。

  2. 为 Kafka 安装 OPA 授权器插件

    请参阅 连接到 OPA

    确保 plugin 文件包含在 Kafka 类路径中。

  3. 在 Kafka server.properties 配置文件中添加以下内容以启用 OPA 插件:

    authorizer.class.name: com.bisnode.kafka.authorization.OpaAuthorizer
  4. 为 Kafka 代理 server.properties 添加更多配置,以访问 OPA 策略引擎和策略。

    例如:

    opa.authorizer.url=https://OPA-ADDRESS/allow 1
    opa.authorizer.allow.on.error=false 2
    opa.authorizer.cache.initial.capacity=50000 3
    opa.authorizer.cache.maximum.size=50000 4
    opa.authorizer.cache.expire.after.seconds=600000 5
    super.users=User:alice;User:bob 6
    1
    (必需)授权者将查询的策略的 OAuth 2.0 令牌端点 URL。在本例中,策略名为 allow
    2
    如果授权者插件无法与 OPA 策略引擎连接,则指定是否允许或拒绝客户端访问。
    3
    以本地缓存字节为单位的初始容量。使用缓存,以便插件不必为每个请求查询 OPA 策略引擎。
    4
    本地缓存的最大容量(以字节为单位)。
    5
    从 OPA 策略引擎重新加载,以毫秒为单位刷新本地缓存的时间。
    6
    被视为超级用户的用户主体列表,以便始终允许用户无需查询 Open Policy Agent 策略。

    有关身份验证和授权选项的信息,请参阅 Open Policy Agent 网站

  5. 使用具有且没有正确授权的客户端访问 Kafka 代理来验证配置的权限。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.