ApsaraMQ for RabbitMQ memanfaatkan model otentikasi dan izin dari RabbitMQ open-source untuk mengontrol akses ke sumber dayanya.
Limitations
Fitur ini hanya tersedia untuk instans arsitektur tanpa server tipe kluster eksklusif yang baru dibeli; instans yang sudah ada tidak didukung.
Pembuatan dan pengelolaan izin untuk akun default guest tidak diizinkan.
Pengelolaan izin berbasis tag pengguna tidak didukung. Untuk detail tentang pengelolaan izin melalui Konsol atau OpenAPI, lihat Use RAM for access control.
Anda harus memilih antara otentikasi dan pengelolaan izin open-source atau Resource Access Management (RAM) Alibaba Cloud saat mengonfigurasi sebuah instans. Pilihan ini tidak dapat diubah.
Setelah otentikasi dan pengelolaan izin open-source diaktifkan untuk instans arsitektur tanpa server tipe kluster eksklusif, Anda tidak dapat menurunkan spesifikasinya menjadi instans bersama.
How it works
ApsaraMQ for RabbitMQ menyediakan kontrol akses granular pada tingkat vhost, memungkinkan Anda memberikan izin configure, write, dan read ke sumber daya seperti exchange dan queue. Izin didefinisikan menggunakan ekspresi reguler dengan pola berikut:
.*memberikan akses ke semua sumber daya.^$hanya cocok dengan string kosong, sehingga secara efektif memblokir semua akses.'^(amq\.gen.*|amq\.default)$'mengizinkan akses ke sumber daya sistem dan exchange default.
Tabel berikut menjelaskan bagaimana operasi AMQP 0-9-1 umum dipetakan ke izin tersebut:
Operasi AMQP 0-9-1 | configure | write | read | |
exchange.declare | (passive=false) | exchange | ||
exchange.declare | (passive=true) | |||
exchange.declare | (with AE) | exchange | exchange (AE) | exchange |
exchange.delete | exchange | |||
queue.declare | (passive=false) | queue | ||
queue.declare | (passive=true) | |||
queue.declare | (with DLX) | queue | exchange (DLX) | queue |
queue.delete | queue | |||
exchange.bind | exchange (destination) | exchange (source) | ||
exchange.unbind | exchange (destination) | exchange (source) | ||
queue.bind | queue | exchange | ||
queue.unbind | queue | exchange | ||
basic.publish | exchange | |||
basic.get | queue | |||
basic.consume | queue | |||
queue.purge | queue |
Kontrol akses di ApsaraMQ for RabbitMQ terdiri dari dua tahap:
Akses vhost: Saat klien RabbitMQ terhubung, klien tersebut menentukan vhost. Server memeriksa apakah pengguna memiliki akses ke vhost tersebut. Koneksi akan ditolak jika izin tidak mencukupi.
Operasi sumber daya: Saat melakukan aksi pada exchange atau queue, server mengevaluasi apakah pengguna memiliki izin yang sesuai untuk operasi tersebut.
Security
Saat menggunakan otentikasi dan pengelolaan izin open-source, ApsaraMQ for RabbitMQ meningkatkan keamanan sebagai berikut:
Jenis jaringan | Solusi |
VPC | Otentikasi open-source + Titik akhir privat |
Internet | Otentikasi open-source + daftar putih IP publik |
Operations
ApsaraMQ for RabbitMQ memungkinkan Anda membuat pengguna dan mengelola izin di Konsol. Untuk panduan langkah demi langkah, lihat User and permission management.