View a markdown version of this page

ACL Apache Kafka - Amazon Managed Streaming untuk Apache Kafka

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

ACL Apache Kafka

Apache Kafka memiliki otorizer yang dapat dicolokkan dan dikirimkan dengan implementasi otorizer yang di-off-box. Amazon MSK mengaktifkan otorisasi ini dalam server.properties file di broker.

ACL Apache Kafka memiliki format “Prinsip P adalah [Allowed/Denied] Operasi O Dari Host H pada setiap Resource R yang cocok dengan ResourcePattern RP”. Jika RP tidak cocok dengan sumber daya tertentu R, maka R tidak memiliki ACL terkait, dan oleh karena itu tidak ada orang lain selain pengguna super yang diizinkan untuk mengakses R. Untuk mengubah perilaku Apache Kafka ini, Anda menetapkan properti allow.everyone.if.no.acl.found ke true. Amazon MSK menyetelnya ke true secara default. Ini berarti bahwa dengan cluster Amazon MSK, jika Anda tidak menetapkan ACL secara eksplisit pada sumber daya, semua kepala sekolah dapat mengakses sumber daya ini. Jika Anda mengaktifkan ACL pada sumber daya, hanya prinsipal resmi yang dapat mengaksesnya. Jika Anda ingin membatasi akses ke topik dan mengotorisasi klien menggunakan otentikasi bersama TLS, tambahkan ACL menggunakan CLI otorisasi Apache Kafka. Untuk informasi selengkapnya tentang menambahkan, menghapus, dan mencantumkan ACL, lihat Antarmuka Baris Perintah Otorisasi Kafka.

Karena Amazon MSK mengonfigurasi broker sebagai pengguna super, mereka dapat mengakses semua topik. Ini membantu broker untuk mereplikasi pesan dari partisi utama apakah allow.everyone.if.no.acl.found properti ditentukan untuk konfigurasi cluster atau tidak.

Untuk menambah atau menghapus akses baca dan tulis ke topik
  1. Tambahkan broker Anda ke tabel ACL untuk memungkinkan mereka membaca dari semua topik yang memiliki ACL. Untuk memberi broker Anda akses baca ke topik, jalankan perintah berikut pada mesin klien yang dapat berkomunikasi dengan cluster MSK.

    Ganti Distinguished-Name dengan DNS dari salah satu broker bootstrap cluster Anda, lalu ganti string sebelum periode pertama dalam nama yang dibedakan ini dengan tanda bintang (*). Misalnya, jika salah satu broker bootstrap cluster Anda memiliki DNSb-6.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com, ganti Distinguished-Name perintah berikut dengan*.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com. Untuk informasi tentang cara mendapatkan broker bootstrap, lihatDapatkan broker bootstrap untuk cluster Amazon MSK.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topic Topic-Name
  2. Untuk memberikan akses baca aplikasi klien ke topik, jalankan perintah berikut pada mesin klien Anda. Jika Anda menggunakan otentikasi TLS bersama, gunakan yang sama Distinguished-Name dengan yang Anda gunakan saat membuat kunci pribadi.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topic Topic-Name

    Untuk menghapus akses baca, Anda dapat menjalankan perintah yang sama, mengganti --add dengan--remove.

  3. Untuk memberikan akses tulis ke topik, jalankan perintah berikut pada mesin klien Anda. Jika Anda menggunakan otentikasi TLS bersama, gunakan yang sama Distinguished-Name dengan yang Anda gunakan saat membuat kunci pribadi.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Write --topic Topic-Name

    Untuk menghapus akses tulis, Anda dapat menjalankan perintah yang sama, mengganti --add dengan--remove.