Bagaimana cara memulai dengan enkripsi? - 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.

Bagaimana cara memulai dengan enkripsi?

Saat membuat MSK cluster, Anda dapat menentukan pengaturan enkripsi dalam JSON format. Berikut adalah contohnya.

{ "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcdabcd-1234-abcd-1234-abcd123e8e8e" }, "EncryptionInTransit": { "InCluster": true, "ClientBroker": "TLS" } }

UntukDataVolumeKMSKeyId, Anda dapat menentukan kunci yang dikelola pelanggan atau Kunci yang dikelola AWS untuk MSK di akun Anda (alias/aws/kafka). Jika Anda tidak menentukanEncryptionAtRest, Amazon MSK masih mengenkripsi data Anda saat istirahat di bawah. Kunci yang dikelola AWS Untuk menentukan kunci mana yang digunakan klaster Anda, kirim GET permintaan atau panggil DescribeCluster API operasi.

UntukEncryptionInTransit, nilai default InCluster adalah true, tetapi Anda dapat mengaturnya ke false jika Anda tidak MSK ingin Amazon mengenkripsi data Anda saat melewati antara broker.

Untuk menentukan mode enkripsi untuk data dalam perjalanan antara klien dan broker, atur ClientBroker ke salah satu dari tiga nilai:TLS,TLS_PLAINTEXT, atauPLAINTEXT.

Untuk menentukan pengaturan enkripsi saat membuat cluster
  1. Simpan isi dari contoh sebelumnya dalam file dan berikan file nama apa pun yang Anda inginkan. Misalnya, sebut sajaencryption-settings.json.

  2. Jalankan create-cluster perintah dan gunakan encryption-info opsi untuk menunjuk ke file tempat Anda menyimpan konfigurasi AndaJSON. Berikut adalah contohnya. Ganti {YOUR MSK VERSION} dengan versi yang cocok dengan versi klien Apache Kafka. Untuk informasi tentang cara menemukan versi MSK cluster Anda, lihatTo find the version of your MSK cluster. Ketahuilah bahwa menggunakan versi klien Apache Kafka yang tidak sama dengan versi MSK cluster Anda dapat menyebabkan kerusakan data Apache Kafka, kehilangan, dan waktu henti.

    aws kafka create-cluster --cluster-name "ExampleClusterName" --broker-node-group-info file://brokernodegroupinfo.json --encryption-info file://encryptioninfo.json --kafka-version "{YOUR MSK VERSION}" --number-of-broker-nodes 3

    Berikut ini adalah contoh respons yang berhasil setelah menjalankan perintah ini.

    { "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/SecondTLSTest/abcdabcd-1234-abcd-1234-abcd123e8e8e", "ClusterName": "ExampleClusterName", "State": "CREATING" }
Untuk menguji TLS enkripsi
  1. Buat mesin klien mengikuti panduan diLangkah 3: Buat mesin klien.

  2. Instal Apache Kafka di mesin klien.

  3. Dalam contoh ini kita menggunakan JVM truststore untuk berbicara dengan cluster. MSK Untuk melakukan ini, pertama buat folder bernama /tmp pada mesin klien. Kemudian, buka bin folder instalasi Apache Kafka, dan jalankan perintah berikut. (JVMJalan Anda mungkin berbeda.)

    cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64/jre/lib/security/cacerts /tmp/kafka.client.truststore.jks
  4. Saat masih dalam bin folder instalasi Apache Kafka di mesin klien, buat file teks bernama client.properties dengan konten berikut.

    security.protocol=SSL ssl.truststore.location=/tmp/kafka.client.truststore.jks
  5. Jalankan perintah berikut pada mesin yang telah AWS CLI diinstal, ganti clusterARN dengan ARN cluster Anda.

    aws kafka get-bootstrap-brokers --cluster-arn clusterARN

    Hasil yang sukses terlihat seperti berikut ini. Simpan hasil ini karena Anda membutuhkannya untuk langkah selanjutnya.

    { "BootstrapBrokerStringTls": "a-1.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123,a-3.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123,a-2.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123" }
  6. Jalankan perintah berikut, ganti BootstrapBrokerStringTls dengan salah satu endpoint broker yang Anda peroleh pada langkah sebelumnya.

    <path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list BootstrapBrokerStringTls --producer.config client.properties --topic TLSTestTopic
  7. Buka jendela perintah baru dan sambungkan ke mesin klien yang sama. Kemudian, jalankan perintah berikut untuk membuat konsumen konsol.

    <path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-server BootstrapBrokerStringTls --consumer.config client.properties --topic TLSTestTopic
  8. Di jendela produser, ketik pesan teks diikuti dengan pengembalian, dan cari pesan yang sama di jendela konsumen. Amazon MSK mengenkripsi pesan ini dalam perjalanan.

Untuk informasi selengkapnya tentang mengonfigurasi klien Apache Kafka agar bekerja dengan data terenkripsi, lihat Mengonfigurasi Klien Kafka.