Aggiungere un'origine Apache Kafka a un flusso di eventi di Fabric

Questo articolo illustra come aggiungere un'origine Apache Kafka a un flusso di eventi Fabric.

Apache Kafka è una piattaforma open source distribuita per la creazione di sistemi dati scalabili e in tempo reale. Integrando Apache Kafka come origine all'interno del flusso di eventi, è possibile portare facilmente eventi in tempo reale da Apache Kafka ed elaborarli prima del routing a più destinazioni all'interno di Fabric.

Prerequisiti

  • Accesso all'area di lavoro Fabric con autorizzazioni di Collaboratore o superiori.

  • Un cluster Apache Kafka in esecuzione.

  • Apache Kafka deve essere accessibile pubblicamente e non essere protetto da un firewall o protetto in una rete virtuale. Se si trova in una rete protetta, connettersi utilizzando il connettore Eventstream per l'inserimento della rete virtuale.

  • Se si prevede di usare le impostazioni TLS/mTLS, assicurarsi che i certificati necessari siano disponibili in un Azure Key Vault:

    • Importare i certificati necessari in Azure Key Vault nel formato .pem.
    • L'utente che configura i dati di origine e anteprima deve avere l'autorizzazione per accedere ai certificati nel Key Vault(ad esempio, Key Vault Utente certificato o Key Vault Administrator).
    • Se l'utente corrente non dispone delle autorizzazioni necessarie, i dati non possono essere visualizzati in anteprima da questa origine in Eventstream.

Aggiungere Apache Kafka come origine

Se non è ancora stata aggiunta alcuna origine al flusso di eventi, selezionare il riquadro Connetti origini dati . È anche possibile selezionare Aggiungi origine>Connetti origini dati sulla barra multifunzione.

Screenshot che mostra la selezione del tile per usare un'origine esterna.

Se stai aggiungendo la sorgente a un flusso di eventi già pubblicato, passa alla modalità Modifica. Sulla barra multifunzione selezionare Aggiungi origine>Connetti origini dati.

Screenshot che mostra le selezioni per l'aggiunta di fonti esterne.

Nella pagina Selezione origine dati o Origini dati selezionare Apache Kafka.

Screenshot che mostra la selezione di Apache Kafka come tipo di origine nella procedura guidata Get events.

Configurare e connettersi ad Apache Kafka

  1. Nella pagina Connetti, seleziona Nuova connessione.

    Screenshot che mostra la selezione del collegamento Nuova connessione nella pagina Connetti della procedura guidata per ottenere eventi.

  2. Nella sezione Impostazioni di connessione , per Server Bootstrap, immettere uno o più indirizzi del server di bootstrap Kafka. Separare più indirizzi con virgole (,).

    Screenshot che mostra la selezione del campo del server Apache Kafka Bootstrap nella pagina Connetti della procedura guidata Recupera eventi.

  3. Nella sezione Credenziali di connessione , se si dispone di una connessione esistente al cluster Apache Kafka, selezionarla nell'elenco a discesa Connessione. Altrimenti, eseguire le seguenti operazioni:

    1. Per Nome connessione, immetti un nome per la connessione.
    2. Per Tipo di autenticazione verificare che sia selezionata la chiave API.
    3. Per Chiave e Segreto, immettere la chiave API e il segreto della chiave.

      Nota

      Se si usa solo mTLS per eseguire l'autenticazione, è possibile aggiungere qualsiasi stringa nella sezione Chiave durante la creazione della connessione.

  4. Selezionare Connetti. 

  5. Nella pagina Connetti seguire questa procedura.

    1. In Argomento immettere l'argomento Kafka.

    2. Per il Gruppo di consumer, inserisci il gruppo di consumer del tuo cluster Apache Kafka. Questo campo fornisce un gruppo di consumer dedicato per acquisire eventi.

    3. Selezionare Reimposta offset automatico per specificare dove iniziare a leggere gli offset se non è presente alcun commit.

    4. Per Protocollo di sicurezza selezionare una delle opzioni seguenti:

      • SASL_SSL: usare questa opzione quando il cluster Kafka usa l'autenticazione basata su SASL. Per impostazione predefinita, il certificato server del broker Kafka deve essere firmato da un'autorità di certificazione (CA) inclusa nell'elenco ca attendibile. Se il cluster Kafka usa una CA personalizzata, è possibile configurarla usando le impostazioni TLS/mTLS.
      • SSL (mTLS): usare questa opzione quando il cluster Kafka richiede l'autenticazione mTLS ed è necessario configurare sia un certificato ca del server personalizzato che un certificato client nelle impostazioni TLS/mTLS.
    5. Il meccanismo SASL predefinito è in genere PLAIN, a meno che non sia configurato diversamente. È possibile selezionare il meccanismo SCRAM-SHA-256 o SCRAM-SHA-512 che soddisfa i requisiti di sicurezza.

    6. Se il cluster Kafka usa una CA personalizzata o richiede mTLS, espandere le impostazioni TLS/mTLS e configurare le opzioni seguenti in base alle esigenze:

      • Certificato ca attendibile: abilitare questa opzione per configurare il certificato ca del server. Selezionare la sottoscrizione, il gruppo di risorse e l'archivio di chiavi, e specificare il nome del certificato.
      • Certificato client e chiave: abilitare questa opzione per configurare il certificato client e la chiave.
        • Usare lo stesso Key Vault per il certificato CA: selezionare questa casella di controllo quando entrambi i certificati sono archiviati nello stesso Key Vault. Specificare quindi il nome del certificato.
        • Se non si seleziona questa casella di controllo, selezionare la sottoscrizione, il gruppo di risorse e il Key Vault, e quindi fornire il nome del certificato.

      Nota

      Per le origini in una rete privata, assicurarsi che l'Azure Key Vault contenente i certificati sia collegato alla rete virtuale di Azure utilizzata dal gateway dati della rete virtuale di streaming per l'iniezione nella rete virtuale del connettore Eventstream, ad esempio tramite un endpoint privato.

    Screenshot che mostra la prima pagina delle impostazioni di connessione di Apache Kafka.

