You need to enable JavaScript to run this app.
导航
创建 ACL
最近更新时间:2024.05.21 16:05:03首次发布时间:2021.08.30 16:20:22

消息队列 Kafka版兼容开源 Kafka 的 ACL 权限策略,可以为全部或目标 SASL 用户设置 Topic 或 Group 的自定义权限,实现资源和用户的权限隔离、细粒度的权限控制。

背景信息

在 Kafka 实例的 SASL 用户管理功能中,可以创建 PLAIN 和 SCRAM 两种类型用户并授予 All Permitted 权限,即对实例内所有 Topic 和 Group 均具备读写权限,以用于在 PLAIN 和 SCRAM-SHA-256 机制下生产和消费消息。
如果需要资源和用户的权限隔离、更细致的权限控制,那么可以通过 ACL 管理功能创建一条 ACL,指定全部或目标 SASL 用户对指定资源的权限策略,包括 Topic 和 Group 的读写权限,以及 Topic 的增删改查权限。

说明

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

前提条件

  • Kafka 实例状态为运行中
  • 已创建 SASL 用户和 Topic、Group 等资源。

操作步骤

  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 地址之间英文逗号(,)分隔。支持设置为星号(*),表示所有地址均可访问。

    权限类型

    支持配置的权限类型。

    • 当资源类型为 Topic 时,支持如下访问权限:
      • 读:Read,即读取 Topic 数据的权限。
      • 写:Write,即向 Topic 写入数据的权限。
      • 创建:Create,即创建 Topic 的权限。
      • 变更:Alter,即支持变配 Topic 分区数的权限。
      • 删除:Delete,即删除 Topic 的权限。
      • 查看:Describe,即查看 Topic 详情的权限。

      说明

      • 选择创建权限时,其作用范围不受 Topic 的资源限制。同时选择其他权限时,其作用范围受 Topic 的资源限制。
      • 具备读、写、变更、删除权限时,则自动拥有查看权限。
    • 当资源类型为 Group 时,仅支持,即访问 Group 的权限。
  6. 单击确定

相关操作

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

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

    说明

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

  • 删除 ACL