MSE Nacos配置中心能夠按照實例、命名空間、Group、DataId設置訪問權限,降低某個實例被惡意用戶非法獲取、修改的風險。本文介紹如何在MSE上為Nacos配置中心配置細粒度鑒權。
前提條件
使用說明
本文檔內容涉及圖中引擎直連鏈路的訪問權限的開啟和配置,授權成功后,Nacos Client可以通過RAM用戶訪問MSE的Nacos。
關于引擎管控鏈路的訪問鑒權配置和使用,即為RAM用戶授予使用MSE控制臺權限的具體操作,請參見注冊配置中心授權。
步驟一:創建細粒度權限策略
使用RAM管理員登錄RAM控制臺。
在左側導航欄,選擇 。
在權限策略頁面,單擊創建權限策略。
在創建權限策略頁面,單擊腳本編輯頁簽。
輸入權限策略內容。
配置中心細粒度鑒權所涉及的權限操作(Action)如下表:
權限操作名稱(Action)
說明
mse:QueryNacosConfig
微服務引擎MSE Nacos的讀取配置權限,表示可以通過SDK獲取和監聽配置。
mse:UpdateNacosConfig
微服務引擎MSE Nacos的更新配置權限,表示可以通過SDK發布和修改配置。
配置中心細粒度鑒權所涉及的操作對象(Resource)需滿足以下規則:
acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/config/${dataId}
您也可以參考下文的常用示例,修改策略內容。
關于權限策略語法結構的詳情,請參見權限策略語法和結構。
單擊頁面上方的可選:高級策略優化,然后單擊執行,對權限策略內容進行高級優化。
高級權限策略優化功能會完成以下任務:
拆分不兼容操作的資源或條件。
收縮資源到更小范圍。
去重或合并語句。
在創建權限策略頁面,單擊確定。
在創建權限策略對話框,輸入權限策略名稱和備注,然后單擊確定。
步驟二:授予RAM用戶或RAM角色權限
授予RAM用戶權限
授予RAM角色權限
常用示例
授予用戶某些實例的只讀配置權限。
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosConfig" ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] }
授予用戶某些實例讀取和修改配置的權限。
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosConfig", "mse:UpdateNacosConfig" ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] }
說明${instanceId1}和${instanceId2}代表的是配置中心實例ID。
授予用戶只能讀取某個實例中某個命名空間配置的權限。
{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosConfig", "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}" } ], "Version": "1" }
授予用戶能讀取和修改某個實例中某個命名空間下的${group}配置的權限。
{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosConfig", "mse:UpdateNacosConfig" ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}" } ], "Version": "1" }
授予用戶只能讀取某個${group}下的${dataId}配置的權限。
{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosConfig", "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/config/${dataId}" } ], "Version": "1" }
授予用戶能讀取和修改某個${group}下的${serviceName}配置的權限。
{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosConfig", "mse:UpdateNacosConfig" ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/config/${dataId}" } ], "Version": "1" }
相關文檔
如果您需要了解配置中心的實例級別鑒權,可參見Nacos Client訪問鑒權。