ApsaraMQ for RabbitMQ mendukung dua mode autentikasi dan otorisasi: autentikasi native open-source dan Resource Access Management (RAM). Saat klien open-source terhubung ke server ApsaraMQ for RabbitMQ, klien tersebut harus menyediakan username dan password untuk autentikasi berdasarkan mode yang dipilih. Akses hanya diberikan setelah autentikasi berhasil.
Informasi latar belakang
ApsaraMQ for RabbitMQ mendukung dua mode autentikasi dan izin: open-source authentication and permission management dan Alibaba Cloud Resource Access Management (RAM). Saat membuat instans, Anda hanya dapat memilih salah satu mode ini, dan pilihan tersebut tidak dapat diubah setelahnya. Perbandingan kedua mode tersebut adalah sebagai berikut.
|
Mode autentikasi |
Deskripsi |
Cakupan |
Kelebihan dan kekurangan |
|
Buat username dan password kustom serta berikan izin kepada pengguna. |
Client SDK |
|
|
|
Username dan password dihasilkan dari pasangan Kunci Akses (ID AccessKey dan AccessKey Secret) dari RAM. Untuk informasi selengkapnya, lihat Buat kredensial statis di bawah ini. |
|
|
Catatan
-
Pengelolaan Autentikasi dan Izin Open-Source
-
Hanya didukung untuk instans eksklusif kluster arsitektur tanpa server yang baru dibeli.
-
Hindari penggunaan password lemah untuk mencegah kebocoran kredensial.
-
Nonaktifkan akun guest default.
-
-
Resource Access Management (RAM)
-
Akun yang digunakan untuk login ke konsol ApsaraMQ for RabbitMQ adalah Akun Alibaba Cloud atau RAM user yang telah diberikan setidaknya izin untuk melihat, membuat, dan menghapus username dan password statis. Untuk informasi selengkapnya tentang izin username dan password statis serta operasi otorisasi, lihat Kebijakan izin RAM dan Otorisasi prinsipal dan sub-akun RAM.
-
Untuk membuat atau menghapus username dan password statis, instans harus berada dalam status Running.
-
Sistem menghasilkan username dan password unik untuk setiap instans, meskipun menggunakan pasangan AccessKey yang sama.
-
Untuk memperbarui username dan password statis, hapus yang lama dan buat yang baru.
-
Saat klien Anda memanggil SDK untuk mengirim dan menerima pesan, kami menyarankan agar Anda menggunakan koneksi jangka panjang. Hal ini mencegah klien membuat koneksi baru untuk setiap pesan, yang dapat menghabiskan banyak resource jaringan dan server serta berpotensi memicu perlindungan Serangan SYN flood di server. Untuk informasi selengkapnya, lihat Koneksi.
Autentikasi dan izin open-source
Buat username dan password
Login ke ApsaraMQ for RabbitMQ console. Di panel navigasi sebelah kiri, klik Instances.
Di bilah navigasi atas halaman Instances, pilih wilayah tempat instans yang ingin Anda kelola berada. Lalu, di daftar instans, klik nama instans yang ingin Anda kelola.
Di panel navigasi sebelah kiri, klik Users and Permissions.
-
Di halaman Users and Permissions, klik Create Username/Password.
-
Di panel Create Username/Password, masukkan Username, Password, dan Confirm Password, lalu klik OK.
Edit password pengguna
-
Di halaman Users and Permissions, temukan pengguna yang password-nya ingin Anda edit. Di kolom Actions, klik Edit.
-
Di panel Edit Username and Password, masukkan Password dan Confirm Password yang baru, lalu klik OK.
Hapus pengguna
Jika pengguna dihapus, klien yang menggunakan username dan password pengguna tersebut untuk terhubung ke ApsaraMQ for RabbitMQ akan ditolak.
-
Di halaman Users and Permissions, temukan pengguna yang ingin Anda hapus. Di kolom Actions, klik Delete.
-
Di kotak dialog Delete, klik OK.
Pengelolaan izin
Pengelolaan autentikasi dan izin open-source dari ApsaraMQ for RabbitMQ berlaku dalam cakupan vhost. Izin pengguna hanya berlaku di dalam vhost tempat pengguna tersebut ditugaskan. Kontrol detail halus terhadap izin pengguna untuk operasi pada Exchange dan Queue diimplementasikan dengan menggunakan ekspresi reguler (Regex). Untuk informasi selengkapnya, lihat Pengelolaan autentikasi dan izin open-source.
Tambahkan izin
-
Di halaman Users and Permissions, temukan pengguna yang ingin Anda tambahkan izinnya. Di kolom Actions, klik Manage Permissions.
-
Di panel Manage Permissions, klik Add Permission.
-
Dari daftar drop-down, pilih vhost yang ingin Anda konfigurasi, masukkan ekspresi reguler untuk operasi terkait, lalu klik OK.
-
Ekspresi reguler dicocokkan dengan nama exchange dan queue.
-
.*mencocokkan semua resource. -
^$hanya mencocokkan string kosong. Ini menggantikan semua akses resource dan memblokir pengguna dari melakukan operasi apa pun. -
'^(amq\.gen.*|amq\.default)$'mengizinkan akses ke resource yang dihasilkan sistem dan exchange default.
PentingJika Anda menggunakan titik akhir publik, Anda juga harus mengonfigurasi daftar putih alamat IP publik setelah mengatur izin.
-
Perbarui izin
Memodifikasi izin pengguna untuk virtual host dapat menyebabkan klien yang terhubung ke virtual host tersebut dengan kredensial pengguna mengalami error saat mengirim atau mengonsumsi pesan.
-
Di panel Manage Permissions, temukan izin virtual host yang ingin Anda modifikasi. Di kolom Actions, klik Update.
-
Masukkan ekspresi reguler yang diperbarui untuk operasi tersebut dan klik OK.
Hapus izin
Jika izin pengguna untuk virtual host dihapus, server akan menolak upaya koneksi dari klien yang menggunakan kredensial tersebut untuk virtual host tersebut.
-
Di panel Manage Permissions, temukan izin virtual host yang ingin Anda hapus. Di kolom Actions, klik Delete.
-
Di kotak dialog Delete, klik OK.
Resource Access Management (RAM)
Buat kredensial statis
Login ke ApsaraMQ for RabbitMQ console. Di panel navigasi sebelah kiri, klik Instances.
Di bilah navigasi atas halaman Instances, pilih wilayah tempat instans yang ingin Anda kelola berada. Lalu, di daftar instans, klik nama instans yang ingin Anda kelola.
Di panel navigasi sebelah kiri, klik Users and Permissions.
-
Di halaman Users and Permissions, klik Create Username/Password.
-
Di panel Create Username/Password, masukkan AccessKey ID dan AccessKey Secret, lalu klik OK.
CatatanAnda dapat memperoleh AccessKey ID dan AccessKey Secret dari Konsol RAM Alibaba Cloud. Untuk informasi selengkapnya, lihat Buat pasangan AccessKey.
Setelah kredensial dibuat, halaman Users and Permissions menampilkan username dan password statis baru, dengan password disembunyikan secara default. Entri baru muncul di daftar kredensial dengan kolom seperti Instance ID, AccessKey, Username, Password, dan Waktu Pembuatan. Anda dapat mengklik Delete di kolom Actions untuk menghapus kredensial tersebut.
-
Di kolom Password untuk kredensial statis yang telah dibuat, klik Display untuk melihat password.
Jika Anda menggunakan username dan password statis yang dibuat dari AccessKey RAM user untuk terhubung ke ApsaraMQ for RabbitMQ dan mengirim serta menerima pesan, pastikan RAM user tersebut telah diberikan izin untuk mengirim dan menerima pesan. Untuk informasi selengkapnya, lihat Kebijakan izin RAM.
Hapus kredensial statis
Username dan password statis menjadi tidak valid jika dihapus atau jika AccessKey yang digunakan untuk membuatnya dinonaktifkan atau dihapus. Jika klien menggunakan username dan password statis ini untuk terhubung ke ApsaraMQ for RabbitMQ, koneksi tersebut akan ditolak.
-
Di halaman Users and Permissions, temukan username dan password statis yang ingin dihapus, lalu di kolom Actions, klik Delete.
-
Di kotak dialog Prompt, baca pesan dengan cermat lalu klik OK.
Username dan password statis yang dihapus tidak lagi muncul di halaman Users and Permissions.
Operasi terkait
Setelah membuat username dan password, klien Anda dapat langsung menggunakan klien RabbitMQ open-source untuk terhubung ke ApsaraMQ for RabbitMQ. Untuk informasi selengkapnya, lihat Daftar SDK dan contoh kode.