Hinzufügen von Amazon Managed Streaming für Apache Kafka (MSK) als Quelle im Echtzeit-Hub

In diesem Artikel wird beschrieben, wie Sie Amazon Streaming für Apache Kafka (MSK) als Ereignisquelle im Fabric-Echtzeit-Hub hinzufügen.

Amazon MSK Kafka ist ein vollständig verwalteter Kafka-Dienst, der die Einrichtung, Skalierung und Verwaltung vereinfacht. Durch die Integration von Amazon MSK Kafka als Quelle in Ihren Eventstream können Sie die Echtzeitereignisse von MSK Kafka nahtlos übertragen und verarbeiten, bevor Sie sie an mehrere Ziele innerhalb von Fabric weiterleiten. 

Voraussetzungen

  • Zugriff auf einen Arbeitsbereich im Fabric-Kapazitätslizenzmodus (oder) im Testlizenzmodus mit Mitwirkenden oder höheren Berechtigungen.

  • Ein Amazon Managed Streaming for Kafka (MSK)-Cluster im aktiven Status.

  • Ihr Amazon MSK Kafka-Cluster muss öffentlich zugänglich sein und darf sich nicht hinter einer Firewall befinden oder in einem virtuellen Netzwerk geschützt sein. Wenn es sich in einem geschützten Netzwerk befindet, stellen Sie mithilfe der Eventstream Connector virtual network Injection eine Verbindung mit ihr her.

  • Wenn Sie TLS/mTLS-Einstellungen verwenden möchten, stellen Sie sicher, dass die erforderlichen Zertifikate in einem Azure Key Vault verfügbar sind:

    • Importieren Sie die erforderlichen Zertifikate im PEM-Format in Azure Key Vault.
    • Der Benutzer, der die Quell- und Vorschaudaten konfiguriert, muss über die Berechtigung zum Zugriff auf die Zertifikate im Key Vault verfügen (z. B. Key Vault-Zertifikatbenutzer oder Key Vault-Administrator).
    • Wenn der aktuelle Benutzer nicht über die erforderlichen Berechtigungen verfügt, können Daten aus dieser Quelle in Eventstream nicht in der Vorschau angezeigt werden.

Datenquellenseite

  1. Melden Sie sich bei Microsoft Fabric an.

  2. Wenn unten links auf der Seite Power BI angezeigt wird, wechseln Sie zur Fabric-Workload, indem Sie Power BI und dann Fabric auswählen.

    Screenshot: Wechseln zur Fabric-Workload

  3. Wählen Sie auf der linken Navigationsleiste Echtzeit aus.

    Screenshot: Starten der Umgebung „Mit Datenquelle verbinden“

  4. Die Streamingdatenseite wird standardmäßig geöffnet. Klicken Sie auf die Schaltfläche " Daten hinzufügen ", um zur Seite " Daten hinzufügen " zu gelangen.

    Screenshot der Seite

    Sie können auch direkt zur Seite " Daten hinzufügen " gelangen, indem Sie in der linken Navigationsleiste die Option " Daten hinzufügen " auswählen.

    Screenshot der Schaltfläche

Auswählen von Amazon MSK Kafka als Datenquellentyp

Suchen Sie auf der Seite "Datenquellen " nach Amazon MSK Kafka, und wählen Sie "Verbinden" auf der Kachel "Amazon MSK Kafka " aus.

Screenshot der Auswahl von Amazon MSK Kafka.

