Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Apache Kafka ist eine Open-Source-Streaming-Plattform, die Apps nutzen, um Datenströme zu veröffentlichen und zu abonnieren, sobald sie entstehen. Es wird häufig für Messaging, Website-Aktivitätsverfolgung, Metriken, Log-Aggregation und Stream-Verarbeitung verwendet.
Wenn Ihre Daten durch Kafka-Cluster fließen, können Sie Azure Stream Analytics direkt mit diesen Clustern verbinden, um diese Daten einzulesen und zu verarbeiten, ohne einen eigenen Konsumenten erstellen zu müssen. Die Kafka-Eingabe ist Low-Code, wird vollständig von Microsoft verwaltet, um die Complianceanforderungen von Unternehmen zu erfüllen, und ist abwärtskompatibel mit Client-Versionen ab 0.10. Sie können sich mit Kafka-Clustern innerhalb eines virtuellen Netzwerks oder mit einem öffentlichen Endpunkt verbinden, indem Sie bestehende Kafka-Konfigurationskonventionen verwenden. Unterstützte Komprimierungstypen sind None, Gzip, Snappy, LZ4 und Zstd.
Dieser Artikel zeigt Ihnen, wie Sie einen Kafka-Cluster als Eingabequelle für einen Azure Stream Analytics-Job konfigurieren.
Kafka als Eingangsquelle einrichten
In diesem Artikel wird gezeigt, wie Sie Kafka als Eingabequelle für Azure Stream Analytics einrichten. Es behandelt die folgenden Schritte:
- Erstellen Sie einen Azure Stream Analytics-Auftrag.
- Konfigurieren Sie Ihren Azure Stream Analytics-Auftrag für die Verwendung einer verwalteten Identität, wenn Sie die Sicherheitsprotokolle mTLS oder SASL_SSL verwenden.
- Konfigurieren Sie Azure Key Vault, wenn Sie mTLS oder SASL_SSL Sicherheitsprotokolle verwenden.
- Lade Zertifikate als Geheimnisse in Azure Key Vault hoch.
- Erteilen Sie Azure Stream Analytics Berechtigungen für den Zugriff auf das hochgeladene Zertifikat.
- Konfigurieren Sie die Kafka-Eingabe in Ihrem Azure Stream Analytics-Auftrag.
Hinweis
Je nachdem, wie Ihr Kafka-Cluster konfiguriert ist und welche Art von Kafka-Cluster Sie verwenden, gelten einige dieser Schritte möglicherweise nicht für Sie. Wenn Sie zum Beispiel Confluent Cloud Kafka verwenden, müssen Sie kein Zertifikat hochladen, um den Kafka-Connector zu verwenden. Wenn Ihr Kafka-Cluster sich in einem virtuellen Netzwerk (VNet) oder hinter einer Firewall befindet, müssen Sie möglicherweise Ihren Azure Stream Analytics-Job so konfigurieren, dass er über eine private Verbindung oder eine dedizierte Netzwerkkonfiguration auf Ihr Kafka-Thema zugriff.
Konfigurieren Sie den Kafka-Eingang
Konfigurieren Sie die Kafka-Eingabe so, dass Ihr Azure Stream Analytics-Job eine Verbindung mit Ihrem Kafka-Cluster herstellen und aus einem Topic lesen kann.
Wichtig
Um Ihren Kafka-Cluster als Eingabe zu konfigurieren, sollte der Zeitstempeltyp des Eingabethemas LogAppendTime sein. Der einzige Zeitstempeltyp, den Azure Stream Analytics unterstützt, ist LogAppendTime. Azure Stream Analytics unterstützt nur numerisches Dezimalformat.
Füge in deinem Azure Stream Analytics-Job einen Kafka-Input hinzu.
Legen Sie die einzelnen Eingabeeigenschaften anhand der in der folgenden Tabelle beschriebenen Werte fest:
Name der Eigenschaft Beschreibung Eingabe-/Ausgabealias Ein freundlicher Name, der in Abfragen verwendet wird, um auf deine Eingabe oder Ausgabe zu verweisen. Bootstrap-Serveradressen Eine Liste von Host/Port-Paaren, die mit dem Kafka-Cluster verbunden werden können. Kafka-Thema Ein benannter, geordneter und partitionierter Datenstrom, der die Publish-Subscribe- und ereignisgesteuerte Verarbeitung von Nachrichten unterstützt. Sicherheitsprotokoll Wie Sie eine Verbindung mit Ihrem Kafka-Cluster herstellen möchten. Azure Stream Analytics unterstützt mTLS, SASL_SSL, SASL_PLAINTEXT oder „None“. Konsumentengruppen-ID Der Name der Kafka-Consumer-Gruppe, Teil derer die Eingabe sein sollte. Azure Stream Analytics weist automatisch eine zu, wenn Sie keine angeben. Ereignisserialisierungsformat Das Serialisierungsformat (JSON, CSV, Avro, Parquet und Protobuf) des eingehenden Datenstroms. Speichere die Eingabekonfiguration.
Authentifizierung und Verschlüsselung einrichten
Richten Sie Authentifizierung und Verschlüsselung ein, um die Verbindung zwischen Ihrem Azure Stream Analytics-Job und Ihrem Kafka-Cluster zu sichern. Für ein Schritt-für-Schritt-Tutorial zur Verbindung mit Confluent Cloud Kafka siehe Stream-Daten von Confluent Cloud Kafka mit Azure Stream Analytics für Eingaben und Stream-Daten von Azure Stream Analytics in Confluent Cloud für Ausgabe.
Wichtig
Confluent Cloud unterstützt die Authentifizierung durch API-Schlüssel, 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 sich mit einem API-Schlüssel mit thematischem Zugriff über das SASL_SSL Sicherheitsprotokoll mit Confluent Cloud verbinden.
Wählen Sie eines der vier unterstützten Sicherheitsprotokolle, das zu Ihrem Kafka-Cluster passt, wie in der folgenden Tabelle beschrieben:
Name der Eigenschaft Beschreibung mTLS Verschlüsselung und Authentifizierung. Unterstützt PLAIN-, SCRAM-SHA-256- und SCRAM-SHA-512-Sicherheitsmechanismen. SASL_SSL Kombiniert zwei verschiedene Sicherheitsmechanismen, SASL (Simple Authentication and Security Layer) und Secure Sockets Layer (SSL), um sicherzustellen, dass sowohl Authentifizierung als auch 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 Standard-Authentifizierung mit Benutzername, aber ohne Verschlüsselung. Keine Keine Authentifizierung und Verschlüsselung. Konfigurieren Sie die Zugangsdaten für das ausgewählte Protokoll in Ihrem Azure Stream Analytics-Job.
Integrieren mit Azure Key Vault
Azure Stream Analytics integriert sich mit Azure Key Vault, um auf gespeicherte Geheimnisse zuzugreifen, die für Authentifizierung und Verschlüsselung benötigt werden, wenn Sie mTLS oder SASL_SSL Sicherheitsprotokolle verwenden. Ihr Azure Stream Analytics-Job verbindet sich mit Ihrem Azure Key Vault, indem er eine verwaltete Identität verwendet, um eine sichere Verbindung sicherzustellen und das Herausfiltern von Geheimnissen zu vermeiden. Zertifikate werden als Geheimnisse im Schlüsseltresor gespeichert und müssen im PEM-Format vorliegen. Um Ihren Azure Stream Analytics-Job mit Azure Key Vault zu integrieren, erledigen Sie die folgenden Aufgaben, die in den folgenden Abschnitten im Detail beschrieben werden.
Hinweis
Wenn Sie Truststore-Zertifikate mit mTLS oder SASL_SSL Sicherheitsprotokollen verwenden, müssen Sie Azure Key Vault und verwaltete Identität für Ihre Azure Stream Analytics Aufgabe konfiguriert haben. Überprüfen Sie die Netzwerkeinstellungen Ihres Schlüsseltresors, um sicherzustellen, dass Öffentlichen Zugriff aus allen Netzwerken zulassen ausgewählt ist. Wenn Ihr Key Vault in einem VNet ist oder nur Zugriff aus bestimmten Netzwerken erlaubt, müssen Sie Ihren Azure Stream Analytics-Job in ein VNet mit dem Key Vault injizieren oder Ihren Azure Stream Analytics-Job in ein VNet einfügen und dann Ihren Key Vault mit dem VNet-Job verbinden, indem Sie Service-Endpunkte verwenden.
- Konfigurieren Sie den Schlüsseltresor mit den erforderlichen Berechtigungen.
- Lade dein Zertifikat als Geheimnis in den Key Vault hoch.
- Konfigurieren Sie die verwaltete Identität für Ihren Azure Stream Analytics-Job.
- Erteile deinem Stream Analytics-Job die Erlaubnis, auf das Zertifikat im Key Vault zuzugreifen.
Konfigurieren Sie die Berechtigungen für den Schlüsseltresor
Um eine Schlüsselvault-Ressource zu erstellen, siehe Quickstart: Erstellen Sie einen Schlüsselvault mit dem Azure-Portal. Sie benötigen Key Vault Administrator-Zugriff auf Ihren Key Vault, um Zertifikate hochzuladen. Um Administratorzugriff zu gewähren, folgen Sie diesen Schritten:
Hinweis
Du brauchst Eigentümer-Berechtigungen , um andere Schlüsseltresor-Berechtigungen zu erteilen.
Wählen Sie die Option Zugriffssteuerung (IAM) aus.
Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.
Weisen Sie die Rolle mit folgender Konfiguration zu:
Einstellung Wert Rolle Key Vault-Administrator Zugriff zuweisen zu Benutzer, Gruppe oder Dienstprinzipal Mitglieder <Ihre Kontoinformationen oder E-Mail>
Laden Sie das Zertifikat in den Key Vault hoch
Stellen Sie sicher, dass Sie Azure CLI lokal mit PowerShell konfiguriert haben. Für Hinweise zur Einrichtung der Azure CLI siehe Get start with Azure CLI.
Mit den folgenden Schritten wird das Zertifikat als Geheimnis in Ihren Schlüsseltresor hochgeladen.
Wichtig
Du musst Key Vault Administrator-Rechte für deinen Key Vault haben, damit dieser Befehl richtig funktioniert. Du musst 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-Job schlägt fehl, wenn das für die Authentifizierung verwendete Zertifikat abläuft. Um dieses Problem zu lösen, aktualisieren oder ersetzen Sie das Zertifikat in Ihrem Key Vault und starten Sie Ihren Azure Stream Analytics-Job neu.
Melden Sie sich bei Azure CLI an.
az loginVerbinden Sie sich mit dem Abonnement, das Ihren Schlüsseltresor enthält.
az account set --subscription <subscription name>Lade das Zertifikat geheim hoch. Ersetzen Sie
<your key vault>durch den Namen des Schlüsseltresors,<name of the secret>durch einen beliebigen Namen Ihrer Wahl für das Geheimnis und<file path to certificate>durch den Pfad zu Ihrer Zertifikatsdatei. 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 benötigt eine verwaltete Identität, um auf den Key Vault zugreifen zu können. Konfigurieren Sie Ihren Azure Stream Analytics-Job für die Verwendung von Managed Identity, indem Sie unter Configure die Registerkarte Managed Identity öffnen.
Um die verwaltete Identität zu konfigurieren, folgen Sie diesen Schritten:
Wählen Sie unter Konfigurieren den Reiter Verwaltete Identität aus.
Wählen Sie „Switch Identity“ aus, und wählen Sie die Identität aus, die für den Auftrag verwendet werden soll: die systemseitig zugewiesene Identität oder die benutzerseitig zugewiesene Identität.
Für benutzerzugewiesene Identität wählen Sie das Abonnement, in dem sich Ihre benutzerzugewiesene Identität befindet, und wählen Sie den Namen Ihrer Identität aus.
Prüfen und Speichern auswählen.
Erteile den Stream Analytics Jobberechtigungen, um auf das Zertifikat zuzugreifen
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.
Um Berechtigungen für Ihren Stream Analytics-Job zu erteilen, folgen Sie diesen Schritten:
Wählen Sie die Option Zugriffssteuerung (IAM) aus.
Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.
Weisen Sie die Rolle mit folgender Konfiguration zu:
Einstellung Wert Rolle Key Vault Secrets-Benutzer Verwaltete Identität Stream Analytics-Auftrag für die vom System zugewiesene verwaltete Identität oder die vom Benutzer zugewiesene verwaltete Identität Mitglieder <Name Ihres Stream Analytics-Auftrags> oder <Name der vom Benutzer zugewiesenen Identität>
Einschränkungen bei der Kafka-Eingabe und zu beachtende Aspekte
Wenn Ihr Kafka-Cluster in einem virtuellen Netzwerk oder hinter einer Firewall liegt, konfigurieren Sie Ihren Azure Stream Analytics-Job so, dass er über eine private Verbindung oder eine dedizierte Netzwerkkonfiguration auf Ihr Kafka-Thema zugreifen kann. Weitere Informationen finden Sie unter Run your Azure Stream Analytics job in an Azure Virtual Network.
Beachten Sie die folgenden Einschränkungen, wenn Sie Kafka als Eingangsquelle verwenden:
- Wenn Sie Ihren Azure Stream Analytics-Job so konfigurieren, dass er Virtual Network/SWIFT verwendet, konfigurieren Sie den Job mit mindestens sechs Streaming-Einheiten oder einer V2-Streaming-Einheit.
- Wenn Sie mTLS oder SASL_SSL mit Azure Key Vault verwenden, müssen Sie Ihren Java Key Store in PEM-Format umwandeln.
- Die Mindestversion von Kafka, mit der Azure Stream Analytics verbunden werden kann, ist Version 0.10.
- Azure Stream Analytics unterstützt keine Authentifizierung auf Confluent Cloud durch OAuth oder SAML Single Sign-on (SSO). Sie müssen einen API-Schlüssel über das SASL_SSL-Protokoll verwenden.
Für direkte Hilfe beim Azure Stream Analytics Kafka-Input wenden Sie sich bitte an askasa@microsoft.com.