View a markdown version of this page

Apache Kafka ACL - 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.

Apache Kafka ACL

Apache Kafka memiliki otorisasi yang dapat dicolokkan dan dikirimkan dengan implementasi otorisasi out-of-box. Amazon MSK memungkinkan otorisasi ini dalam server.properties file di broker.

Apache Kafka ACL memiliki format “Principal P is [Allowed/Denied] Operation O From Host H on any Resource R matching ResourcePattern RP”. Jika RP tidak cocok dengan R sumber daya tertentu, maka R tidak memiliki ACL terkait, dan oleh karena itu tidak ada orang lain selain pengguna super yang diizinkan 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 kluster MSK Amazon, jika Anda tidak secara eksplisit menyetel ACL pada sumber daya, semua prinsipal dapat mengakses sumber daya ini. Jika Anda mengaktifkan ACL pada sumber daya, hanya kepala sekolah yang berwenang yang dapat mengaksesnya. Jika Anda ingin membatasi akses ke topik dan mengotorisasi klien menggunakan otentikasi timbal balik TLS, tambahkan ACL menggunakan Apache Kafka Authorizer CLI. 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 didefinisikan 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 di tempat. Untuk memberi broker Anda membaca akses 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 MSK Amazon.

    <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 di mesin klien Anda. Jika Anda menggunakan otentikasi TLS timbal balik, gunakan yang sama dengan yang Distinguished-Name Anda gunakan saat Anda 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, menggantinya --add dengan--remove.

  3. Untuk memberikan akses tulis ke topik, jalankan perintah berikut di mesin klien Anda. Jika Anda menggunakan otentikasi TLS timbal balik, gunakan yang sama dengan yang Distinguished-Name Anda gunakan saat Anda 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, menggantinya --add dengan--remove.