You need to enable JavaScript to run this app.
导航

创建 ACL

最近更新时间2024.03.06 15:43:51

首次发布时间2021.08.30 16:20:22

消息队列 Kafka版兼容开源Kafka的 ACL 权限策略,可以为 SASL 用户设置 All Permitted 权限,或指定 SASL 用户对于某些 Topic 或 Group 的自定义权限,实现资源和用户的权限隔离。

背景信息

在 Apache Kafka 中,ACL(Access Control List)表示指定主机(Host)的指定用户(User)对指定资源(Resource)的指定操作(Operation)是否符合指定的资源模式(ResourcePattern)。消息队列 Kafka版通过 ACL 为 SASL 用户提供灵活的权限策略,支持 Topic 和 Group 粒度的权限管控。Kafka 实例的 ACL 默认为开启状态且不可关闭,创建实例时同步创建的 Plain 用户仅提供 SASL 用户侧的身份认证,该用户具备 All Permitted 权限,即对实例内所有 Topic 和 Group 均具备读写权限。如果您需要更细粒度的权限策略,可以创建一个 SASL 用户,并通过 ACL 管理功能创建一条 ACL,指定此 SASL 用户对指定资源的权限策略。

说明

  • 消息队列 Kafka版的 ACL 的权限类型(PermissionType)为允许(Allow),即允许指定 SASL 用户通过指定 IP 地址访问指定资源。
  • ACL 仅对关闭了 All Permitted 权限的 SASL 用户生效。
  • 不支持修改已创建的 ACL,若有需要,建议删除后重新创建 ACL。

前提条件

  • Kafka 实例状态为运行中
  • 已创建 SASL 用户和 Topic、Group。
  • 待添加权限的 SASL 用户已关闭了 All Permitted 权限。设置方式请参考创建 SASL 用户

操作步骤

  1. 登录消息队列 Kafka版控制台

  2. 在顶部菜单栏中选择地域,并在左侧导航栏中单击实例列表

  3. 找到目标实例,单击实例名称。

  4. ACL管理页签左上角单击新增ACL

  5. 设置 ACL 权限策略。
    详细配置说明如下。

    配置

    说明

    用户

    待添加权限的 SASL 用户。支持设置为指定用户或全部用户。

    资源类型

    消息队列 Kafka版支持的 ACL 资源类型包括:

    • Topic:消息主题。
    • Group:消费组。

    资源名称匹配方式

    资源的匹配方式,支持设置为:

    • 完全匹配:ACL 策略仅匹配名称完全一致的资源。此时需要设置资源名称。
    • 前缀匹配:ACL 策略匹配指定前缀的资源。此时需要设置资源名称前缀。

    资源名称

    ACL 策略匹配的资源名称,表示指定用户对哪些名称的资源具备权限。支持设置为全部Topic/Group,或指定 Topic/Group。
    仅在资源名称匹配方式完全匹配时设置。

    资源名称前缀

    ACL 策略匹配的资源名称前缀,表示指定用户对哪些名称前缀的资源具备权限。
    仅在资源名称匹配方式前缀匹配时设置。

    IP

    SASL 用户使用的 IP 地址或网段,用户仅通过指定 IP 或网段访问指定资源时才具备指定权限。
    不同 IP 地址之间英文逗号(,)分隔。支持设置为星号(*),表示所有地址均可访问。

    权限类型

    SASL 用户具备的权限类型,支持设置为:

    • 读:Read,即从 Topic 消费消息或加入消费组、离开消费组、重置消费位点等。
    • 写:Write,即向 Topic 写入消息。

    说明

    Group 资源类型仅支持权限,不支持权限。

  6. 单击确定

相关操作

创建 ACL 后,您还可以进行以下相关操作:

  • 查看 ACL 列表
    在目标实例的ACL管理页签中查看 ACL 列表。支持通过用户名称、资源名称/前缀或 IP 地址进行筛选。

    说明

    创建 Topic 时,如果设置了自定义权限,消息队列 Kafka版会同步创建对应的 ACL,并将其显示在 ACL 列表中。

  • 删除 ACL