Simple Message Queue (旧称:MNS) は、Alibaba Cloud Resource Access Management (RAM) を使用して権限を管理します。RAM を使用する場合、Alibaba Cloud アカウントの AccessKey ペアを他のユーザーと共有する必要はありません。代わりに、必要最小限の権限のみを付与できます。AccessKey ペアには、AccessKey ID と AccessKey Secret が含まれます。このトピックでは、Simple Message Queue (旧称:MNS) の RAM ポリシーと例について説明します。
背景情報
RAM では、ポリシーは、ポリシーの構文と構造で記述される権限のセットです。ポリシーは、権限付与されたリソースセット、操作セット、および権限付与の条件を正確に記述できます。詳細については、「ポリシーの構造と構文」をご参照ください。
Simple Message Queue (旧称:MNS) は、次のタイプの RAM ポリシーをサポートしています。
システムポリシー
次の表に、Simple Message Queue (旧称:MNS) に提供されるデフォルトの権限ポリシーを示します。
ポリシー | 説明 |
AliyunMNSFullAccess | Simple Message Queue (旧称:MNS) を管理する権限です。これは Alibaba Cloud アカウントが持つ権限と同等です。このポリシーがアタッチされた RAM ユーザーは、すべてのメッセージを送受信し、コンソールのすべての機能を使用できます。 |
AliyunMNSReadOnlyAccess | Simple Message Queue (旧称:MNS) に対する読み取り専用権限です。このポリシーがアタッチされた RAM ユーザーは、コンソールまたは API 操作の呼び出しによってリソース情報を読み取ることのみができます。 |
カスタムポリシー
カスタムポリシーを定義して、詳細な権限を付与できます。次の表に、Simple Message Queue (旧称:MNS) のカスタムポリシーを定義するために使用できる操作とリソースを示します。
API 操作 | 操作 | リソース |
OpenService | mns:OpenService | acs:mns:$region:$accountid:/commonbuy/openservice |
ListQueue | mns:ListQueue | acs:mns:$region:$accountid:/queues |
CreateQueue | mns:CreateQueue | acs:mns:$region:$accountid:/queues/$queueName |
DeleteQueue | mns:DeleteQueue | acs:mns:$region:$accountid:/queues/$queueName |
SetQueueAttributes | mns:SetQueueAttributes | acs:mns:$region:$accountid:/queues/$queueName |
GetQueueAttributes | mns:GetQueueAttributes | acs:mns:$region:$accountid:/queues/$queueName |
SendMessage または BatchSendMessage | mns:SendMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
ReceiveMessage または BatchReceiveMessage | mns:ReceiveMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
DeleteMessage | mns:DeleteMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
PeekMessage または BatchPeekMessage | mns:PeekMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
ChangeMessageVisibility | mns:ChangeMessageVisibility | acs:mns:$region:$accountid:/queues/$queueName/messages |
ListTopic | mns:ListTopic | acs:mns:$region:$accountid:/topics |
CreateTopic | mns:CreateTopic | acs:mns:$region:$accountid:/topics/$topicName |
DeleteTopic | mns:DeleteTopic | acs:mns:$region:$accountid:/topics/$topicName |
SetTopicAttributes | mns:SetTopicAttributes | acs:mns:$region:$accountid:/topics/$topicName |
GetTopicAttributes | mns:GetTopicAttributes | acs:mns:$region:$accountid:/topics/$topicName |
ListSubscriptionByTopic | mns:ListSubscriptionByTopic | acs:mns:$region:$accountid:/topics/$topicName/subscriptions |
Subscribe | mns:Subscribe | acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
Unsubscribe | mns:Unsubscribe | acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
SetSubscriptionAttributes | mns:SetSubscriptionAttributes | acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
GetSubscriptionAttributes | mns:GetSubscriptionAttributes | acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
PublishMessage | mns:PublishMessage | acs:mns:$region:$accountid:/topics/$topicName/messages |
カスタムポリシーの例
例 1: 指定された CIDR ブロックからのアクセスを許可する
次の例は、42.120.88.0/24 および 42.120.66.0/24 の CIDR ブロックから Simple Message Queue (旧称:MNS) へのアクセスを許可する方法を示しています。
{ "Version": "1", "Statement": [ { "Action": "mns:*", "Effect": "Allow", "Resource": "acs:mns:*:*:*", "Condition":{ "IpAddress": { "acs:SourceIp": ["42.120.88.0/24", "42.120.66.0/24"] } } } ] }例 2: 指定された CIDR ブロックからのアクセスを拒否する
次の例は、42.120.88.0/24 CIDR ブロック内の任意の IP アドレスから Simple Message Queue (旧称:MNS) へのアクセスを拒否する方法を示しています。
{ "Version":"1", "Statement":[ { "Action":"mns:*", "Effect":"Deny", "Resource":"acs:mns:*:*:*", "Condition":{ "NotIpAddress":{ "acs:SourceIp":[ "42.120.88.0/24" ] } } } ] }重要RAM ポリシーでは、Deny ルールは Allow ルールよりも優先度が高くなります。Deny ルールで指定されたアクセス操作を実行すると、操作は失敗します。この例では、42.120.88.0/24 CIDR ブロックに含まれていない IP アドレスを使用して Simple Message Queue (旧称:MNS) にアクセスすると、エラーメッセージが返されます。これは、MNS へのアクセスが許可されていないためです。
例 3: RAM ユーザーに MNS トピックとキューの表示を許可する
次の例は、RAM ユーザーに MNS のキューまたはトピック、および各キューまたはトピックのパラメーターの表示を許可する方法を示しています。
{ "Version":"1", "Statement":[ { "Effect":"Allow", "Action":[ "mns:ListQueue", "mns:ListTopic", "mns:GetQueueAttributes", "mns:GetTopicAttributes" ], "Resource":"acs:mns:*:*:*" } ] }