全部產品
Search
文件中心

ApsaraMQ for Kafka:使用ACL功能進行存取控制

更新時間:Sep 11, 2025

當需要對不同的使用者或使用者組授予不同層級的存取權限時,您可以使用雲訊息佇列 Kafka 版專業版或Serverless執行個體的存取控制清單(ACL)功能,為SASL使用者賦予對Topic、Group等資源的操作許可權,實現細粒度的許可權管理。

背景資訊

企業A購買了雲訊息佇列 Kafka 版,企業A希望使用者A只能從雲訊息佇列 Kafka 版的所有Topic中消費訊息,而不能向雲訊息佇列 Kafka 版的任何Topic生產訊息。

注意事項

  • Kafka為公網/VPC類型執行個體提供預設SASL使用者,預設SASL使用者僅提供身份校正,支援所有Topic和Group的讀寫權限。如果需要更細緻的許可權控制,您需開啟ACL,建立自訂SASL使用者,按需賦予SASL使用者向雲訊息佇列 Kafka 版收發訊息的許可權。開啟ACL之後,預設的SASL使用者權限將失效。

  • 開啟ACL後,不支援通過發送訊息的方式自動建立Topic。

前提條件

您的雲訊息佇列 Kafka 版執行個體必須滿足以下條件:

  • 執行個體規格類型為專業版或Serverless版

  • 執行個體運行狀態為服务中

  • 大版本為2.2.0版本及以上。如何升級執行個體大版本,請參見升級版本

  • 小版本為最新版。如何升級執行個體小版本,請參見升級執行個體版本

步驟一:開啟ACL

升級執行個體的小版本後,在雲訊息佇列 Kafka 版控制台為執行個體開啟ACL。

  1. 登入雲訊息佇列 Kafka 版控制台

  2. 概览頁面的资源分布地區,選擇地區。

  3. 实例列表頁面,單擊目標執行個體名稱。

  4. 实例详情頁面,單擊概览地區右上方的开启 ACL

  5. 提示對話方塊,單擊確認,然後手動重新整理頁面。

    手動重新整理頁面後,实例详情頁面的基础信息地區,運行状态顯示升级中。待執行個體的状态顯示服务中說明開啟ACL任務完成。

    重要

    升級完成後,執行個體才會開啟ACL。您才可以建立SASL使用者並為其授權,通過SASL存取點接入。升級預計需要15分鐘~20分鐘。

步驟二:建立SASL使用者

執行個體開啟ACL後,為使用者A建立SASL使用者。

  1. 登入雲訊息佇列 Kafka 版控制台

  2. 概览頁面的资源分布地區,選擇地區。

  3. 实例列表頁面,選擇已經開啟ACL的執行個體。

  4. 实例详情頁面,單擊SASL 用户管理頁簽。Serverless執行個體請在左側導覽列選擇許可權管理 > SASL使用者管理

  5. SASL 用户管理頁面中,單擊创建 SASL 用户

  6. 创建 SASL 用户面板,設定SASL使用者,然後單擊確定

    參數

    描述

    用户名

    SASL使用者的名稱。

    用户类型

    雲訊息佇列 Kafka 版支援的SASL機制如下:

    • PLAIN: 一種簡單的使用者名稱密碼校正機制。雲訊息佇列 Kafka 版最佳化了PLAIN機制,支援不重啟執行個體的情況下動態增加SASL使用者。

    • SCRAM:一種使用者名稱密碼校正機制,安全性比PLAIN更高。雲訊息佇列 Kafka 版非Serverless例使用SCRAM-SHA-256。Serverless執行個體支援SCRAM-SHA-512,並且是SCRAM的預設配置。

    密码

    SASL使用者的密碼。

    确认密码

    確認SASL使用者的密碼。

    建立完成後,SASL 用户管理頁簽下方顯示您建立的SASL使用者。

    • 如果您需要更改SASL使用者的密碼,單擊其操作列的修改密码。在修改SASL使用者密碼面板,設定新密码确认新密码。單擊確定

    • 如果您需要刪除SASL使用者,單擊其操作列的删除

步驟三:授予SASL使用者權限

為使用者A建立SASL使用者後,為該SASL使用者授予從Topic和Consumer Group讀取訊息的許可權。

  1. 实例详情頁面,單擊SASL 权限管理頁簽。

  2. SASL 权限管理頁簽,單擊添加权限

  3. 添加权限面板,配置如下參數,然後單擊确定

    參數

    描述

    用户名

    SASL使用者的名稱。雲訊息佇列 Kafka 版支援萬用字元星號(*)表示所有使用者名稱。

    资源类型

    雲訊息佇列 Kafka 版支援授權的資源類型如下:

    • Topic:訊息主題。

    • Group:消費組。

    • Cluster:執行個體。

    • TransactionalId:事務ID。

    匹配方式

    雲訊息佇列 Kafka 版支援的匹配模式如下:

    • 完全匹配:只會匹配名稱完全相同的資源。

    • 前缀匹配:匹配以輸入的內容作為首碼的任意資源名稱。

    资源名

    Topic、Group或Cluster的名稱,或者是事務的ID。雲訊息佇列 Kafka 版支援萬用字元星號(*)表示所有資源名。

    操作类型

    雲訊息佇列 Kafka 版支援的操作類型如下:

    • 写入

    • 读取

    • 幂等写

    重要
    • 資源類型Group僅支援操作類型读取

    • 資源類型Cluster僅支援操作類型幂等写

    Serverless執行個體參數配置

    參數

    描述

    用户名

    SASL使用者的名稱。雲訊息佇列 Kafka 版支援萬用字元星號(*)表示所有使用者名稱。

    资源类型

    雲訊息佇列 Kafka 版支援授權的資源類型如下:

    • Topic:訊息主題。

    • Group:消費組。

    • Cluster:執行個體。

    • TransactionalId:事務ID。

    匹配方式

    雲訊息佇列 Kafka 版支援的匹配模式如下:

    • 完全匹配:只會匹配名稱完全相同的資源。

    • 前缀匹配:匹配以輸入的內容作為首碼的任意資源名稱。

    资源名

    Topic、Group或Cluster的名稱,或者是事務的ID。雲訊息佇列 Kafka 版支援萬用字元星號(*)表示所有資源名。

    來源IP

    限制IP可以允許訪問或者攔截。

    授權方式

    • ALLOW:允許訪問。

    • DENY:拒絕訪問。

    操作类型

    雲訊息佇列 Kafka 版支援的操作類型如下:

    • WRITE:寫入

    • READ:讀取

    • CREATE:建立

    • DELETE:刪除

    • DESCRIBE:查看metadata資訊和位點資訊。

    • DESCRIBE_CONFIGS:查看配置資訊。

    • IDEMPOTENT_WRITE:等冪寫入。

    重要
    • 3.0以上的用戶端預設開啟等冪寫入,需要設定enable.idempotence=true添加IDEMPOTENT_WRITE許可權才能正常發送。

    • 當授權WRITEREADDELETEALTER任何一個許可權時,預設具有DESCRIBE許可權。

    • 資源類型Cluster僅支援操作類型IDEMPOTENT_WRITE

    配置完成之後,在SASL 权限管理頁簽,可設定资源类型匹配方式资源名用户名,單擊查询,查看已建立的使用者權限。

相關操作

  • 完成授權後,使用者A可以通過SASL存取點接入雲訊息佇列 Kafka 版並使用PLAIN機制消費訊息。如何使用SDK接入,請參見SDK概述

  • 如果您希望通過API方式為SASL使用者授權,請參見建立SASL使用者建立ACL

  • SASL存取點的更多資訊,請參見存取點對比