Steuern des Zugriffs auf Apache ZooKeeper - 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.

Steuern des Zugriffs auf Apache ZooKeeper

Aus Sicherheitsgründen können Sie den Zugriff auf die ZooKeeper Apache-Knoten einschränken, die Teil Ihres Amazon MSK-Clusters sind. Zum Beschränken des Zugriffs auf die Knoten können Sie ihnen eine separate Sicherheitsgruppe zuweisen. Anschließend können Sie entscheiden, wer Zugriff auf diese Sicherheitsgruppe erhält.

Wichtig

Dieser Abschnitt gilt nicht für Cluster, die im KraFT-Modus ausgeführt werden. Siehe KraFT-Modus.

Um Ihre ZooKeeper Apache-Knoten in einer separaten Sicherheitsgruppe zu platzieren

  1. Rufen Sie die ZooKeeper Apache-Verbindungszeichenfolge für Ihren Cluster ab. Um zu erfahren wie dies geht, vgl. ZooKeeper Modus. Die Verbindungszeichenfolge enthält die DNS-Namen Ihrer ZooKeeper Apache-Knoten.

  2. Verwenden Sie ein Tool wie host oder ping, um die DNS-Namen, die Sie im vorherigen Schritt erhalten haben, in IP-Adressen zu konvertieren. Speichern Sie diese IP-Adressen, da Sie sie später in diesem Verfahren benötigen.

  3. Melden Sie sich bei der Amazon EC2 EC2-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/ec2/.

  4. Klicken Sie im linken Bereich unter NETWORK & SECURITY (NETZWERK UND SICHERHEIT) auf Network Interfaces (Netzwerkschnittstellen).

  5. Geben Sie im Suchfeld über der Tabelle der Netzwerkschnittstellen den Namen des Clusters ein, und geben Sie dann „return“ ein. Dadurch wird die Anzahl der Netzwerkschnittstellen, die in der Tabelle angezeigt werden, auf die Schnittstellen beschränkt, die dem Cluster zugeordnet sind.

  6. Aktivieren Sie das Kontrollkästchen am Anfang der Zeile, die der ersten Netzwerkschnittstelle in der Liste entspricht.

  7. Suchen Sie im Detailbereich unten auf der Seite nach der primären privaten IPv4-IP. Wenn diese IP-Adresse mit einer der IP-Adressen übereinstimmt, die Sie im ersten Schritt dieses Verfahrens erhalten haben, bedeutet dies, dass diese Netzwerkschnittstelle einem ZooKeeper Apache-Knoten zugewiesen ist, der Teil Ihres Clusters ist. Andernfalls deaktivieren Sie das Kontrollkästchen neben dieser Netzwerkschnittstelle, und wählen Sie die nächste Netzwerkschnittstelle in der Liste aus. Die Reihenfolge, in der Sie die Netzwerkschnittstellen auswählen, spielt keine Rolle. In den nächsten Schritten führen Sie nacheinander dieselben Operationen an allen Netzwerkschnittstellen durch, die ZooKeeper Apache-Knoten zugewiesen sind.

  8. Wenn Sie eine Netzwerkschnittstelle auswählen, die einem ZooKeeper Apache-Knoten entspricht, wählen Sie oben auf der Seite das Menü Aktionen und dann Sicherheitsgruppen ändern. Weisen Sie dieser Netzwerkschnittstelle eine neue Sicherheitsgruppe zu. Weitere Informationen zum Erstellen von Sicherheitsgruppen finden Sie unter Erstellen einer Sicherheitsgruppe in der Amazon-VPC-Dokumentation.

  9. Wiederholen Sie den vorherigen Schritt, um allen Netzwerkschnittstellen, die den ZooKeeper Apache-Knoten Ihres Clusters zugeordnet sind, dieselbe neue Sicherheitsgruppe zuzuweisen.

  10. Nun können Sie auswählen, wer Zugriff auf diese neue Sicherheitsgruppe hat. Weitere Informationen zum Einrichten von Regeln für Sicherheitsgruppen finden Sie unter Hinzufügen, Entfernen und Aktualisieren von Regeln in der Amazon-VPC-Dokumentation.

Verwendung der TLS-Sicherheit mit Apache ZooKeeper

Sie können die TLS-Sicherheit für die Verschlüsselung bei der Übertragung zwischen Ihren Clients und Ihren ZooKeeper Apache-Knoten verwenden. Gehen Sie wie folgt vor, um die TLS-Sicherheit mit Ihren ZooKeeper Apache-Knoten zu implementieren:

  • Cluster müssen Apache Kafka Version 2.5.1 oder höher verwenden, um TLS-Sicherheit mit Apache verwenden zu können. ZooKeeper

  • Aktivieren Sie die TLS-Sicherheit, wenn Sie Ihren Cluster erstellen oder konfigurieren. Cluster, die mit Apache Kafka Version 2.5.1 oder höher und aktiviertem TLS erstellt wurden, verwenden automatisch TLS-Sicherheit mit Apache-Endpunkten. ZooKeeper Weitere Informationen zur Einrichtung von TLS-Sicherheit finden Sie unter Wie kann ich mit der Verschlüsselung beginnen?.

  • Rufen Sie die TLS-Apache ZooKeeper Endpoints mithilfe des Vorgangs ab. DescribeCluster

  • Erstellen Sie eine ZooKeeper Apache-Konfigurationsdatei zur Verwendung mit den kafka-acls.shTools kafka-configs.sh und oder mit der ZooKeeper Shell. Bei jedem Tool verwenden Sie den --zk-tls-config-file Parameter, um Ihre ZooKeeper Apache-Konfiguration anzugeben.

    Das folgende Beispiel zeigt eine typische ZooKeeper Apache-Konfigurationsdatei:

    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
  • Für andere Befehle (z. B.kafka-topics) müssen Sie die KAFKA_OPTS Umgebungsvariable verwenden, um ZooKeeper Apache-Parameter zu konfigurieren. Das folgende Beispiel zeigt, wie die KAFKA_OPTS Umgebungsvariable so konfiguriert wird, dass ZooKeeper Apache-Parameter an andere Befehle übergeben werden:

    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"

    Nachdem Sie die KAFKA_OPTS-Umgebungsvariable konfiguriert haben, können Sie CLI-Befehle normal verwenden. Im folgenden Beispiel wird mithilfe der ZooKeeper Apache-Konfiguration aus der KAFKA_OPTS Umgebungsvariablen ein Apache Kafka-Thema erstellt:

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

Die Namen der Parameter, die Sie in Ihrer ZooKeeper Apache-Konfigurationsdatei verwenden, und der Parameter, die Sie in Ihrer KAFKA_OPTS Umgebungsvariablen verwenden, sind nicht konsistent. Achten Sie darauf, welche Namen Sie mit welchen Parametern in Ihrer Konfigurationsdatei und KAFKA_OPTS-Umgebungsvariablen verwenden.

Weitere Informationen zum Zugriff auf Ihre ZooKeeper Apache-Knoten mit TLS finden Sie unter KIP-515: Aktivieren Sie den ZK-Client, um die neue TLS-unterstützte Authentifizierung zu verwenden.