Streamen von Daten aus Azure Stream Analytics in Confluent Cloud
In diesem Artikel wird beschrieben, wie Sie Ihren Azure Stream Analytics-Auftrag direkt Confluent Cloud Kafka als Ausgabe verbinden.
Voraussetzungen
- Sie haben einen Confluent Cloud Kafka-Cluster.
- Sie verfügen über eine API-Schlüsseldatei für Ihren Kafka-Cluster, die den API-Schlüssel enthält, der als Benutzername verwendet werden soll, ein API-Geheimnis für die Verwendung als Kennwort und die Bootstrap-Serveradresse.
- Sie haben einen Azure Stream Analytics-Auftrag. Sie können einen Azure Stream Analytics-Auftrag erstellen, indem Sie der Dokumentation Schnellstart: Erstellen eines Stream Analytics-Auftrags mithilfe des Azure-Portals folgen.
- Ihr Confluent Cloud Kafka-Cluster muss öffentlich zugänglich sein und darf sich nicht hinter einer Firewall befinden oder in einem virtuellen Netzwerk geschützt sein.
- Sie sollten einen vorhandenen Schlüsseltresor haben. Sie können eine Schlüsseltresorressource erstellen, indem Sie der Dokumentation Schnellstart: Erstellen eines Schlüsseltresors über das Azure-Portal folgen.
Konfigurieren von Azure Stream Analytics zum Verwenden der 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.
- Klicken Sie unter Konfigurieren auf die Registerkarte Verwaltete Identität.
- Wählen Sie Identität wechseln aus, und wählen Sie die Identität aus, die für den Auftrag verwendet werden soll: systemseitig zugewiesene Identität oder benutzerseitig zugewiesene Identität.
- Wählen Sie für eine benutzerseitig zugewiesene Identität das Abonnement aus, in dem sich Ihre benutzerseitig zugewiesene Identität befindet, und wählen Sie den Namen Ihrer Identität aus.
- Überprüfen Sie Ihre Angaben, und speichern Sie sie.
Herunterladen des Zertifikats aus LetsEncrypt
Die Stream Analytics-Kafka-Ausgabe ist ein librdkafka-basierter Client. Damit die Ausgabe mit Confluent Cloud verbunden werden kann, benötigen Sie TLS-Zertifikate, die von der Confluent Cloud für die Serverauthentifizierung verwendet werden. Confluent Cloud verwendet TLS-Zertifikate von Let's Encrypt, einer offenen Zertifizierungsstelle (CA)
Laden Sie das ISRG Root X1-Zertifikat im PEM-Format auf der Website von LetsEncrypt herunter.
Konfigurieren Sie Key Vault mit Berechtigungen
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. Um das heruntergeladene Zertifikat zu verwenden, müssen Sie es zuerst in den Schlüsseltresor hochladen.
Um Zertifikate hochzuladen, müssen Sie über „Schlüsseltresoradministrator-Zugriff auf Ihren Schlüsseltresor verfügen. Führen Sie die folgenden Schritte durch, um Administratorzugriff zuzuweisen:
Hinweis
Sie benötigen Besitzer-Berechtigungen, um anderen Personen Berechtigungen für den Schlüsseltresor zuzuweisen.
Wählen Sie in Ihrem Key Vault 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 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 als Geheimnis über die Azure CLI in den Schlüsseltresor
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 und installiert 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>
Beispiel:
az account set --subscription mymicrosoftsubscription
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 des heruntergeladenen Zertifikats. Sie können mit der rechten Maustaste auf das Zertifikat 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 confluentsecret --file C:\Users\Downloads\isrgrootx1.pem
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:
Wählen Sie in Ihrem Schlüsseltresor 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 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> |
Konfigurieren der Kafka-Ausgabe in Ihrem Stream Analytics-Auftrag
Wählen Sie in Ihrem Stream Analytics-Auftrag unter Auftragstopologie die Option Eingaben aus.
Wählen Sie Ausgabe hinzufügen>Kafka aus, um das Konfigurationsblatt Neue Kafka-Ausgabe zu öffnen.
Verwenden Sie die folgende Konfiguration:
Hinweis
Für SASL_SSL und SASL_PLAINTEXT unterstützt Azure Stream Analytics nur den PLAIN SASL-Mechanismus.
Name der Eigenschaft | BESCHREIBUNG |
---|---|
Ausgabealias | Ein Anzeigename, der in Abfragen verwendet wird, um auf Ihre Eingabe zu verweisen |
Bootstrap-Serveradressen | Eine Liste der Host-/Portpaare zum Herstellen der Verbindung mit Ihrem Confluent Cloud Kafka-Cluster. Beispiel: pkc-56d1g.eastus.azure.confluent.cloud:9092 |
Kafka-Thema | Der Name Ihres Kafka-Themas in Ihrem Confluent Cloud Kafka-Cluster. |
Sicherheitsprotokoll | Wählen Sie SASL_SSL aus. Der unterstützte Mechanismus ist PLAIN. |
Ereignisserialisierungsformat | Das Serialisierungsformat (JSON, CSV, Avro, Parkett, Protobuf) des eingehenden Datenstroms. |
Partitionsschlüssel | Azure Stream Analytics weist Partitionen mithilfe der runden Partitionierung zu. Leer lassen, wenn ein Schlüssel Ihre Eingabe nicht partitioniert |
Typ der Kafka-Ereigniskomprimierung | Der Komprimierungstyp, der für ausgehende Datenströme verwendet wird, z. B. Gzip, Snappy, Lz4, Zstd oder None. |
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 Single Sign-On (SSO). Sie können sich mit einem API-Schlüssel, der über das Sicherheitsprotokoll SASL_SSL Zugriff auf Themenebene hat, mit Confluent Cloud verbinden. Um sich bei der Confluent Cloud zu authentifizieren, müssen Sie SASL_SSL verwenden und Ihren Auftrag so konfigurieren, dass er sich mit Ihrem API-Schlüssel bei Confluent Cloud authentifiziert.
Verwenden Sie die folgende Konfiguration:
Einstellung | Wert |
---|---|
Benutzername | Confluent Cloud-API-Schlüssel |
Kennwort | Confluent Cloud-API-Geheimnis |
Name des Schlüsseltresors | Name des Azure Key Vault mit hochgeladenem Zertifikat |
Truststore-Zertifikate | Name des Schlüsseltresorgeheimnisses, das das ISRG Root X1-Zertifikat enthält. |
Speichern von Konfiguration und Testverbindung
Speichern Sie Ihre Konfiguration. Ihr Azure Stream Analytics-Auftrag überprüft die bereitgestellte Konfiguration. Eine erfolgreiche Testverbindung wird im Portal angezeigt, wenn Ihr Datenstromanalyseauftrag eine Verbindung mit Ihrem Kafka-Cluster herstellen kann.
Begrenzungen
- Das Zertifikat, das Sie in den Schlüsseltresor hochladen, muss im PEM-Format vorliegen.
- Es ist mindestens Kafka Version 0.10 erforderlich.
- 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.
- Sie müssen die Azure CLI verwenden, um das Zertifikat als Geheimnis in den Schlüsseltresor hochzuladen. Sie können Zertifikate mit mehrstufigen geheimen Schlüsseln nicht mithilfe des Azure-Portals in den Schlüsseltresor hochladen.
Hinweis
Für direkte Hilfe bei der Verwendung der Azure Stream Analytics Kafka-Ausgabe wenden Sie sich bitte an askasa@microsoft.com.