Kafka-Ausgabe aus Azure Stream Analytics (Vorschau)

Mit Azure Stream Analytics können Sie eine direkte Verbindung mit Kafka-Clustern als Produzent herstellen, um Daten zu erstellen. Die Lösung enthält nur wenig Code und wird vollständig vom Azure Stream Analytics-Team bei Microsoft verwaltet, so dass sie die Compliance-Standards des Unternehmens erfüllt. Die ASA Kafka-Ausgabe ist abwärtskompatibel und unterstützt alle Versionen mit der neuesten Clientversion ab Version 0.10. Benutzer können je nach Konfiguration eine Verbindung mit Kafka-Clustern in einem VNET- und Kafka-Cluster herstellen. Die Konfiguration basiert auf vorhandenen Kafka-Konfigurationskonventionen. Unterstützte Komprimierungstypen sind None, Gzip, Snappy, LZ4 und Zstd.

Schritte

Dieser Artikel zeigt die Einrichtung von Kafka als Ausgabe von Azure Stream Analytics. Die Einrichtung umfasst sechs Schritte:

  1. Erstellen Sie einen Azure Stream Analytics-Auftrag.
  2. Konfigurieren Sie Ihren Azure Stream Analytics-Auftrag für die Verwendung einer verwalteten Identität, wenn Sie die Sicherheitsprotokolle mTLS oder SASL_SSl verwenden.
  3. Konfigurieren Sie Azure Key Vault, wenn Sie die Sicherheitsprotokolle mTLS oder SASL_SSl verwenden.
  4. Laden Sie Zertifikate als Geheimnisse in Azure Key Vault hoch.
  5. Erteilen Sie Azure Stream Analytics die Berechtigungen zum Zugriff auf das hochgeladene Zertifikat.
  6. Konfigurieren der Kafka-Ausgabe in Ihrem Stream Analytics-Auftrag.

Hinweis

Je nachdem, wie Ihr Kafka-Cluster konfiguriert ist und welchen Typ von Kafka-Cluster Sie verwenden, gelten einige der oben genannten Schritte möglicherweise nicht für Sie. Beispiele: Wenn Sie Confluent Cloud Kafka verwenden, müssen Sie kein Zertifikat hochladen, um den Kafka-Connector zu verwenden. Wenn sich Ihr Kafka-Cluster in einem virtuellen Netzwerk (VNET) oder hinter einer Firewall befindet, müssen Sie Ihren Azure Stream Analytics-Auftrag möglicherweise so konfigurieren, dass er über eine private Verbindung oder eine dedizierte Netzwerkkonfiguration auf Ihr Kafka-Thema zugreift.

Konfiguration

In der folgenden Tabelle finden Sie die Eigenschaftsnamen und ihre Beschreibung für die Erstellung einer Kafka-Ausgabe:

Name der Eigenschaft BESCHREIBUNG
Ausgabealias Ein Anzeigename, der in Abfragen verwendet wird, um auf Ihre Ausgabe zu verweisen
Bootstrap-Serveradressen Eine Liste der Host-/Portpaare zum Herstellen der Verbindung mit dem Kafka-Cluster.
Kafka-Thema Ein benannter, sortierter und partitionierter Datenstrom, der die veröffentlichungsgesteuerte Verarbeitung von Nachrichten ermöglicht.
Sicherheitsprotokoll Wie Sie eine Verbindung mit Ihrem Kafka-Cluster herstellen möchten. Azure Stream Analytics unterstützt mTLS, SASL_SSL, SASL_PLAINTEXT oder None.
Ereignisserialisierungsformat Das Serialisierungsformat (JSON, CSV, Avro) des ausgehenden Datenstroms.
Partitionsschlüssel Azure Stream Analytics weist Partitionen mithilfe der runden Partitionierung zu.
Typ der Kafka-Ereigniskomprimierung Der Komprimierungstyp, der für ausgehende Datenströme verwendet wird, z. B. Gzip, Snappy, Lz4, Zstd oder None.

Screenshot, der zeigt, wie Sie die Kafka-Ausgabe für einen Datenstromanalyseauftrag konfigurieren.

Authentifizierung und Verschlüsselung

Sie können vier Arten von Sicherheitsprotokollen verwenden, um eine Verbindung mit Ihren Kafka-Clustern herzustellen:

Hinweis

Für SASL_SSL und SASL_PLAINTEXT unterstützt Azure Stream Analytics nur den PLAIN SASL-Mechanismus. Sie müssen Zertifikate mithilfe der Azure-Befehlszeilenschnittstelle als Geheimnisse in den Schlüsseltresor hochladen.

