雲Message QueueTT 版許可權管理是通過阿里雲的存取控制RAM(Resource Access Management)實現的。使用RAM可以讓您避免與其他使用者共用雲帳號密鑰,即AccessKey(包含AccessKey ID和AccessKey Secret),按需為使用者指派最小許可權。本文介紹雲Message QueueTT 版在RAM中的權限原則。
策略類別
在RAM中,權限原則是用文法結構描述的一組許可權的集合,可以精確地描述被授權的Resource(資源集)、Action(操作集)以及授權條件。雲Message QueueTT 版有以下兩類RAM的權限原則:
系統策略
雲Message QueueTT 版目前提供四種系統預設的權限原則。
雲Message QueueTT 版目前不支援獨立的系統權限原則。您在為RAM使用者授予以下系統權限原則時,除了對雲Message QueueTT 版生效外,還會對雲訊息佇列 RocketMQ 版生效。
權限原則名稱 | 說明 |
AliyunMQFullAccess | 管理雲Message QueueTT 版的許可權,等同於阿里雲帳號的許可權,被授予該許可權的RAM使用者具有所有訊息收發許可權且有控制台所有功能操作許可權。 說明 此許可權暫不支援通過控制台查看MQTT執行個體列表,如需查看,需授予mq:MqttInstanceAccess許可權以查詢指定執行個體的基本資料。更多資訊,請參見控制台執行個體操作許可權。 |
AliyunMQPubOnlyAccess | 雲Message QueueTT 版的發布許可權,被授予該許可權的RAM使用者具有使用阿里雲帳號所有資源通過SDK發送訊息的許可權。 |
AliyunMQSubOnlyAccess | 雲Message QueueTT 版的訂閱許可權,被授予該許可權的RAM使用者具有使用阿里雲帳號所有資源通過SDK訂閱訊息的許可權。 |
AliyunMQReadOnlyAccess | 雲Message QueueTT 版的唯讀許可權,被授予該許可權的RAM使用者僅有通過存取控制台或調用管控API讀取資源資訊的許可權。 說明 此許可權暫不支援通過控制台查看MQTT執行個體列表,如需查看,需授予mq:MqttInstanceAccess許可權以查詢指定執行個體的基本資料。更多資訊,請參見控制台執行個體操作許可權。 |
自訂策略
自訂權限原則(Policy)可以滿足您更細粒度的授權需求。
雲Message QueueTT 版的Resource與Action的對應規則如下所述。
在雲Message QueueTT 版中,執行個體、Topic、Group和規則各為一種Resource,對這些Resource授與權限即為Action。
雲Message QueueTT 版的Resource和Action的可選值和對應規則可分為控制台、OpenAPI和雲Message QueueTT 版用戶端三大類。針對控制台資源的相關操作,按資源類型又可分為執行個體、Topic、Group和規則四類。
如需訪問雲Message QueueTT 版的資源以及OpenAPI,則需有訪問雲Message QueueTT 版執行個體的許可權,對應的Action為mq:MqttInstanceAccess。
自訂策略的樣本請參見權限原則樣本。
MQTT用戶端收發訊息許可權
訊息收發許可權涉及Topic和Group ID的Resource命名格式:
Topic:acs:mq:*:*:topic/{mqttInstanceId}/{topic}
Group ID:acs:mq:*:*:groupId/{mqttInstanceId}/{gid}
Action名稱 | Action描述 | 備忘 |
mq:PUB | 訊息發布 | 授予某RAM使用者Topic和Group的相關許可權前,需授予該使用者Topic和Group所在執行個體的mq:MqttInstanceAccess許可權。 |
mq:SUB | 訊息訂閱 |
MQTT用戶端收發訊息許可權不支援跨雲帳號授權。
控制台執行個體操作許可權
雲Message QueueTT 版執行個體的Resource命名格式:acs:mq:*:*:instance/{mqttInstanceId}。
Action名稱 | Action說明 | 備忘 |
mq:MqttInstanceAccess | 查詢指定執行個體的基本資料 | 授予某RAM使用者Topic和Group的相關許可權前,需授予該使用者Topic和Group所在執行個體的mq:MqttInstanceAccess許可權。 |
mq:DeleteMqttInstance | 刪除執行個體 | 無 |
mq:UpdateMqttInstance | 變更執行個體的資訊 | 無 |
mq:ListMqttInstance | 擷取執行個體列表 | 無 |
mq:UpdateMqttInstanceWarn | 更新指定執行個體的警示資訊 | 無 |
mq:MqttMetaData | 訪問MQTT控制台概覽頁面以及首頁 | 授予某RAM使用者訪問MQTT控制台概覽頁面和首頁許可權後,還需要授予擷取執行個體列表的許可權,才能看到執行個體列表。 |
控制台Topic操作許可權
Topic的Resource命名格式:acs:mq:*:*:topic/{mqttInstanceId}/{topic}。
Action名稱 | Action說明 | 備忘 |
mq:QueryMqttClientByTopic | 根據Topic查詢訂閱的用戶端資訊 | 授予某RAM使用者Topic和Group的相關許可權前,需授予該使用者Topic和Group所在執行個體的mq:MqttInstanceAccess許可權。 |
mq:QueryMqttMsgTransTrend | 根據Topic查詢訊息的收發報表 | |
mq:SendMqttMessageByConsole | 控制台發訊息測試 | |
mq:CreateMqttTopic | 建立Topic | |
mq:DeleteMqttTopic | 刪除Topic | |
mq:ListMqttTopic | 查詢Topic | |
mq:UpdateMqttTopic | 更新Topic備忘資訊 |
控制台Group ID操作許可權
Group ID的Resource命名格式:acs:mq:*:*:groupId/{mqttInstanceId}/{gid}。
Action名稱 | Action說明 | 備忘 |
mq:CreateMqttGroupId | 建立Group ID | 授予某RAM使用者Topic和Group的相關許可權前,需授予該使用者Topic和Group所在執行個體的mq:MqttInstanceAccess許可權。 |
mq:ListMqttGroupId | 擷取Group ID列表 | |
mq:QueryMqttClientByClientId | 根據Client ID查詢裝置資訊 | |
mq:QueryMqttClientByGroupId | 根據Group ID查詢裝置資訊 | |
mq:QueryMqttHistoryOnline | 根據Group ID查詢歷史線上裝置資訊 | |
mq:DeleteMqttGroupId | 刪除Group ID | |
mq:QueryMqttTraceDevice | 查詢裝置軌跡 | |
mq:QueryMqttDeviceTrace | 查詢裝置的相關訊息 |
控制台規則操作許可權
規則的Resource命名格式:acs:mq:*:*:rule/{mqttInstanceId}/{ruleId}。
授予規則許可權時需確保涉及的執行個體、Topic和Group ID資源屬於同一雲帳號。
Action名稱 | Action說明 | 備忘 |
mq:CreateMqttInboundRule | 建立資料流入規則 | 授予某RAM使用者規則的相關許可權前,需授予該使用者規則所在執行個體的mq:MqttInstanceAccess許可權。 |
mq:DeleteMqttInboundRule | 刪除資料流入規則 | |
mq:ListMqttInboundRule | 查詢資料流入規則 | |
mq:UpdateMqttInboundRule | 更新資料流入規則 | |
mq:CreateMqttOutboundRule | 建立資料流出規則 | |
mq:DeleteMqttOutboundRule | 刪除資料流出規則 | |
mq:ListMqttOutboundRule | 查詢資料流出規則 | |
mq:UpdateMqttOutboundRule | 更新資料流出規則 | |
mq:CreateClientStatusNotifyRule | 建立用戶端狀態通知規則 | |
mq:DeleteClientStatusNotifyRule | 刪除用戶端狀態通知規則 | |
mq:ListClientStatusNotifyRule | 查詢用戶端狀態通知規則 | |
mq:UpdateClientStatusNotifyRule | 更新用戶端狀態通知規則 |
OpenAPI許可權
授予規則的OpenAPI許可權需保證涉及的執行個體、Topic和Group ID資源屬於同一阿里雲帳號。
API | Resource命名格式 | Resource命名樣本 | Action描述 |
acs:mq:*:*:* | acs:mq:*:*:* |
| |
acs:mq:*:*:* | acs:mq:*:*:* |
| |
|
|
| |
| |||
|
|
| |
| |||
| |||
|
|
| |
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
執行個體:acs:mq:*:*:instance/{mqttInstanceId} | 執行個體:acs:mq:*:*:instance/post-cn-09k1noy**** |
| |
| |||
執行個體:acs:mq:*:*:instance/{mqttInstanceId} | 執行個體:acs:mq:*:*:instance/post-cn-09k1noy**** |
| |
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
CreateTopic |
|
|
|
ListTopics |
| ||
DeleteTopic |
| ||
UpdateTopic |
| ||
UpdateMqttOutboundRule |
|
|
|
CreateMqttInboundRule |
| ||
DeleteMqttOutboundRule |
| ||
UpdateClientStatusNotifyRule |
| ||
ListClientStatusNotifyRuleInPages |
| ||
ListMqttInboundRuleInPages |
| ||
DeleteClientStatusNotifyRule |
| ||
CreateClientStatusNotifyRule |
| ||
CreateMqttOutboundRule |
| ||
UpdateMqttInboundRule |
| ||
DeleteMqttInboundRule |
| ||
ListMqttOutboundRuleInPages |
|
API的更多資訊,請參見雲端API概覽。