このトピックでは、Simple Message Queue(SMQ)コンソールまたはクライアント SDK を使用してカスタムポリシーを作成する一般的なシナリオと例について説明します。
SMQ コンソールでカスタムポリシーを作成する
コンソールアクセス権限を付与する
例 1:RAM ユーザーに SMQ コンソールへのアクセスを許可する
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "mns:ListQueue",
"Resource": "*"
}
]
}例 2:RAM ユーザーに HTTPS 経由で SMQ コンソールへのアクセスを許可する
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "mns:*",
"Resource": "*",
"Condition": {
"Bool": {
"acs:SecureTransport": [
"false"
]
}
}
}
]
}キュー管理権限を付与する
例 3:RAM ユーザーに SMQ コンソールへのアクセスとすべてのキューからのメッセージの読み取りを許可する
SMQ の管理 SDK を使用して、Alibaba Cloud アカウント内のすべてのキューの属性を読み取る権限を RAM ユーザーに付与します。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:ListQueue" ], "Resource": "*" } ] }SMQ コンソールの [キュー] メニュー項目にアクセスする権限を RAM ユーザーに付与します。
説明キュー管理には、
mns:ListTagResourcesを含む複数のアクションが関係します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:ListTagResources", "mns:ListQueue" ], "Resource": "*" } ] }
例 4:RAM ユーザーに特定のキューのメッセージのみを管理する権限を付与する
SMQ の管理 SDK を使用して、特定のキューとの間でのみメッセージの読み取りまたは書き込みを行う権限を RAM ユーザーに付与します。この例では、キュー名
MySampleQueueを使用します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:CreateQueue", "mns:DeleteQueue", "mns:GetQueueAttributes", "mns:SetQueueAttributes" ], "Resource": "acs:mns:*:*:/queues/MySampleQueue" } ] }SMQ コンソールで特定のキューの詳細を照会する権限を RAM ユーザーに付与します。
説明指定されたキューの詳細にアクセスするための URL は、
https://${SMQ 管理アドレス}/region/${regionId}/queue/${queueName}/detailの形式です。キュー管理には、
mns:ListQueueを含む複数のアクションが関係します。
{ "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": "*" } ] }
トピック管理権限を付与する
例 5:RAM ユーザーに SMQ コンソールへのアクセスとすべてのトピックのメッセージの読み取りを許可する
SMQ の管理 SDK を使用して、Alibaba Cloud アカウント内のすべてのトピックの属性を読み取る権限を RAM ユーザーに付与します。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:ListTopic" ], "Resource": "*" } ] }SMQ コンソールの [トピック] メニュー項目にアクセスする権限を RAM ユーザーに付与します。
説明トピック管理には、
mns:ListTagResourcesを含む複数のアクションが関係します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:ListTagResources", "mns:ListTopic" ], "Resource": "*" } ] }
例 6:RAM ユーザーに特定のトピックのメッセージのみを管理する権限を付与する
SMQ の管理 SDK を使用して、特定のトピックとの間でのみメッセージの読み取りまたは書き込みを行う権限を RAM ユーザーに付与します。この例では、トピック名
MySampleTopicを使用します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:CreateTopic", "mns:DeleteTopic", "mns:GetTopicAttributes", "mns:SetTopicAttributes" ], "Resource": "acs:mns:*:*:/topics/MySampleTopic" } ] }SMQ コンソールで特定のトピックの詳細を照会する権限を RAM ユーザーに付与します。
説明指定されたトピックの詳細にアクセスするための URL は、
https://${SMQ 管理アドレス}/region/${regionId}/topic/${topicName}/detailの形式です。トピック管理には、
mns:ListSubscriptionByTopicを含む複数のアクションが関係します。
{ "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": "*" } ] }
クライアント SDK を使用してカスタムポリシーを作成する
キュー関連のメッセージング権限を付与する
例 1:RAM ユーザーに特定のキューとの間でのみメッセージを送受信する権限を付与する
クライアント SDK を使用して、特定のキューとの間でのみメッセージを送受信する権限を RAM ユーザーに付与します。この例では、キュー名
MySampleQueueを使用します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:SendMessage", "mns:ReceiveMessage", "mns:DeleteMessage", "mns:PeekMessage", "mns:ChangeMessageVisibility" ], "Resource": "acs:mns:*:*:/queues/MySampleQueue/messages" } ] }SMQ コンソールでキュー関連のメッセージングを管理する権限を RAM ユーザーに付与します。
説明キューの URL は、
https://${SMQ 管理アドレス}/region/${regionId}/queue/${queueName}/publishの形式です。キュー管理には、
mns:ListQueueを含む複数のアクションが関係します。
{ "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": "*" } ] }
トピック関連のメッセージング権限を付与する
例 2:RAM ユーザーに特定のトピックにのみメッセージを送信する権限を付与する
クライアント SDK を使用して、特定のトピックにのみメッセージを送信する権限を RAM ユーザーに付与します。この例では、トピック名
MySampleTopicを使用します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:PublishMessage" ], "Resource": "acs:mns:*:*:/topics/MySampleTopic/messages" } ] }SMQ コンソールでトピック関連のメッセージングを管理する権限を RAM ユーザーに付与します。
説明トピックの URL は、
https://${SMQ 管理アドレス}/region/${regionId}/topic/${topicName}/publishの形式です。キュー管理には、
mns:ListQueueを含む複数のアクションが関係します。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "mns:PublishMessage" ], "Resource": "acs:mns:*:*:/topics/MySampleTopic/messages" }, { "Effect": "Allow", "Action": "mns:ListQueue", "Resource": "*" } ] }