Name der Eigenschaft Beschreibung
mTLS Verschlüsselung und Authentifizierung. Unterstützt PLAIN-, SCRAM-SHA-256- und SCRAM-SHA-512-Sicherheitsmechanismen.
SASL_SSL Es kombiniert zwei verschiedene Sicherheitsmechanismen: SASL (Simple Authentication and Security Layer) und SSL (Secure Sockets Layer), um sicherzustellen, dass sowohl die Authentifizierung als auch die Verschlüsselung für die Datenübertragung vorhanden sind. Das SASL_SSL-Protokoll unterstützt PLAIN-, SCRAM-SHA-256- und SCRAM-SHA-512-Sicherheitsmechanismen.
SASL_PLAINTEXT Standardauthentifizierung mit Benutzername und Kennwort ohne Verschlüsselung
Keine Keine Authentifizierung und Verschlüsselung.

Wichtig

Confluent Cloud unterstützt die Authentifizierung mit API-Schlüsseln, OAuth oder SAML Single Sign-On (SSO). Azure Stream Analytics unterstützt keine Authentifizierung mit OAuth oder SAML SSO (Single Sign-On, einmaliges Anmelden). Sie können mit einem API-Schlüssel, der über das Sicherheitsprotokoll SASL_SSL Zugriff auf Themenebene hat, eine Verbindung mit Confluent Cloud herstellen.

Ein ausführliches Tutorial zum Herstellen einer Verbindung mit Confluent Cloud Kafka finden Sie in der Dokumentation:

Key Vault-Integration

Hinweis

Wenn Sie Vertrauensspeicherzertifikate mit mTLS oder SASL_SSL Sicherheitsprotokollen verwenden, müssen Sie Azure Key Vault und verwaltete Identität für Ihren Azure Stream Analytics-Auftrag konfiguriert haben. Überprüfen Sie die Netzwerkeinstellungen Ihres Schlüsseltresors, um sicherzustellen, dass Öffentlichen Zugriff aus allen Netzwerken zulassen ausgewählt ist. Angenommen, Ihr Schlüsseltresor befindet sich in einem VNET oder lässt nur den Zugriff aus bestimmten Netzwerken zu. In diesem Fall müssen Sie Ihren ASA-Auftrag in ein VNET mit dem Schlüsseltresor einfügen oder Ihren ASA-Auftrag in ein VNET einfügen und dann Ihren Schlüsseltresor mit dem VNET verbinden, das den Auftrag enthält, der Dienstendpunkte verwendet.

Azure Stream Analytics wird nahtlos in Azure Key Vault integriert, um auf gespeicherte Geheimschlüssel zuzugreifen, die für die Authentifizierung und Verschlüsselung erforderlich sind, wenn mTLS oder SASL_SSL Sicherheitsprotokolle verwendet werden. Ihr Azure Stream Analytics-Auftrag stellt mit der verwalteten Identität eine Verbindung mit Ihrem Azure Key Vault her und gewährleistet so eine sichere Verbindung und vermeidet die Exfiltration von Geheimnissen. Zertifikate werden als Geheimnisse im Schlüsseltresor gespeichert und müssen im PEM-Format vorliegen.

Konfigurieren Sie Key Vault mit Berechtigungen

Sie können eine Schlüsseltresorressource erstellen, indem Sie der Dokumentation unter Schnellstart: Erstellen eines Schlüsseltresors über das Azure-Portal folgen. Um Zertifikate hochzuladen, benötigen Sie Zugriff als „Schlüsseltresoradministrator“ auf Ihren Schlüsseltresor. Folgen Sie den folgenden Schritte durch, um Administratorzugriff zuzuweisen.

Hinweis

Sie benötigen Besitzer-Berechtigungen, um anderen Personen Berechtigungen für den Schlüsseltresor zuzuweisen.

  1. Wählen Sie die Option Zugriffssteuerung (IAM) aus.

  2. Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.

  3. Weisen Sie die Rolle mit der folgenden Konfiguration zu:

Einstellung Wert
Rolle Key Vault-Administrator
Zugriff zuweisen zu Benutzer, Gruppe oder Dienstprinzipal
Member <Ihre Kontoinformationen oder E-Mail>

Hochladen des Zertifikats zu Key Vault über die Azure CLI

Wichtig

Sie benötigen Zugriff als Key Vault-Administrator auf Ihren Schlüsseltresor, damit dieser Befehl ordnungsgemäß funktioniert. Sie müssen das Zertifikat als Geheimnis hochladen. Sie müssen die Azure CLI verwenden, um Zertifikate als Geheimnis in Ihren Schlüsseltresor hochzuladen. Ihr Azure Stream Analytics-Auftrag schlägt fehl, wenn das für die Authentifizierung verwendete Zertifikat abläuft. Um dieses Problem zu beheben, müssen Sie das Zertifikat in Ihrem Schlüsseltresor aktualisieren/ersetzen und Ihren Azure Stream Analytics-Auftrag neu starten.

