本文介紹控制台自訂權限原則及用戶端自訂權限原則的常見使用情境及樣本。
控制台自訂權限原則樣本
基礎樣本
樣本一:授予RAM使用者存取控制台首頁時不報錯,正常進行訪問的許可權
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "mns:ListQueue",
"Resource": "*"
}
]
}樣本二:授予RAM使用者僅能通過HTTPS方式訪問服務的許可權
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "mns:*",
"Resource": "*",
"Condition": {
"Bool": {
"acs:SecureTransport": [
"false"
]
}
}
}
]
}隊列管理
樣本三:授予RAM使用者存取控制台並對所有Queue可讀的許可權
授予RAM使用者通過管控SDK讀取主帳號下所有Queue的屬性資訊的許可權
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:ListQueue" ], "Resource": "*" } ] }授予RAM使用者存取控制台隊列列表功能表列的許可權
說明管控頁面請求涉及多個介面請求,其中包括
mns:ListTagResourcesAction。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:ListTagResources", "mns:ListQueue" ], "Resource": "*" } ] }
樣本四:授予RAM使用者有且僅能管理某個Queue的許可權
授予RAM使用者通過管控SDK僅對指定Queue讀寫的許可權。本樣本以隊列名稱
MySampleQueue為例。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:CreateQueue", "mns:DeleteQueue", "mns:GetQueueAttributes", "mns:SetQueueAttributes" ], "Resource": "acs:mns:*:*:/queues/MySampleQueue" } ] }授予RAM使用者在控制台訪問指定Queue詳情的許可權
說明指定的隊列詳情地址為:
https://${MNS管控地址}/region/${regionId}/queue/${queueName}/detail。管控頁面請求涉及多個介面請求,其中包括
mns:ListQueueAction。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:CreateQueue", "mns:DeleteQueue", "mns:GetQueueAttributes", "mns:SetQueueAttributes" ], "Resource": "acs:mns:*:*:/queues/MySampleQueue" }, { "Effect": "Allow", "Action": "mns:ListQueue", "Resource": "*" } ] }
主旨管理員
樣本五:授予RAM使用者存取控制台並對所有Topic可讀的許可權
授予RAM使用者通過管控SDK讀取主帳號下所有Topic的屬性資訊的許可權
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:ListTopic" ], "Resource": "*" } ] }授予RAM使用者存取控制台主題列表功能表列的許可權
說明管控頁面請求涉及多個介面請求,其中包括
mns:ListTagResourcesAction。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:ListTagResources", "mns:ListTopic" ], "Resource": "*" } ] }
樣本六:授予RAM使用者有且僅能管理某個Topic的許可權
授予RAM使用者通過管控SDK僅對指定Topic讀寫的許可權。本樣本以主題名稱
MySampleTopic為例。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:CreateTopic", "mns:DeleteTopic", "mns:GetTopicAttributes", "mns:SetTopicAttributes" ], "Resource": "acs:mns:*:*:/topics/MySampleTopic" } ] }授予RAM使用者在控制台訪問指定Topic詳情的許可權
說明指定的隊列詳情地址為:
https://${MNS管控地址}/region/${regionId}/topic/${topicName}/detail。管控頁面請求涉及多個介面請求,其中包括
mns:ListSubscriptionByTopicAction。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:CreateTopic", "mns:DeleteTopic", "mns:GetTopicAttributes", "mns:SetTopicAttributes" ], "Resource": "acs:mns:*:*:/topics/MySampleTopic" }, { "Effect": "Allow", "Action": [ "mns:ListQueue", "mns:ListSubscriptionByTopic" ], "Resource": "*" } ] }
用戶端自訂權限原則樣本
隊列訊息收發
樣本一:授予RAM使用者僅能對指定Queue進行訊息收發的許可權
授予RAM使用者通過用戶端SDK對指定Queue進行訊息收發的許可權,本樣本以隊列名稱
MySampleQueue為例。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:SendMessage", "mns:ReceiveMessage", "mns:DeleteMessage", "mns:PeekMessage", "mns:ChangeMessageVisibility" ], "Resource": "acs:mns:*:*:/queues/MySampleQueue/messages" } ] }授予RAM使用者在控制台進行隊列訊息收發體驗的許可權
說明地址為:
https://${MNS管控地址}/region/${regionId}/queue/${queueName}/publish。管控頁面請求涉及多個介面請求,其中包括
mns:ListQueueAction。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:SendMessage", "mns:ReceiveMessage", "mns:DeleteMessage", "mns:PeekMessage", "mns:ChangeMessageVisibility" ], "Resource": "acs:mns:*:*:/queues/MySampleQueue/messages" }, { "Effect": "Allow", "Action": "mns:ListQueue", "Resource": "*" } ] }
主題訊息收發
樣本二:授予RAM使用者僅能對指定Topic進行訊息發送的許可權
授予RAM使用者通過用戶端SDK對指定Topic進行訊息發送的許可權,本樣本以主題名稱
MySampleTopic為例。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:PublishMessage" ], "Resource": "acs:mns:*:*:/topics/MySampleTopic/messages" } ] }授予RAM使用者在控制台進行主題訊息收發體驗的許可權
說明地址為:
https://${MNS管控地址}/region/${regionId}/topic/${topicName}/publish。管控頁面請求涉及多個介面請求,其中包括
mns:ListQueueAction。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:PublishMessage" ], "Resource": "acs:mns:*:*:/topics/MySampleTopic/messages" }, { "Effect": "Allow", "Action": "mns:ListQueue", "Resource": "*" } ] }