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 adalah [Diizinkan/Ditolak] Operasi O Dari Host H pada Resource R apa pun yang cocok dengan RP”. ResourcePattern 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.

Selain klien, Anda juga perlu memberikan semua broker Anda akses ke topik Anda sehingga broker dapat mereplikasi pesan dari partisi utama. Jika broker tidak memiliki akses ke topik, replikasi untuk topik gagal.

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 Dibedakan Nama 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 Differentiished-Name dalam perintah berikut dengan. *.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com Untuk informasi tentang cara mendapatkan broker bootstrap, lihatMendapatkan broker bootstrap untuk cluster MSK Amazon.

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

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --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 Nama Dibedakan yang sama yang Anda gunakan saat Anda membuat kunci pribadi.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --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.