Stellen Sie sicher, dass die Azure CLI lokal mit PowerShell konfiguriert ist. Auf dieser Seite finden Sie Anleitungen zur Einrichtung der Azure CLI: Erste Schritte mit der Azure CLI

Melden Sie sich bei der Azure CLI an:

az login

Stellen Sie eine Verbindung zu Ihrem Abonnement her, das Ihren Schlüsseltresor enthält:

az account set --subscription <subscription name>

Mit dem folgenden Befehl können Sie das Zertifikat als Geheimnis in Ihren Schlüsseltresor hochladen:

<your key vault> ist der Name des Schlüsseltresors, in den Sie das Zertifikat hochladen möchten. <name of the secret> ist jeder Name, den Sie Ihrem Geheimschlüssel geben möchten und wie er im Schlüsseltresor angezeigt wird. <file path to certificate> ist der Pfad zum Speicherort Ihres Zertifikats. Sie können mit der rechten Maustaste klicken und den Pfad zum Zertifikat kopieren.

az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>

Beispiel:

az keyvault secret set --vault-name mykeyvault --name kafkasecret --file C:\Users\Downloads\certificatefile.pem

Konfigurieren einer verwalteten Identität

Azure Stream Analytics erfordert, dass Sie die verwaltete Identität für den Zugriff auf den Schlüsseltresor konfigurieren. Sie können Ihren ASA-Auftrag so konfigurieren, dass verwaltete Identitäten verwendet werden. Navigieren Sie dazu auf der linken Seite unter Konfigurieren zur Registerkarte Verwaltete Identität.

Screenshot, der zeigt, wie verwaltete Identität für einen ASA-Auftrag konfiguriert wird.

  1. Klicken Sie unter Konfigurieren auf die Registerkarte Verwaltete Identität.
  2. Wählen Sie Identität wechseln aus, und wählen Sie die Identität aus, die für den Auftrag verwendet werden soll: vom System zugewiesene Identität oder vom Benutzer zugewiesene Identität.
  3. Wählen Sie für eine vom Benutzer zugewiesene Identität das Abonnement aus, in dem sich Ihre benutzerseitig zugewiesene Identität befindet, und wählen Sie den Namen der Identität aus.
  4. Überprüfen Sie Ihre Angaben, und speichern Sie sie.

Zuweisen der Berechtigung für den Zugriff auf das Zertifikat im Schlüsseltresor zum Stream Analytics-Auftrag

Damit Ihr Azure Stream Analytics-Auftrag den geheimen Schlüssel im Schlüsseltresor lesen kann, muss der Auftrag über die Berechtigung zum Zugriff auf den Schlüsseltresor verfügen. Führen Sie die folgenden Schritte aus, um Ihrem Stream Analytics-Auftrag spezielle Berechtigungen zu erteilen:

  1. Wählen Sie die Option Zugriffssteuerung (IAM) aus.

  2. Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.

  3. Weisen Sie die Rolle mit der folgenden Konfiguration zu:

Einstellung Wert
Rolle Key Vault-Geheimnisbenutzer
Verwaltete Identität Stream Analytics-Auftrag für die vom System zugewiesene verwaltete Identität oder die vom Benutzer zugewiesene verwaltete Identität
Member <Name Ihres Stream Analytics-Auftrags> oder <Name der vom Benutzer zugewiesenen Identität>

VNet-Integration

Wenn sich Ihr Kafka in einem virtuellen Netzwerk (VNET) oder hinter einer Firewall befindet, müssen Sie Ihren Azure Stream Analytics-Auftrag für den Zugriff auf Ihr Kafka-Thema konfigurieren. Weitere Informationen finden Sie unter Ausführen eines Azure Stream Analytics-Auftrags in einem virtuellen Azure-Netzwerk.

Begrenzungen

  • Wenn Sie Ihre Azure Stream Analytics-Aufträge für die Verwendung von VNET/SWIFT konfigurieren, muss Ihr Auftrag mit mindestens sechs (6) Streamingeinheiten oder einer (1) V2-Streamingeinheit konfiguriert werden.
  • Wenn Sie mTLS oder SASL_SSL mit Azure Key Vault verwenden, müssen Sie Ihren Java Key Store in das PEM-Format konvertieren.
  • Die Mindestversion von Kafka, mit der Sie Azure Stream Analytics für die Verbindung konfigurieren können, ist Version 0.10.
  • Azure Stream Analytics unterstützt keine Authentifizierung für die Confluent Cloud mit OAuth oder SAML Single Sign-On (SSO). Sie müssen den API-Schlüssel über das SASL_SSL-Protokoll verwenden.

Hinweis

Für direkte Hilfe bei der Verwendung der Azure Stream Analytics Kafka-Ausgabe wenden Sie sich bitte an askasa@microsoft.com.

Nächste Schritte