Freigeben über


Streamen von Daten aus Confluent Cloud Kafka mit Azure Stream Analytics

In diesem Artikel wird beschrieben, wie Sie Ihren Azure Stream Analytics-Auftrag direkt mit Confluent Cloud Kafka als Eingabe 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.
  • Der Zeitstempeltyp des Themas Ihres Confluent Cloud Kafka-Clusters sollte LogAppendTime sein. Der Standardwert für das Confluent Cloud Kafka-Thema CreateTime.
  • 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 Stream Analytics-Auftrag so konfigurieren, dass verwaltete Identitäten verwendet werden, indem Sie auf der linken Seite unter Konfigurieren zur Registerkarte Verwaltete Identität navigieren.

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: systemseitig zugewiesene Identität oder benutzerseitig zugewiesene Identität.
  3. 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.
  4. Überprüfen Sie Ihre Angaben, und speichern Sie sie.

Herunterladen des Zertifikats aus Let's Encrypt

Azure Stream Analytics ist ein librdkafka-basierter Client, und zum Herstellen einer Verbindung mit Confluent Cloud benötigen Sie TLS-Zertifikate, die von 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.

Screenshot, der das Zertifikat zeigt, das von der Website heruntergeladen werden soll, in der die Verschlüsselung erfolgt.

Konfigurieren von Key Vault mit Berechtigungen

Azure Stream Analytics wird nahtlos in Azure Key Vault integriert, um auf gespeicherte Geheimnisse zuzugreifen, die für die Authentifizierung und Verschlüsselung erforderlich sind. 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.

  1. Wählen Sie in Ihrem Schlüsseltresor 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 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 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 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:

  1. Wählen Sie in Ihrem Schlüsseltresor 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>

Konfigurieren der Kafka-Eingabe in Ihrem Stream Analytics-Auftrag

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 das numerische Dezimalformat.

  1. Wählen Sie in Ihrem Stream Analytics-Auftrag Eingaben unter Auftragstopologie aus.

  2. Wählen Sie Eingabe hinzufügen>Kafka aus, um das Konfigurationsblatt Neue Kafka-Eingabe zu öffnen.

  3. 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
Eingabealias 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.
Consumer-Gruppe ID Der Name der Kafka-Verbrauchergruppe, zu der die Eingabe gehört. Wenn sie nicht angegeben wird, wird sie automatisch zugewiesen.
Ereignisserialisierungsformat Das Serialisierungsformat (JSON, CSV, Avro, Parkett, Protobuf) des eingehenden Datenstroms.

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 Key Vault-Geheimnisses, das das ISRG Root X1-Zertifikat enthält

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

Speichern von Konfiguration und Testverbindung

Speichern Sie Ihre Konfiguration. Ihr Azure Stream Analytics-Auftrag überprüft die bereitgestellte Konfiguration. Eine erfolgreiche Verbindung wird im Portal angezeigt, wenn Ihre Stream Analytics-Instanz eine Verbindung mit Ihrem Kafka-Cluster herstellen kann.

Screenshot der erfolgreichen Testverbindung Confluent Kafka Eingabe.

Begrenzungen

  • Das in den Schlüsseltresor hochgeladene Zertifikat muss im PEM-Format vorliegen.
  • Es ist mindestens Kafka-Version 0.10 erforderlich.
  • Azure Stream Analytics unterstützt keine Authentifizierung für 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 mehrzeiligen Geheimnissen nicht mithilfe des Azure-Portals in den Schlüsseltresor hochladen.

Hinweis

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

Nächste Schritte