Alibaba Cloud menyediakan Resource Access Management (RAM) untuk mengelola izin pada ApsaraMQ for MQTT. Dengan menggunakan RAM, Anda tidak perlu membagikan pasangan AccessKey akun Alibaba Cloud kepada pengguna lain. Anda dapat memberikan izin yang diperlukan saja. Pasangan AccessKey terdiri dari ID AccessKey dan Rahasia AccessKey. Topik ini menjelaskan kebijakan yang tersedia untuk ApsaraMQ for MQTT di RAM.
Jenis-jenis Kebijakan
Di RAM, kebijakan adalah kumpulan izin yang dijelaskan menggunakan sintaksis tertentu. Untuk informasi lebih lanjut, lihat Struktur dan Sintaksis Kebijakan. Kebijakan dapat secara tepat mendefinisikan set sumber daya yang diizinkan, tindakan yang diizinkan, serta kondisi otorisasi. ApsaraMQ for MQTT menyediakan jenis kebijakan RAM berikut:
Kebijakan Sistem: Kebijakan sistem dibuat dan diperbarui oleh Alibaba Cloud. Anda dapat menggunakan kebijakan ini tetapi tidak dapat memodifikasinya.
Kebijakan Kustom: Anda dapat membuat, memperbarui, dan menghapus kebijakan kustom. Anda bertanggung jawab atas pemeliharaan versi kebijakan tersebut.
Kebijakan Sistem
ApsaraMQ for MQTT menyediakan empat kebijakan sistem default.
ApsaraMQ for MQTT tidak mendukung kebijakan sistem independen. Saat melampirkan kebijakan sistem berikut ke pengguna RAM, kebijakan tersebut berlaku baik di ApsaraMQ for MQTT maupun ApsaraMQ for RocketMQ.
Kebijakan | Deskripsi |
AliyunMQFullAccess | Izin untuk mengelola ApsaraMQ for MQTT. Pengguna RAM yang dilampiri kebijakan ini dapat mengelola semua fitur seperti cara Anda menggunakan akun Alibaba Cloud untuk mengelola sumber daya di konsol ApsaraMQ for MQTT. Catatan Setelah kebijakan ini dilampirkan ke pengguna RAM, pengguna RAM tidak dapat melihat daftar instance di konsol ApsaraMQ for MQTT. Untuk melihat daftar instance di konsol ApsaraMQ for MQTT, pengguna RAM harus diberikan izin yang diperlukan. Tindakan untuk izin tersebut adalah mq:MqttInstanceAccess. Untuk informasi lebih lanjut, lihat Izin untuk mengelola instance di konsol. |
AliyunMQPubOnlyAccess | Izin untuk mempublikasikan pesan di ApsaraMQ for MQTT. Pengguna RAM yang dilampiri kebijakan ini dapat menggunakan semua sumber daya akun Alibaba Cloud untuk mempublikasikan pesan menggunakan SDK. |
AliyunMQSubOnlyAccess | Izin untuk berlangganan pesan di ApsaraMQ for MQTT. Pengguna RAM yang dilampiri kebijakan ini dapat menggunakan semua sumber daya akun Alibaba Cloud untuk berlangganan pesan menggunakan SDK. |
AliyunMQReadOnlyAccess | Izin baca-saja pada ApsaraMQ for MQTT. Pengguna RAM yang dilampiri kebijakan ini hanya dapat membaca informasi sumber daya di konsol ApsaraMQ for MQTT atau dengan memanggil operasi API. Catatan Setelah kebijakan ini dilampirkan ke pengguna RAM, pengguna RAM tidak dapat melihat daftar instance di konsol ApsaraMQ for MQTT. Untuk melihat daftar instance di konsol ApsaraMQ for MQTT, pengguna RAM harus diberikan izin yang diperlukan. Tindakan untuk izin tersebut adalah mq:MqttInstanceAccess. Untuk informasi lebih lanjut, lihat Izin untuk mengelola instance di konsol. |
Kebijakan Kustom
Kebijakan kustom memungkinkan Anda memberikan izin granular halus kepada pengguna.
Berikut ini menjelaskan pemetaan antara sumber daya dan tindakan di ApsaraMQ for MQTT.
Di ApsaraMQ for MQTT, instance, topik, grup, dan aturan merupakan jenis sumber daya yang berbeda. Izin harus diberikan untuk melakukan tindakan pada sumber daya tersebut. Untuk informasi tentang format sumber daya, lihat Sumber Daya.
Nilai-nilai dan aturan yang sesuai dari sumber daya dan tindakan di ApsaraMQ for MQTT dapat dikategorikan sebagai berikut: konsol, operasi API, dan klien ApsaraMQ for MQTT. Operasi terkait sumber daya di konsol ApsaraMQ for MQTT dibagi menjadi beberapa kategori berdasarkan jenis sumber daya: instance, topik, grup, dan aturan.
Untuk mengakses sumber daya instance ApsaraMQ for MQTT dan memanggil operasi API untuk melakukan operasi pada instance, Anda harus memiliki izin yang diperlukan pada instance tersebut. Tindakan yang sesuai adalah mq:MqttInstanceAccess.
Untuk contoh kebijakan kustom, lihat Contoh Kebijakan Izin.
Izin untuk mempublikasikan dan berlangganan pesan pada klien ApsaraMQ for MQTT
Izin untuk mempublikasikan dan berlangganan pesan melibatkan format penamaan sumber daya dari topik dan grup.
Topik: acs:mq:*:*:topic/{mqttInstanceId}/{topic}
ID Grup: acs:mq:*:*:groupId/{mqttInstanceId}/{gid}
Tindakan | Deskripsi | Catatan |
mq:PUB | Memublikasikan pesan. | Sebelum Anda memberikan izin kepada pengguna RAM pada topik atau grup, Anda harus memberikan pengguna tersebut izin untuk mengakses instance tempat topik atau grup tersebut berada. Tindakan untuk izin tersebut adalah mq:MqttInstanceAccess. |
mq:SUB | Berlangganan pesan. |
Izin untuk mempublikasikan dan berlangganan pesan pada klien ApsaraMQ for MQTT tidak dapat diberikan lintas akun Alibaba Cloud.
Izin untuk mengelola instance di konsol
Format penamaan sumber daya instance ApsaraMQ for MQTT adalah acs:mq:*:*:instance/{mqttInstanceId}.
Tindakan | Deskripsi | Catatan |
mq:MqttInstanceAccess | Mengquery informasi dasar tentang sebuah instance. | Sebelum memberikan izin kepada pengguna RAM pada topik atau grup, pastikan pengguna tersebut memiliki izin untuk mengakses instance tempat topik atau grup tersebut berada. Tindakan untuk izin tersebut adalah mq:MqttInstanceAccess. |
mq:DeleteMqttInstance | Menghapus instance. | Tidak ada. |
mq:UpdateMqttInstance | Memodifikasi informasi instance. | Tidak ada. |
mq:ListMqttInstance | Mengquery daftar instance. | Tidak ada. |
mq:UpdateMqttInstanceWarn | Memperbarui informasi peringatan tentang instance tertentu. | Tidak ada. |
mq:MqttMetaData | Mengakses halaman Overview dan homepage di konsol ApsaraMQ for MQTT. | Setelah memberikan izin kepada pengguna RAM untuk mengakses halaman Overview dan homepage di konsol ApsaraMQ for MQTT, pastikan pengguna tersebut memiliki izin untuk melihat instance sebelum dapat melihat daftar instance di konsol ApsaraMQ for MQTT. |
Izin untuk mengelola topik di konsol
Format penamaan sumber daya topik adalah acs:mq:*:*:topic/{mqttInstanceId}/{topic}.
Tindakan | Deskripsi | Catatan |
mq:QueryMqttClientByTopic | Mengquery klien ApsaraMQ for MQTT yang berlangganan topik tertentu. | Sebelum Anda memberikan izin kepada pengguna RAM pada topik atau grup, Anda harus memberikan pengguna tersebut izin untuk mengakses instance tempat topik atau grup tersebut berada. Tindakan untuk izin tersebut adalah mq:MqttInstanceAccess. |
mq:QueryMqttMsgTransTrend | Mengquery statistik pesan berdasarkan topik tertentu. | |
mq:SendMqttMessageByConsole | Menguji fitur pengiriman pesan di konsol. | |
mq:CreateMqttTopic | Membuat topik. | |
mq:DeleteMqttTopic | Menghapus topik. | |
mq:ListMqttTopic | Mengquery topik. | |
mq:UpdateMqttTopic | Memperbarui deskripsi topik. |
Izin untuk mengelola grup di konsol
Format penamaan sumber daya grup adalah acs:mq:*:*:groupId/{mqttInstanceId}/{gid}.
Tindakan | Deskripsi | Catatan |
mq:CreateMqttGroupId | Membuat grup. | Sebelum Anda memberikan izin kepada pengguna RAM pada topik atau grup, Anda harus memberikan pengguna tersebut izin untuk mengakses instance tempat topik atau grup tersebut berada. Tindakan untuk izin tersebut adalah mq:MqttInstanceAccess. |
mq:ListMqttGroupId | Mengquery daftar grup. | |
mq:QueryMqttClientByClientId | Mengquery informasi klien ApsaraMQ for MQTT berdasarkan ID klien tertentu. | |
mq:QueryMqttClientByGroupId | Mengquery informasi klien ApsaraMQ for MQTT berdasarkan ID grup tertentu. | |
mq:QueryMqttHistoryOnline | Mengquery informasi tentang klien ApsaraMQ for MQTT yang terhubung historis berdasarkan ID grup tertentu. | |
mq:DeleteMqttGroupId | Menghapus grup. | |
mq:QueryMqttTraceDevice | Mengquery jejak klien ApsaraMQ for MQTT. | |
mq:QueryMqttDeviceTrace | Mengquery informasi tentang klien ApsaraMQ for MQTT tertentu. |
Izin untuk mengelola aturan di konsol
Format penamaan sumber daya aturan adalah acs:mq:*:*:rule/{mqttInstanceId}/{ruleId}.
Saat memberikan izin pada aturan, pastikan bahwa instance, topik, dan grup terkait milik akun Alibaba Cloud yang sama.
Tindakan | Deskripsi | Catatan |
mq:CreateMqttInboundRule | Membuat aturan arah masuk data. | Sebelum Anda memberikan izin kepada pengguna RAM pada topik atau grup, Anda harus memberikan pengguna tersebut izin untuk mengakses instance tempat topik atau grup tersebut berada. Tindakan untuk izin tersebut adalah mq:MqttInstanceAccess. |
mq:DeleteMqttInboundRule | Menghapus aturan arah masuk data. | |
mq:ListMqttInboundRule | Mengquery aturan arah masuk data. | |
mq:UpdateMqttInboundRule | Memperbarui aturan arah masuk data. | |
mq:CreateMqttOutboundRule | Membuat aturan arah keluar data. | |
mq:DeleteMqttOutboundRule | Menghapus aturan arah keluar data. | |
mq:ListMqttOutboundRule | Mengquery aturan arah keluar data. | |
mq:UpdateMqttOutboundRule | Memperbarui aturan arah keluar data. | |
mq:CreateClientStatusNotifyRule | Membuat aturan untuk notifikasi status klien. | |
mq:DeleteClientStatusNotifyRule | Menghapus aturan untuk notifikasi status klien. | |
mq:ListClientStatusNotifyRule | Mengquery aturan untuk notifikasi status klien. | |
mq:UpdateClientStatusNotifyRule | Memperbarui aturan untuk notifikasi status klien. |
Izin untuk memanggil operasi API
Sebelum memberikan izin untuk melakukan operasi pada aturan dengan memanggil operasi API, pastikan bahwa instance, topik, dan grup terkait milik akun Alibaba Cloud yang sama.
API | Format penamaan sumber daya | Contoh penamaan sumber daya | Tindakan |
acs:mq:*:*:* | acs:mq:*:*:* |
| |
acs:mq:*:*:* | acs:mq:*:*:* |
| |
|
|
| |
| |||
|
|
| |
| |||
| |||
|
|
| |
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
Instance: acs:mq:*:*:instance/{mqttInstanceId} | Instance: acs:mq:*:*:instance/post-cn-09k1noy**** |
| |
| |||
Instance: acs:mq:*:*:instance/{mqttInstanceId} | Instance: acs:mq:*:*:instance/post-cn-09k1noy**** |
| |
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
CreateTopic |
|
|
|
ListTopics |
| ||
DeleteTopic |
| ||
UpdateTopic |
| ||
UpdateMqttOutboundRule |
|
|
|
CreateMqttInboundRule |
| ||
DeleteMqttOutboundRule |
| ||
UpdateClientStatusNotifyRule |
| ||
ListClientStatusNotifyRuleInPages |
| ||
ListMqttInboundRuleInPages |
| ||
DeleteClientStatusNotifyRule |
| ||
CreateClientStatusNotifyRule |
| ||
CreateMqttOutboundRule |
| ||
UpdateMqttInboundRule |
| ||
DeleteMqttInboundRule |
| ||
ListMqttOutboundRuleInPages |
|
Untuk informasi lebih lanjut tentang operasi API, lihat Daftar Operasi Berdasarkan Fungsi.