Konfigurieren von Amazon Managed Streaming für Apache Kafka-Quelle

  1. Wählen Sie auf der Seite Verbinden die Option Neue Verbindung aus.

    Screenshot mit der Auswahl des Links „Neue Verbindung“ auf der Seite „Verbinden“ im Assistenten zum Abrufen von Ereignissen.

  2. Geben Sie im Abschnitt "Verbindungseinstellungen " für bootstrap-Server einen oder mehrere öffentliche Kafka-Bootstrap-Serverendpunkte ein. Verwenden Sie Kommas (,), um mehrere Server zu trennen. Screenshot der Auswahl des Bootstrap-Serverfelds auf der Verbinden-Seite des Assistenten zum Abrufen von Ereignissen.

    So rufen Sie den öffentlichen Endpunkt ab:

    Screenshot des öffentlichen Endpunkts von Amazon Managed Streaming für Apache Kafka (MSK)-Cluster.

  3. Wählen Sie im Abschnitt "Verbindungsanmeldeinformationen " eine vorhandene Verbindung mit dem Amazon MSK Kafka-Cluster aus der Dropdownliste für "Connection" aus. Führen Sie andernfalls die folgenden Schritte aus:

    1. Geben Sie für Verbindungsname einen Namen für die Verbindung ein.
    2. Vergewissern Sie sich bei der Authentifizierungsart, dass der API-Schlüssel ausgewählt ist.
    3. Geben Sie für Schlüssel und geheimenSchlüssel den API-Schlüssel und den Schlüsselschlüssel für Amazon MSK Kafka-Cluster ein.

      Hinweis

      Wenn Sie mTLS nur zum Ausführen der Authentifizierung verwenden, können Sie während der Verbindungserstellung eine beliebige Zeichenfolge im Abschnitt "Schlüssel" hinzufügen.

  4. Wählen Sie Verbinden. 

  5. Führen Sie nun auf der Seite Verbinden die folgenden Schritte aus.

    1. Geben Sie für Thema das Thema Kafka ein.

    2. Geben Sie für Consumer group die Consumer-Gruppe Ihres Kafka-Clusters ein. Dieses Feld bietet Ihnen eine dedizierte Verbrauchergruppe zum Abrufen von Ereignissen.

    3. Wählen Sie Automatischen Offset zurücksetzen, um anzugeben, wo mit der Offset-Lesung begonnen werden soll, falls kein Commit vorliegt.

    4. Wählen Sie für das Sicherheitsprotokoll eine der folgenden Optionen aus:

      • SASL_SSL: Verwenden Sie diese Option, wenn Ihr Kafka-Cluster SASL-basierte Authentifizierung verwendet. Standardmäßig muss das Serverzertifikat des Kafka-Brokers von einer Zertifizierungsstelle (Ca) signiert werden, die in der Liste der vertrauenswürdigen Zertifizierungsstellen enthalten ist. Wenn Ihr Kafka-Cluster eine benutzerdefinierte Zertifizierungsstelle verwendet, können Sie diese mithilfe von TLS/mTLS-Einstellungen konfigurieren.
      • SSL (mTLS):Verwenden Sie diese Option, wenn Ihr Kafka-Cluster MTLS-Authentifizierung erfordert, und Sie müssen sowohl ein benutzerdefiniertes Server-Zertifizierungsstellenzertifikat als auch ein Clientzertifikat in den TLS/mTLS-Einstellungen konfigurieren.
    5. Der STANDARDMÄßIGe SASL-Mechanismus ist SCRAM-SHA-512 und kann nicht geändert werden.

    6. Wenn Ihr Kafka-Cluster eine benutzerdefinierte Zertifizierungsstelle verwendet oder mTLS erfordert, erweitern Sie TLS/mTLS-Einstellungen , und konfigurieren Sie die folgenden Optionen nach Bedarf:

      • Server-CA-Zertifikat vertrauen: Aktivieren Sie diese Option, um das Server-CA-Zertifikat zu konfigurieren. Wählen Sie Ihr Abonnement, die Ressourcengruppe und den Key Vault aus, und geben Sie dann den Zertifikatnamen an.
      • Clientzertifikat und Schlüssel: Aktivieren Sie diese Option, um das Clientzertifikat und den Schlüssel zu konfigurieren.
        • Verwenden Sie denselben Zertifikatschlüsseltresor der Zertifizierungsstelle: Aktivieren Sie dieses Kontrollkästchen, wenn beide Zertifikate im selben Schlüsseltresor gespeichert sind. Geben Sie dann den Zertifikatnamen an.
        • Wenn Sie dieses Kontrollkästchen nicht aktivieren, aktivieren Sie das Abonnement, die Ressourcengruppe und den Schlüsseltresor, und geben Sie dann den Zertifikatnamen an.

      Hinweis

      Stellen Sie für Quellen in einem privaten Netzwerk sicher, dass der Azure Key Vault, der Ihre Zertifikate enthält, mit dem Azure-Virtualnetzwerk verbunden ist, das vom Streaming-Virtualnetzwerk-Datengateway für die Netzwerk-Injektion des Ereignisstrom-Steckverbinders genutzt wird (z. B. über einen privaten Endpunkt).

    Screenshot der ersten Seite der Amazon MSK Kafka-Verbindungseinstellungen.

