Simple Message Queue (formerly MNS) menggunakan Resource Access Management (RAM) Alibaba Cloud untuk mengelola izin. Dengan RAM, Anda tidak perlu membagikan Pasangan Kunci Akses akun Alibaba Cloud kepada pengguna lain; cukup berikan izin minimal yang diperlukan. Pasangan Kunci Akses terdiri dari ID AccessKey dan Rahasia AccessKey. Topik ini menjelaskan kebijakan RAM dan menyediakan contohnya untuk Simple Message Queue (formerly MNS).
Informasi latar belakang
Dalam RAM, kebijakan adalah seperangkat izin yang didefinisikan menggunakan sintaks dan struktur kebijakan tertentu. Kebijakan dapat secara akurat menentukan sumber daya yang diizinkan, aksi yang diperbolehkan, serta kondisi otorisasi. Untuk informasi selengkapnya, lihat Struktur dan sintaks kebijakan.
Simple Message Queue (formerly MNS) mendukung jenis kebijakan RAM berikut:
Kebijakan sistem dibuat oleh Alibaba Cloud. Anda dapat menggunakannya, tetapi tidak dapat mengubahnya. Pembaruan kebijakan dikelola oleh Alibaba Cloud.
Anda dapat membuat, memperbarui, menghapus, serta mengelola versi kebijakan kustom. Kebijakan kustom dapat diedit dan disambungkan ke Pengguna RAM melalui Konsol RAM.
Kebijakan sistem
Tabel berikut menjelaskan kebijakan izin default yang disediakan untuk Simple Message Queue (formerly MNS).
Kebijakan | Deskripsi |
AliyunMNSFullAccess | Izin untuk mengelola Simple Message Queue (formerly MNS), yang setara dengan izin yang dimiliki oleh Akun Alibaba Cloud. Pengguna RAM yang diberikan kebijakan ini dapat mengirim dan berlangganan semua paket serta menggunakan semua fitur Konsol. |
AliyunMNSReadOnlyAccess | Izin read-only pada Simple Message Queue (formerly MNS). Pengguna RAM yang diberikan kebijakan ini hanya dapat membaca informasi sumber daya di Konsol atau dengan memanggil operasi API. |
Kebijakan kustom
Anda dapat menentukan kebijakan kustom untuk memberikan izin dengan detail halus. Tabel berikut menjelaskan aksi dan sumber daya yang dapat digunakan dalam kebijakan kustom untuk Simple Message Queue (formerly MNS).
Operasi API | Aksi | Sumber daya |
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 atau BatchSendMessage | mns:SendMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
ReceiveMessage atau BatchReceiveMessage | mns:ReceiveMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
DeleteMessage | mns:DeleteMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
PeekMessage atau 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 |
Contoh kebijakan kustom
Contoh 1: Izinkan akses dari blok CIDR tertentu
Contoh berikut menunjukkan cara mengizinkan akses dari blok CIDR 42.120.88.0/24 dan 42.120.66.0/24 ke Simple Message Queue (formerly 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"] } } } ] }Contoh 2: Tolak akses dari blok CIDR tertentu
Contoh berikut menunjukkan cara menolak akses dari alamat IP apa pun dalam blok CIDR 42.120.88.0/24 ke Simple Message Queue (formerly MNS):
{ "Version":"1", "Statement":[ { "Action":"mns:*", "Effect":"Deny", "Resource":"acs:mns:*:*:*", "Condition":{ "NotIpAddress":{ "acs:SourceIp":[ "42.120.88.0/24" ] } } } ] }PentingAturan Tolak memiliki prioritas lebih tinggi daripada aturan Izinkan dalam kebijakan RAM. Jika suatu operasi akses sesuai dengan aturan Tolak, operasi tersebut akan gagal. Dalam contoh ini, jika Anda menggunakan alamat IP di luar blok CIDR 42.120.88.0/24 untuk mengakses Simple Message Queue (formerly MNS), pesan kesalahan akan dikembalikan karena Anda tidak memiliki otorisasi untuk mengakses MNS.
Contoh 3: Memberikan otorisasi kepada Pengguna RAM untuk melihat topik dan antrian MNS
Contoh berikut menunjukkan cara memberikan otorisasi kepada Pengguna RAM untuk melihat antrian atau topik MNS beserta parameter masing-masing antrian atau topik:
{ "Version":"1", "Statement":[ { "Effect":"Allow", "Action":[ "mns:ListQueue", "mns:ListTopic", "mns:GetQueueAttributes", "mns:GetTopicAttributes" ], "Resource":"acs:mns:*:*:*" } ] }