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.
Apache Kafka ACLs
Apache Kafka hat einen austauschbaren Authorizer und wird mit einer sofort einsatzbereiten Authorizer-Implementierung ausgeliefert. Amazon MSK aktiviert diesen Autorisierer in der Datei server.properties auf den Brokern.
Apache Kafka-ACLs haben das Format „Principal P is [Allowed/Denied] Operation O From Host H auf jeder Ressource R, die mit RP übereinstimmt“. ResourcePattern Wenn RP nicht mit einer bestimmten Ressource „R“ übereinstimmt, hat „R“ keine zugeordneten ACLs, weshalb ausschließlich Superuser auf „R“ zugreifen dürfen. Um dieses Verhalten von Apache Kafka zu ändern, legen Sie die Eigenschaft allow.everyone.if.no.acl.found auf „true“ fest. Amazon MSK setzt es standardmäßig auf true. Dies bedeutet, dass bei Amazon MSK-Clustern, sofern Sie nicht explizit ACLs für eine Ressource festlegen, alle Prinzipale auf diese Ressource zugreifen können. Wenn Sie ACLs für eine Ressource aktivieren, können nur die autorisierten Prinzipale darauf zugreifen. Wenn Sie den Zugriff auf ein Thema einschränken und einen Client mithilfe der gegenseitigen TLS-Authentifizierung autorisieren möchten, fügen Sie ACLs mit der Apache Kafka-Autorisierungs-CLI hinzu. Weitere Informationen zum Hinzufügen, Entfernen und Auflisten von ACLs finden Sie unter Kafka Authorization Command Line Interface
Da Amazon MSK Broker als Superuser konfiguriert, können sie auf alle Themen zugreifen. Dies hilft den Brokern, Nachrichten von der primären Partition zu replizieren, unabhängig davon, ob die allow.everyone.if.no.acl.found Eigenschaft für die Cluster-Konfiguration definiert ist oder nicht.
Hinzufügen oder Entfernen von Lese- und Schreibzugriff für ein Thema
-
Fügen Sie die Broker der ACL-Tabelle hinzu, damit sie aus allen Themen lesen können, in denen ACLs vorhanden sind. Um Ihren Brokern Lesezugriff auf ein Thema zu gewähren, führen Sie den folgenden Befehl auf einem Client-Computer aus, der mit dem MSK-Cluster kommunizieren kann.
Distinguished-NameErsetzen Sie es durch das DNS eines der Bootstrap-Broker Ihres Clusters und ersetzen Sie dann die Zeichenfolge vor dem ersten Punkt in diesem definierten Namen durch ein Sternchen ().*Wenn beispielsweise einer der Bootstrap-Broker Ihres Clusters über den DNS verfügtb-6.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com, ersetzen SieDistinguished-Nameden folgenden Befehl durch.*.mytestcluster---67281x---c4---kafka---us-east-1.amazonaws.com.rproxy.govskope.caInformationen zum Abrufen der Bootstrap-Broker finden Sie unter Holen Sie sich die Bootstrap-Broker für einen Amazon MSK-Cluster.<path-to-your-kafka-installation>/bin/kafka-acls.sh --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topicTopic-Name -
Um einer Client-Anwendung Lesezugriff auf ein Thema zu gewähren, führen Sie den folgenden Befehl auf Ihrem Client-Computer aus. Wenn Sie die gegenseitige TLS-Authentifizierung verwenden, verwenden
Distinguished-NameSie dieselbe, die Sie bei der Erstellung des privaten Schlüssels verwendet haben.<path-to-your-kafka-installation>/bin/kafka-acls.sh --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topicTopic-NameZum Entfernen des Lesezugriffs können Sie denselben Befehl ausführen und
--adddurch--removeersetzen. -
Zum Gewähren von Schreibzugriff auf ein Thema führen Sie den folgenden Befehl auf Ihrem Client-Computer aus. Wenn Sie die gegenseitige TLS-Authentifizierung verwenden, verwenden
Distinguished-NameSie dieselbe, die Sie bei der Erstellung des privaten Schlüssels verwendet haben.<path-to-your-kafka-installation>/bin/kafka-acls.sh --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Write --topicTopic-NameZum Entfernen des Schreibzugriffs können Sie denselben Befehl ausführen und
--adddurch--removeersetzen.