TLS/mTLS-Zertifikatanforderungen

Wenn Sie TLS/mTLS-Einstellungen konfiguriert haben, lesen Sie diesen Abschnitt für Zertifikatformatspezifikationen und häufige Konfigurationsfehler beim Hochladen auf Azure Key Vault.

Zertifikatkette

Certificate Schlüsselgröße Unterzeichnet von Purpose
CA-Zertifikat 4096-Bit-RSA Selbstsigniert Vertrauensanker: Der Broker überprüft Clientzertifikate an dieser Zertifizierungsstelle.
Serverzertifikat 2048-Bit-RSA CA Brokeridentität – der Kunde verifiziert, dass der Broker die Identität hat, die er behauptet.
Clientzertifikat 2048-Bit-RSA CA Clientidentität – der Broker überprüft, ob der Connector autorisiert ist.

Serverzertifikat-SAN-Anforderungen

Das Serverzertifikat muss die IP-Adresse und den DNS-Namen des Brokers im erweiterten Alternativnamen (SAN) einschließen, um die Hostnamenüberprüfung zu bestehen (ssl.endpoint.identification.algorithm=https):

subjectAltName:
  DNS.1 = {broker FQDN}
  DNS.2 = localhost
  IP.1  = {broker public IP}
  IP.2  = 127.0.0.1

Hochladen von Zertifikaten auf Azure Key Vault

Zertifikate werden als Azure Key Vault Zertifikatobjekte im PEM-Format hochgeladen. Die PEM-Bundledatei ist Zertifikat + privater Schlüssel in einer Datei verkettet:

-----BEGIN CERTIFICATE-----
MIIExjCCA...
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIB...
-----END RSA PRIVATE KEY-----

Verwenden Sie eine Importrichtlinie , die den wichtigsten Eigenschaften entspricht:

{
  "secretProperties": {
    "contentType": "application/x-pem-file"
  },
  "keyProperties": {
    "exportable": true,
    "keyType": "RSA",
    "keySize": 4096,
    "reuseKey": false
  },
  "issuerParameters": {
    "name": "Unknown"
  }
}

Importieren Sie das Zertifikat mithilfe des folgenden Befehls:

az keyvault certificate import \
  --vault-name {kvName} \
  --name {certName} \
  --file {pemBundleFile} \
  --policy @{policyFile}

Häufige Fehler

Vermeiden Gehen Sie stattdessen wie folgt vor:
Als PKCS#12/PFX hochladen Verwenden Sie das PEM-Format mit contentType: application/x-pem-file.
Hochladen eines Zertifikats ohne privaten Schlüssel Das PEM-Bundle muss sowohl das Zertifikat als auch den Schlüssel enthalten.
Festlegen keySize: 2048 für einen 4096-Bit-Schlüssel Der keySize Wert muss mit der tatsächlichen Schlüsselgröße übereinstimmen.
Legen Sie issuerParameters.name: "Self" fest. Verwenden Sie "Unknown" für extern signierte Zertifikate.
Verwenden Sie Zeilenenden im Windows-Format (CRLF) Die PEM-Datei muss Unix-Zeilenenden (nur LF) verwenden.

Datenstrom-Details anzeigen

  1. Wenn Sie auf der Seite Überprüfen und verbindenEventstream öffnen auswählen, öffnet der Assistent den Eventstream, den er für Sie mit Amazon Managed Streaming für Apache Kafka als Quelle erstellt hat. Um den Assistenten zu schließen, wählen Sie unten auf der Seite Schließen.
  2. Sie sollten den Stream im Abschnitt "Aktuelle Streamingdaten" der Startseite desReal-Time-Hubs sehen. Detaillierte Schritte finden Sie unter Details von Datenströmen im Fabric-Echtzeithub anzeigen.

Weitere Informationen zum Thema Konsumieren von Datenströmen finden Sie in den folgenden Artikeln: