Mengontrol akses ke Apache ZooKeeper - 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.

Mengontrol akses ke Apache ZooKeeper

Untuk alasan keamanan, Anda dapat membatasi akses ke ZooKeeper node Apache yang merupakan bagian dari MSK cluster Amazon Anda. Untuk membatasi akses ke node, Anda dapat menetapkan grup keamanan terpisah untuk mereka. Anda kemudian dapat memutuskan siapa yang mendapat akses ke grup keamanan itu.

penting

Bagian ini tidak berlaku untuk cluster yang berjalan dalam KRaft mode. Lihat KRaftmodus.

Untuk menempatkan ZooKeeper node Apache Anda dalam grup keamanan terpisah

  1. Dapatkan string ZooKeeper koneksi Apache untuk cluster Anda. Untuk mempelajari caranya, lihat ZooKeeper modus. String koneksi berisi DNS nama-nama ZooKeeper node Apache Anda.

  2. Gunakan alat seperti host atau ping untuk mengonversi DNS nama yang Anda peroleh pada langkah sebelumnya menjadi alamat IP. Simpan alamat IP ini karena Anda membutuhkannya nanti dalam prosedur ini.

  3. Masuk ke AWS Management Console dan buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  4. Di panel kiri, di bawah NETWORK& SECURITY, pilih Antarmuka Jaringan.

  5. Di bidang pencarian di atas tabel antarmuka jaringan, ketikkan nama cluster Anda, lalu ketik return. Ini membatasi jumlah antarmuka jaringan yang muncul dalam tabel ke antarmuka yang terkait dengan cluster Anda.

  6. Pilih kotak centang di awal baris yang sesuai dengan antarmuka jaringan pertama dalam daftar.

  7. Di panel detail di bagian bawah halaman, cari IPv4IP pribadi Primer. Jika alamat IP ini cocok dengan salah satu alamat IP yang Anda peroleh pada langkah pertama prosedur ini, ini berarti bahwa antarmuka jaringan ini ditetapkan ke ZooKeeper node Apache yang merupakan bagian dari cluster Anda. Jika tidak, batalkan centang kotak di sebelah antarmuka jaringan ini, dan pilih antarmuka jaringan berikutnya dalam daftar. Urutan di mana Anda memilih antarmuka jaringan tidak masalah. Pada langkah selanjutnya, Anda akan melakukan operasi yang sama pada semua antarmuka jaringan yang ditugaskan ke ZooKeeper node Apache, satu per satu.

  8. Saat Anda memilih antarmuka jaringan yang sesuai dengan ZooKeeper node Apache, pilih menu Tindakan di bagian atas halaman, lalu pilih Ubah Grup Keamanan. Tetapkan grup keamanan baru ke antarmuka jaringan ini. Untuk informasi tentang membuat grup keamanan, lihat Membuat Grup Keamanan di VPC dokumentasi Amazon.

  9. Ulangi langkah sebelumnya untuk menetapkan grup keamanan baru yang sama ke semua antarmuka jaringan yang terkait dengan ZooKeeper node Apache cluster Anda.

  10. Anda sekarang dapat memilih siapa yang memiliki akses ke grup keamanan baru ini. Untuk informasi tentang menyetel aturan grup keamanan, lihat Menambahkan, Menghapus, dan Memperbarui Aturan di VPC dokumentasi Amazon.

Menggunakan TLS keamanan dengan Apache ZooKeeper

Anda dapat menggunakan TLS keamanan untuk enkripsi dalam perjalanan antara klien Anda dan ZooKeeper node Apache Anda. Untuk menerapkan TLS keamanan dengan ZooKeeper node Apache Anda, lakukan hal berikut:

  • Cluster harus menggunakan Apache Kafka versi 2.5.1 atau yang lebih baru untuk menggunakan TLS keamanan dengan Apache. ZooKeeper

  • Aktifkan TLS keamanan saat Anda membuat atau mengonfigurasi klaster Anda. Cluster yang dibuat dengan Apache Kafka versi 2.5.1 atau yang lebih baru dengan TLS diaktifkan secara otomatis menggunakan TLS keamanan dengan titik akhir Apache. ZooKeeper Untuk informasi tentang pengaturan TLS keamanan, lihatBagaimana cara memulai dengan enkripsi?.

  • Ambil ZooKeeper endpoint TLS Apache menggunakan operasi. DescribeCluster

  • Buat file ZooKeeper konfigurasi Apache untuk digunakan dengan kafka-configs.sh dan kafka-acls.shalat, atau dengan ZooKeeper shell. Dengan setiap alat, Anda menggunakan --zk-tls-config-file parameter untuk menentukan ZooKeeper konfigurasi Apache Anda.

    Contoh berikut menunjukkan file ZooKeeper konfigurasi Apache khas:

    zookeeper.ssl.client.enable=true zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty zookeeper.ssl.keystore.location=kafka.jks zookeeper.ssl.keystore.password=test1234 zookeeper.ssl.truststore.location=truststore.jks zookeeper.ssl.truststore.password=test1234
  • Untuk perintah lain (sepertikafka-topics), Anda harus menggunakan variabel KAFKA_OPTS lingkungan untuk mengkonfigurasi ZooKeeper parameter Apache. Contoh berikut menunjukkan cara mengkonfigurasi variabel KAFKA_OPTS lingkungan untuk meneruskan ZooKeeper parameter Apache ke perintah lain:

    export KAFKA_OPTS=" -Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true -Dzookeeper.ssl.trustStore.location=/home/ec2-user/kafka.client.truststore.jks -Dzookeeper.ssl.trustStore.password=changeit"

    Setelah Anda mengkonfigurasi variabel KAFKA_OPTS lingkungan, Anda dapat menggunakan CLI perintah secara normal. Contoh berikut membuat topik Apache Kafka menggunakan ZooKeeper konfigurasi Apache dari variabel lingkungan: KAFKA_OPTS

    <path-to-your-kafka-installation>/bin/kafka-topics.sh --create --zookeeper ZooKeeperTLSConnectString --replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
catatan

Nama-nama parameter yang Anda gunakan dalam file ZooKeeper konfigurasi Apache Anda dan yang Anda gunakan dalam variabel KAFKA_OPTS lingkungan Anda tidak konsisten. Perhatikan nama mana yang Anda gunakan dengan parameter mana dalam file konfigurasi dan variabel KAFKA_OPTS lingkungan Anda.

Untuk informasi selengkapnya tentang mengakses ZooKeeper node Apache AndaTLS, lihat KIP-515: Aktifkan klien ZK untuk menggunakan otentikasi baru yang didukung. TLS