Fitur Access Control List (ACL) pada instans Message Queue for Apache Kafka Edisi Profesional atau Serverless memungkinkan Anda memberikan izin operasi tertentu kepada pengguna SASL pada resource seperti topik dan kelompok konsumen untuk kontrol akses detail halus.
Latar Belakang
Perusahaan A membeli Message Queue for Apache Kafka dan ingin agar Pengguna A hanya dapat mengonsumsi pesan dari semua topik di Message Queue for Apache Kafka, tetapi tidak boleh memproduksi pesan ke topik mana pun di Message Queue for Apache Kafka.
Catatan Penggunaan
-
Untuk instans Internet atau VPC, Kafka menyediakan pengguna SASL default dengan izin baca dan tulis untuk semua topik dan kelompok konsumen. Untuk mencapai kontrol izin detail halus, aktifkan ACL, buat pengguna SASL kustom, lalu berikan izin sesuai kebutuhan agar mereka dapat mengirim dan menerima pesan dari Message Queue for Apache Kafka. Setelah ACL diaktifkan, izin pengguna SASL default tidak lagi berlaku.
-
Setelah ACL diaktifkan, pengiriman pesan tidak lagi secara otomatis membuat topik.
Prasyarat
Instans Message Queue for Apache Kafka Anda harus memenuhi persyaratan berikut:
-
Instans merupakan Professional atau Edisi Serverless.
-
Instans berada dalam status Running.
-
Versi utama adalah 2.2.0 atau lebih baru. Untuk informasi selengkapnya tentang cara meningkatkan versi utama, lihat Upgrade versions.
-
Versi minor adalah yang terbaru. Untuk informasi selengkapnya tentang cara meningkatkan versi minor, lihat Upgrade instance version.
Langkah 1: Aktifkan ACL
Setelah meningkatkan versi minor, aktifkan ACL untuk instans di Konsol Message Queue for Apache Kafka.
Masuk ke ApsaraMQ for Kafka console.
Pada halaman Overview, pilih wilayah di bagian Resource Distribution.
Pada halaman Instances, klik nama instans target.
-
Pada halaman Instance Details, klik Enable ACL di pojok kanan atas bagian Overview.
-
Pada kotak dialog Note, klik OK, lalu refresh halaman secara manual.
Setelah halaman direfresh, Status di bagian Basic Information pada halaman Instance Details berubah menjadi Upgrading. Proses selesai ketika Status berubah menjadi Running.
PentingACL hanya diaktifkan setelah peningkatan selesai. Anda kemudian dapat membuat pengguna SASL, memberikan izin kepada mereka, dan menghubungkan ke instans menggunakan titik akhir SASL. Proses peningkatan memakan waktu sekitar 15 hingga 20 menit.
Langkah 2: Buat pengguna SASL
Setelah mengaktifkan ACL untuk instans, buat pengguna SASL untuk Pengguna A.
Masuk ke ApsaraMQ for Kafka console.
Pada halaman Overview, pilih wilayah di bagian Resource Distribution.
-
Pada halaman Instances, pilih instans yang telah Anda aktifkan ACL-nya.
-
Pada halaman Instance Details, klik tab Manage SASL Users. Untuk instans Edisi Serverless, pilih di panel navigasi sebelah kiri.
-
Pada halaman Manage SASL Users, klik Create SASL User.
-
Pada panel Create SASL User, konfigurasikan parameter untuk pengguna SASL dan klik OK.
Parameter
Deskripsi
Username
Nama pengguna SASL.
User Type
Message Queue for Apache Kafka mendukung mekanisme SASL berikut:
-
PLAIN: Mekanisme verifikasi username dan password sederhana. Message Queue for Apache Kafka mengoptimalkan mekanisme PLAIN untuk mendukung pembuatan dinamis pengguna SASL tanpa perlu me-restart instans.
-
SCRAM: Mekanisme otentikasi username dan password yang lebih aman dibandingkan PLAIN. Untuk Message Queue for Apache Kafka, instans non-Serverless menggunakan SCRAM-SHA-256. Instans Serverless mendukung SCRAM-SHA-512, dan ini merupakan konfigurasi default untuk SCRAM.
Password
Password untuk pengguna SASL.
Confirm Password
Masukkan kembali password untuk mengonfirmasinya.
Setelah pengguna dibuat, pengguna tersebut akan muncul pada tab Manage SASL Users.
-
Untuk mengubah kata sandi pengguna SASL, klik Change Password di kolom Actions. Pada panel Change SASL User Password, atur New Password dan Confirm Password, lalu klik OK.
-
Untuk menghapus pengguna SASL, klik Delete di kolom Actions.
-
Langkah 3: Berikan izin kepada pengguna SASL
Setelah membuat pengguna SASL untuk Pengguna A, berikan izin kepada pengguna tersebut untuk membaca pesan dari topik dan kelompok konsumen.
-
Pada halaman Instance Details, klik tab Manage SASL User Permissions.
-
Pada tab Manage SASL User Permissions, klik Grant Permission.
-
Pada panel Grant Permission, konfigurasikan parameter berikut dan klik OK.
Parameter
Deskripsi
Username
Nama pengguna SASL. Wildcard tanda bintang (*) merepresentasikan semua username.
Resource Type
Message Queue for Apache Kafka mendukung otorisasi untuk jenis resource berikut:
-
Topic: Topik pesan.
-
Group: Kelompok konsumen.
-
Cluster: Instans.
-
Transactional ID: ID transaksi.
Match Mode
Message Queue for Apache Kafka mendukung mode pencocokan berikut:
-
Exact Match: Hanya mencocokkan resource yang namanya identik dengan nama resource yang Anda masukkan.
-
Prefix Match: Mencocokkan resource apa pun yang namanya diawali dengan awalan yang Anda masukkan.
Resource Name
Nama topik, kelompok, atau kluster, atau ID transaksi. Wildcard tanda bintang (*) merepresentasikan semua nama resource.
Operation Type
Message Queue for Apache Kafka mendukung jenis operasi berikut:
-
Write
-
Read
-
Idempotent Write Operation
Penting-
Untuk jenis resource Group, hanya operasi Read yang didukung.
-
Untuk jenis resource cluster, hanya operasi Idempotent Write Operation yang didukung.
Untuk instans Edisi Serverless
Parameter
Deskripsi
Username
Nama pengguna SASL. Wildcard tanda bintang (*) merepresentasikan semua username.
Resource Type
Message Queue for Apache Kafka mendukung otorisasi untuk jenis resource berikut:
-
Topic: Topik pesan.
-
Group: Kelompok konsumen.
-
Cluster: Instans.
-
Transactional ID: ID transaksi.
Match Mode
Message Queue for Apache Kafka mendukung mode pencocokan berikut:
-
Exact Match: Hanya mencocokkan resource yang namanya identik dengan nama resource yang Anda masukkan.
-
Prefix Match: Mencocokkan resource apa pun yang namanya diawali dengan awalan yang Anda masukkan.
Resource Name
Nama topik, kelompok, atau kluster, atau ID transaksi. Wildcard tanda bintang (*) merepresentasikan semua nama resource.
Source IP Address
Membatasi akses hanya ke alamat IP atau rentang alamat IP tertentu.
Authorization Method
-
ALLOW: Mengizinkan akses.
-
DENY: Menolak akses.
Operation Type
Message Queue for Apache Kafka mendukung jenis operasi berikut:
-
WRITE: Tulis
-
READ: Baca
-
CREATE: Buat
-
DELETE: Hapus
-
DESCRIBE: Tampilkan metadata dan informasi offset.
-
DESCRIBE_CONFIGS: Tampilkan informasi konfigurasi.
-
IDEMPOTENT_WRITE: Tulis idempoten.
Penting-
Untuk klien versi 3.0 atau lebih baru, tulisan idempoten diaktifkan secara default. Untuk mengirim pesan secara sukses, Anda harus mengatur
enable.idempotence=truedan memberikan izin IDEMPOTENT_WRITE. -
Ketika Anda memberikan izin WRITE, READ, DELETE, atau ALTER, izin DESCRIBE diberikan secara default.
-
Untuk jenis resource cluster, hanya operasi IDEMPOTENT_WRITE yang didukung.
Setelah konfigurasi selesai, Anda dapat melihat izin pengguna yang telah dibuat pada tab Manage SASL User Permissions. Anda dapat memfilter izin berdasarkan Resource Type, Match Mode, Resource Name, dan Username, lalu klik Search.
-
Operasi Terkait
-
Setelah izin diberikan, Pengguna A dapat menghubungkan ke instans Message Queue for Apache Kafka menggunakan titik akhir SASL dan mengonsumsi pesan dengan SDK. Untuk mempelajari cara menghubungkan dengan SDK, lihat SDK overview.
-
Untuk memberikan izin kepada pengguna SASL menggunakan Operasi API, lihat Create SASL User dan Create ACL.
-
Untuk informasi selengkapnya tentang titik akhir SASL, lihat Endpoint comparison.