Requisiti dei certificati TLS/mTLS

Se sono state configurate le impostazioni TLS/mTLS, fare riferimento a questa sezione per le specifiche del formato del certificato e gli errori di configurazione comuni durante il caricamento in Azure Key Vault.

Catena di certificati

Certificate Dimensioni chiave Firmato da Purpose
Certificato CA RSA a 4096 bit Autofirmato Trust anchor: il broker verifica i certificati client rispetto a questa CA.
Certificato del server RSA a 2048 bit CA Identità del broker: il client verifica che il broker sia effettivamente chi dichiara di essere.
Certificato del cliente RSA a 2048 bit CA Identità client: il broker verifica che il connettore sia autorizzato.

Requisiti SAN del Certificato Server

Il certificato del server deve includere l'indirizzo IP e il nome DNS del broker nel Subject Alternative Name (SAN) per passare la verifica dell'hostname (ssl.endpoint.identification.algorithm=https):

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

Caricare i certificati in Azure Key Vault

I certificati vengono caricati come oggetti certificato Azure Key Vault nel formato PEM. Il file di bundle PEM è certificato e chiave privata concatenata in un unico file:

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

Usare un criterio di importazione che corrisponda alle proprietà della chiave:

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

Per importare il certificato, eseguire il comando seguente:

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

Errori comuni

Evitare Eseguire invece questa operazione
Carica come PKCS#12/PFX Usare il formato PEM con contentType: application/x-pem-file.
Caricare il certificato senza chiave privata Il bundle PEM deve contenere sia il certificato che la chiave.
Impostare keySize: 2048 per una chiave a 4096 bit Il keySize valore deve corrispondere alla dimensione effettiva della chiave.
Impostare issuerParameters.name: "Self" Usare "Unknown" per i certificati firmati esternamente.
Utilizzare le interruzioni di riga di Windows (CRLF) Il file PEM deve usare terminazioni di riga Unix (solo LF).

Visualizzare il flusso di eventi aggiornato

È possibile visualizzare l'origine Apache Kafka aggiunta al flusso di eventi in modalità di modifica. 

Screenshot che mostra l'origine Apache Kafka in modalità di modifica.

Dopo aver completato questi passaggi, l'origine Apache Kafka è disponibile per la visualizzazione in vista live.

Screenshot che mostra l'origine Apache Kafka nella visualizzazione live.

Nota

Per visualizzare in anteprima gli eventi di questa origine Apache Kafka, assicurarsi che la chiave usata per creare la connessione cloud disponga dell'autorizzazione di lettura per i gruppi di consumer preceduta da "preview-".

Per l'origine Apache Kafka, è possibile visualizzare in anteprima solo i messaggi in formato JSON .

Screenshot che mostra l'anteprima dei dati di origine Apache Kafka.

Altri connettori: