Secure Sockets Layer (SSL) adalah protokol jaringan yang menyediakan koneksi aman antara klien dan server. Setelah mengaktifkan SSL untuk kluster Dataflow, transmisi data antara produsen, konsumen, dan broker akan dienkripsi, melindungi semua data sensitif dari penyadapan atau manipulasi selama transmisi. Topik ini menjelaskan cara mengaktifkan SSL untuk kluster Dataflow tempat Kafka diterapkan dan cara mengakses Kafka melalui SSL.
Prasyarat
Kluster Dataflow harus dibuat di konsol E-MapReduce (EMR), dengan Kafka dipilih saat pembuatan kluster. Untuk informasi lebih lanjut, lihat Buat Kluster Dataflow Kafka.
Prosedur
Langkah 1: Aktifkan SSL
Anda dapat menggunakan salah satu metode berikut untuk mengaktifkan SSL pada kluster Kafka:
Gunakan sertifikat default yang disediakan oleh EMR untuk mengaktifkan SSL.
Gunakan sertifikat kustom dan item konfigurasi terkait untuk mengaktifkan SSL.
EMR mengelola kebijakan konfigurasi SSL melalui item konfigurasi kafka.ssl.config.type dalam file konfigurasi server.properties.
Metode 1: Gunakan sertifikat default untuk mengaktifkan SSL
Secara default, SSL dinonaktifkan untuk kluster Kafka. Anda dapat melakukan langkah-langkah berikut untuk mengaktifkan SSL dengan cepat.
Buka tab Konfigurasi halaman layanan Kafka.
Masuk ke konsol EMR. Di panel navigasi sebelah kiri, klik EMR pada ECS.
Di bilah navigasi atas, pilih wilayah tempat kluster Anda berada dan pilih grup sumber daya sesuai kebutuhan bisnis Anda.
Di halaman EMR pada ECS, temukan kluster yang diinginkan dan klik Services di kolom Tindakan.
Di tab Services, temukan layanan Kafka dan klik Configure.
Modifikasi item konfigurasi.
Di tab Configure, klik tab server.properties.
Ubah nilai item konfigurasi kafka.ssl.config.type menjadi DEFAULT.

Simpan konfigurasi.
Klik Save.
Di kotak dialog yang muncul, konfigurasikan parameter Execution Reason dan klik Save.
Mulai ulang layanan Kafka.
Di tab Configure halaman layanan Kafka, pilih di pojok kanan atas.
Di kotak dialog yang muncul, konfigurasikan parameter Alasan Eksekusi dan klik OK.
Di pesan Confirm, klik OK.
Metode 2: Gunakan sertifikat kustom untuk mengaktifkan SSL
Secara default, SSL dinonaktifkan untuk kluster Kafka. Anda dapat menyesuaikan konfigurasi untuk mengaktifkan SSL.
Buka tab Konfigurasi halaman layanan Kafka.
Masuk ke konsol EMR. Di panel navigasi sebelah kiri, klik EMR pada ECS.
Di bilah navigasi atas, pilih wilayah tempat kluster Anda berada dan pilih grup sumber daya sesuai kebutuhan bisnis Anda.
Di halaman EMR pada ECS, temukan kluster yang diinginkan dan klik Services di kolom Tindakan.
Di tab Services, temukan layanan Kafka dan klik Configure.
Modifikasi item konfigurasi.
Di tab Configure halaman layanan Kafka, klik tab server.properties.
Ubah nilai item konfigurasi kafka.ssl.config.type menjadi CUSTOM.
Simpan konfigurasi.
Klik Save.
Dalam kotak dialog yang muncul, konfigurasikan parameter Execution Reason, lalu klik Save.
Modifikasi item konfigurasi lain yang terkait dengan SSL.
Anda harus mengonfigurasi item konfigurasi terkait SSL, seperti ssl.keystore.location, ssl.keystore.password, ssl.truststore.location, ssl.truststore.password, ssl.key.password, ssl.keystore.type, dan ssl.truststore.type, sesuai kebutuhan bisnis Anda.
Mulai ulang layanan Kafka.
Di tab Configure halaman layanan Kafka, pilih di pojok kanan atas.
Di kotak dialog yang muncul, konfigurasikan parameter Alasan Eksekusi dan klik OK.
Di pesan Confirm, klik OK.
Langkah 2: Akses Kafka melalui SSL
Untuk mengakses Kafka melalui SSL, Anda perlu mengonfigurasi item konfigurasi security.protocol, ssl.truststore.password, dan ssl.truststore.location.
Sebagai contoh, jika Anda menggunakan program Produser dan Konsumen Kafka untuk menjalankan pekerjaan di kluster Kafka yang telah diaktifkan SSL, Anda dapat mengikuti langkah-langkah berikut:
Masuk ke node master kluster Anda dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke Kluster.
Buat file konfigurasi.
Jalankan perintah berikut untuk membuat file konfigurasi ssl.properties:
vim ssl.propertiesTambahkan informasi berikut ke file konfigurasi ssl.properties:
security.protocol=SSL ssl.truststore.location=/var/taihao-security/ssl/ssl/truststore ssl.truststore.password=${password} ssl.keystore.location=/var/taihao-security/ssl/ssl/keystore ssl.keystore.password=${password} ssl.endpoint.identification.algorithm=Di tab Konfigurasi halaman layanan Kafka di konsol EMR, Anda dapat melihat nilai item konfigurasi di atas. Jika Anda menjalankan pekerjaan di luar kluster Kafka, salin file truststore dan keystore dari direktori tertentu di sebuah node kluster Kafka ke lingkungan runtime. Lalu, konfigurasikan informasi yang diperlukan.
Jalankan perintah berikut untuk membuat topik Kafka:
kafka-topics.sh --partitions 10 --replication-factor 2 --bootstrap-server core-1-1:9092 --topic test --create --command-config ssl.propertiesJalankan perintah berikut untuk menggunakan file konfigurasi SSL guna menghasilkan data:
export IP=<your_InnerIP> kafka-producer-perf-test.sh --topic test --num-records 123456 --throughput 10000 --record-size 1024 --producer-props bootstrap.servers=${IP}:9092 --producer.config ssl.propertiesnullDalam perintah di atas,
your_InnerIPmenunjukkan alamat IP internal node master-1-1 kluster Anda.Jalankan perintah berikut untuk menggunakan file konfigurasi SSL guna mengonsumsi data:
export IP=<your_InnerIP> kafka-consumer-perf-test.sh --broker-list ${IP}:9092 --messages 100000000 --topic test --consumer.config ssl.properties
Referensi
Untuk informasi tentang cara menggunakan Simple Authentication and Security Layer (SASL) untuk memverifikasi identitas pengguna yang digunakan untuk masuk ke kluster Kafka Dataflow, lihat Masuk ke Kluster Kafka Menggunakan SASL.