

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

# Apache Kafka ACLs
<a name="msk-acls"></a>

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 ACLs 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 terkait ACLs, dan oleh karena itu tidak ada orang lain selain pengguna super yang diizinkan mengakses R. Untuk mengubah perilaku Apache Kafka ini, Anda mengatur properti `allow.everyone.if.no.acl.found` ke true. Amazon MSK menetapkannya ke true secara default. Ini berarti bahwa dengan kluster MSK Amazon, jika Anda tidak secara eksplisit mengatur ACLs sumber daya, semua kepala sekolah dapat mengakses sumber daya ini. Jika Anda ACLs mengaktifkan 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 ACLs menggunakan Apache Kafka Authorizer CLI. Untuk informasi selengkapnya tentang menambahkan, menghapus, dan mencantumkan ACLs, lihat Antarmuka [Baris Perintah Otorisasi Kafka](https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Authorization+Command+Line+Interface).

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 ada ACLs . 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 DNS`b-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, lihat[Dapatkan broker bootstrap untuk cluster MSK Amazon](msk-get-bootstrap-brokers.md).

   ```
   <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
   ```

1. 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`.

1. 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`.