Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Wie kann ich mit der Verschlüsselung beginnen?
Beim Erstellen eines MSK Clusters können Sie Verschlüsselungseinstellungen im JSON Format angeben. Im Folgenden wird ein Beispiel gezeigt.
{ "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcdabcd-1234-abcd-1234-abcd123e8e8e" }, "EncryptionInTransit": { "InCluster": true, "ClientBroker": "TLS" } }
Für DataVolumeKMSKeyId
können Sie einen vom Kunden verwalteten Schlüssel angeben oder Von AWS verwalteter Schlüssel für MSK in Ihrem Konto (alias/aws/kafka
). Wenn Sie nichts angebenEncryptionAtRest
, verschlüsselt Amazon Ihre Daten im Ruhezustand MSK trotzdem unter Von AWS verwalteter Schlüssel. Um festzustellen, welchen Schlüssel Ihr Cluster verwendet, senden Sie eine GET
Anfrage oder rufen Sie den DescribeCluster
API Vorgang auf.
Denn EncryptionInTransit
der Standardwert von InCluster
ist true, aber Sie können ihn auf false setzen, wenn Sie nicht möchten, dass Amazon Ihre Daten verschlüsseltMSK, wenn sie zwischen Brokern übertragen werden.
Um den Verschlüsselungsmodus für die Übertragung von Daten zwischen Clients und Brokern anzugeben, legen Sie ClientBroker
auf einen der drei Werte folgenden fest: TLS
, TLS_PLAINTEXT
, oder PLAINTEXT
.
So legen Sie die Verschlüsselungseinstellungen beim Erstellen eines Clusters fest
Speichern Sie den Inhalt des vorherigen Beispiels in einer Datei und geben Sie der Datei einen beliebigen Namen. Nennen Sie sie beispielsweise „
encryption-settings.json
“.-
Führen Sie den
create-cluster
Befehl aus und verwenden Sie dieencryption-info
Option, um auf die Datei zu verweisen, in der Sie Ihre Konfiguration JSON gespeichert haben. Im Folgenden wird ein Beispiel gezeigt. Ersetzen{YOUR MSK VERSION}
mit einer Version, die der Apache Kafka-Client-Version entspricht. Informationen darüber, wie Sie Ihre MSK Cluster-Version finden, finden Sie unterTo find the version of your MSK cluster. Beachten Sie, dass die Verwendung einer Apache Kafka-Client-Version, die nicht mit Ihrer MSK Cluster-Version identisch ist, zu Datenbeschädigung, Verlust und Ausfallzeiten bei Apache Kafka führen kann.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 3Im Folgenden finden Sie ein Beispiel für eine erfolgreiche Antwort nach der Ausführung dieses Befehls.
{ "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/SecondTLSTest/abcdabcd-1234-abcd-1234-abcd123e8e8e", "ClusterName": "ExampleClusterName", "State": "CREATING" }
Um die Verschlüsselung zu testen TLS
Erstellen Sie einen Client-Computer entsprechend der Anweisungen in Schritt 3: Einen Client-Computer erstellen.
-
Installieren Sie Apache Kafka auf dem Client-Computer.
-
In diesem Beispiel verwenden wir den JVM Truststore, um mit dem MSK Cluster zu kommunizieren. Erstellen Sie dazu zunächst einen Ordner mit dem Namen
/tmp
auf dem Client-Computer. Wechseln Sie dann zum Ordner „bin
“ der Apache Kafka-Installation und führen Sie den folgenden Befehl aus. (Ihr JVM Weg könnte anders sein.)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
-
Wenn Sie sich noch im
bin
-Ordner der Apache Kafka-Installation auf dem Client-Computer befinden, erstellen Sie eine Textdateiclient.properties
mit dem folgenden Inhalt.security.protocol=SSL ssl.truststore.location=/tmp/kafka.client.truststore.jks
-
Führen Sie den folgenden Befehl auf einem Computer aus, der AWS CLI installiert, ersetzt
clusterARN
mit dem ARN Ihres Clusters.aws kafka get-bootstrap-brokers --cluster-arn
clusterARN
Ein erfolgreiches Ergebnis sieht wie folgt aus. Speichern Sie dieses Ergebnis, da Sie es für den nächsten Schritt benötigen.
{ "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" }
-
Führen Sie den folgenden Befehl aus und ersetzen Sie
BootstrapBrokerStringTls
mit einem der Broker-Endpunkte, die Sie im vorherigen Schritt erhalten haben.<path-to-your-kafka-installation>
/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringTls
--producer.config client.properties --topic TLSTestTopic -
Öffnen Sie ein neues Befehlsfenster und stellen Sie eine Verbindung zu demselben Client-Computer her. Führen Sie dann den folgenden Befehl aus, um einen Konsolenverbraucher zu erstellen.
<path-to-your-kafka-installation>
/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringTls
--consumer.config client.properties --topic TLSTestTopic -
Geben Sie im Produzent-Fenster eine Textnachricht gefolgt von einem Zeilenumbruch ein, und suchen Sie im Verbraucher-Fenster nach derselben Nachricht. Amazon hat diese Nachricht während der Übertragung MSK verschlüsselt.
Weitere Informationen zum Konfigurieren von Apache Kafka-Clients für die Arbeit mit verschlüsselten Daten finden Sie unter Konfigurieren von Kafka-Clients