Wie kann ich mit der Verschlüsselung beginnen? - Amazon Managed Streaming für Apache Kafka

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

  2. Führen Sie den create-cluster Befehl aus und verwenden Sie die encryption-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 3

    Im 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
  1. Erstellen Sie einen Client-Computer entsprechend der Anweisungen in Schritt 3: Einen Client-Computer erstellen.

  2. Installieren Sie Apache Kafka auf dem Client-Computer.

  3. 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
  4. Wenn Sie sich noch im bin-Ordner der Apache Kafka-Installation auf dem Client-Computer befinden, erstellen Sie eine Textdatei client.properties mit dem folgenden Inhalt.

    security.protocol=SSL ssl.truststore.location=/tmp/kafka.client.truststore.jks
  5. 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" }
  6. 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-list BootstrapBrokerStringTls --producer.config client.properties --topic TLSTestTopic
  7. Ö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-server BootstrapBrokerStringTls --consumer.config client.properties --topic TLSTestTopic
  8. 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.