雲訊息佇列 Kafka 版專業版和Serverless執行個體提供ACL功能,您可以在開啟此功能後按需為SASL使用者授權,通過SASL存取點接入執行個體。
功能說明
ACL(Access Control List,存取控制清單)是雲訊息佇列 Kafka 版提供的使用者權限控制機制。開啟 ACL 後,可以按需為 SASL 使用者配置對 Topic 和 Consumer Group 資源的細粒度操作許可權,防止未授權訪問,保護業務資料安全。
ACL 與網路層白名單(安全性群組)的區別
網路層白名單(安全性群組)控制哪些 IP 位址可以串連到執行個體;ACL 在此基礎上提供使用者層級的許可權控制,精確到 Topic(讀取/寫入)和 Consumer Group(讀取)的操作類型。建議將兩者結合使用:先通過安全性群組限制網路訪問來源,再通過 ACL 控制各使用者的操作許可權,構建多層訪問防護。
雲訊息佇列 Kafka 版安全體系
雲訊息佇列 Kafka 版通過以下機制保障資料安全:
RAM 許可權管理:管控控制台操作許可權,支援子帳號權限原則控制。
ACL + SASL 認證:執行個體訊息收發的使用者級許可權管控。開啟 ACL 後,用戶端需通過 SASL 存取點接入。
SSL/TLS 傳輸加密:保障資料轉送鏈路安全。
CloudMonitor與審計:監控執行個體運行狀態並記錄動作記錄,支援安全合規審計。
前提條件
操作步驟
在概览頁面的资源分布地區,選擇地區。
在实例列表頁面,單擊目標執行個體名稱。
在实例详情頁面,單擊概览地區右上方的开启 ACL。
在开启ACL风险说明對話方塊,單擊确认,然後手動重新整理頁面。
手動重新整理頁面後,实例详情頁面的基础信息地區,運行状态顯示升级中。待執行個體的状态顯示服务中說明開啟ACL任務完成。
說明升級完成後,執行個體才會開啟ACL。您可以在控制台上建立SASL使用者並為其授權,通過SASL存取點接入。升級預計持續約30分鐘(叢集越大期間會越久)。更多資訊,請參見建立SASL使用者。
您也可以在部署執行個體時選擇開啟ACL功能。
常見問題
Q:消費者串連報錯 GroupAuthorizationException 如何處理?
問題原因:Consumer Group 缺少 ACL 讀取許可權。開啟 ACL 後,所有資源訪問均需顯式授權,Consumer Group 預設無任何許可權。
解決方案:
確認執行個體已開啟 ACL 功能(僅專業版和 Serverless 執行個體支援 ACL)。
登入雲訊息佇列 Kafka 版控制台,進入執行個體詳情頁,單擊SASL 权限管理頁簽。
單擊添加权限,在彈窗中配置以下參數,然後單擊確定:
用户名:選擇消費者使用的 SASL 使用者名稱,或選擇"授權給全部使用者"。
资源类型:選擇 Group。
匹配方式:選擇完全匹配後在资源名中選擇對應的 Consumer Group 名稱;或選擇前缀匹配後在资源名前缀中輸入 Group 名稱首碼。
操作类型:選擇读取。
重新啟動消費者用戶端,驗證報錯是否消除。
標準版執行個體不支援 ACL 功能,無法通過以上方式解決。建議為 RAM 使用者授予 AliyunKafkaFullAccess 許可權後重試,或參考標準版接入配置文檔配置用戶端串連。