Trasmettere dati da Kafka cloud confluente con Analisi di flusso di Azure
Questo articolo descrive come connettere il processo di Analisi di flusso di Azure direttamente al cloud kafka confluente come input.
Prerequisiti
- Si dispone di un cluster kafka cloud confluente.
- Si dispone di un file di chiave API per il cluster kafka che contiene la chiave API da usare come nome utente, segreto API da usare come password e l'indirizzo del server Bootstrap.
- Si dispone di un processo di Analisi di flusso di Azure. È possibile creare un processo di Analisi di flusso di Azure seguendo la documentazione: Avvio rapido: Creare un processo di Analisi di flusso usando il portale di Azure
- Il cluster kafka cloud confluente deve essere accessibile pubblicamente e non protetto da un firewall o protetto in una rete virtuale.
- Il tipo di timestamp dell'argomento del cluster kafka cloud confluente deve essere LogAppendTime. L'impostazione predefinita per l'argomento kafka cloud confluent è CreateTime.
- Dovrebbe essere disponibile un insieme di credenziali delle chiavi esistente. È possibile creare una risorsa dell'insieme di credenziali delle chiavi seguendo la documentazione Avvio rapido: Creare un insieme di credenziali delle chiavi usando il portale di Azure
Configurare Analisi di flusso di Azure per l'uso dell'identità gestita
Analisi di flusso di Azure richiede di configurare l'identità gestita per accedere all'insieme di credenziali delle chiavi. È possibile configurare il processo di analisi di flusso per l'uso dell'identità gestita passando alla scheda Identità gestita sul lato sinistro in Configura.
- Fare clic sulla scheda Identità gestita in Configura.
- Selezionare Cambia identità e selezionare l'identità da usare con il processo: identità assegnata dal sistema o identità assegnata dall'utente.
- Per identità assegnata dall'utente, selezionare la sottoscrizione in cui si trova l'identità assegnata dall'utente e selezionare il nome dell'identità.
- Rivedere e salvare.
Scaricare il certificato da LetEncrypt
Analisi di flusso di Azure è un client basato su librdkafka e per connettersi al cloud confluente, sono necessari certificati TLS usati dal cloud confluente per l'autenticazione server. Il cloud Confluent usa i certificati TLS di Let's Encrypt, un'autorità di certificazione (CA) aperta.
Scaricare il certificato ISRG Root X1 in formato PEM nel sito di LetEncrypt.
Configurare l'insieme di credenziali delle chiavi con autorizzazioni
Analisi di flusso di Azure si integra perfettamente con Azure Key Vault per accedere ai segreti archiviati necessari per l'autenticazione e la crittografia. Il processo di Analisi di flusso di Azure si connette all'insieme di credenziali delle chiavi di Azure usando l'identità gestita per garantire una connessione sicura ed evitare l'esfiltrazione dei segreti. Per usare il certificato scaricato, è prima necessario caricarlo nell'insieme di credenziali delle chiavi.
Per caricare i certificati, è necessario avere accesso "Amministratore dell'insieme di credenziali delle chiavi" all'insieme di credenziali delle chiavi. Seguire questa procedura per concedere l'accesso amministratore:
Nota
Per concedere altre autorizzazioni per l'insieme di credenziali delle chiavi, è necessario disporre delle autorizzazioni "Proprietario".
Nell'insieme di credenziali delle chiavi selezionare Controllo di accesso (IAM).
Selezionare Aggiungi>Aggiungi assegnazione di ruolo per aprire la pagina Aggiungi assegnazione di ruolo.
Assegnare il ruolo usando la configurazione seguente:
Impostazione | Valore |
---|---|
Ruolo | Amministratore Key Vault |
Assegna accesso a | Utente, gruppo o entità servizio |
Membri | <Informazioni o messaggi di posta elettronica dell'account> |
Caricare il certificato nell'insieme di credenziali delle chiavi come segreto tramite l'interfaccia della riga di comando di Azure
Importante
Per il corretto funzionamento di questo comando, è necessario disporre delle autorizzazioni di "Amministratore dell'insieme di credenziali delle chiavi" per consentire il corretto funzionamento del certificato. È necessario caricare il certificato come segreto. È necessario usare l'interfaccia della riga di comando di Azure per caricare i certificati come segreti nell'insieme di credenziali delle chiavi. Il processo di Analisi di flusso di Azure avrà esito negativo quando scade il certificato usato per l'autenticazione. Per risolvere questo problema, è necessario aggiornare/sostituire il certificato nell'insieme di credenziali delle chiavi e riavviare il processo di Analisi di flusso di Azure.
Assicurarsi che l'interfaccia della riga di comando di Azure sia configurata e installata in locale con PowerShell. È possibile visitare questa pagina per ottenere indicazioni sulla configurazione dell'interfaccia della riga di comando di Azure: Introduzione all'interfaccia della riga di comando di Azure
Accedere all'interfaccia della riga di comando di Azure:
az login
Connettersi alla sottoscrizione contenente l'insieme di credenziali delle chiavi:
az account set --subscription <subscription name>
Ad esempio:
az account set --subscription mymicrosoftsubscription
Il comando seguente può caricare il certificato come segreto nell'insieme di credenziali delle chiavi:
<your key vault>
è il nome dell'insieme di credenziali delle chiavi in cui si vuole caricare il certificato. <name of the secret>
è qualsiasi nome che si vuole assegnare al segreto e come viene visualizzato nell'insieme di credenziali delle chiavi. <file path to certificate>
è il percorso in cui si trova il certificato. È possibile fare clic con il pulsante destro del mouse e copiare il percorso del certificato.
az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>
Ad esempio:
az keyvault secret set --vault-name mykeyvault --name confluentsecret --file C:\Users\Downloads\isrgrootx1.pem
Concedere al processo di Analisi di flusso le autorizzazioni per accedere al certificato nell'insieme di credenziali delle chiavi
Per consentire al processo di Analisi di flusso di Azure di leggere il segreto nell'insieme di credenziali delle chiavi, il processo deve disporre dell'autorizzazione per accedere all'insieme di credenziali delle chiavi. Usare la procedura seguente per concedere autorizzazioni speciali al processo di analisi di flusso:
Nell'insieme di credenziali delle chiavi selezionare Controllo di accesso (IAM).
Selezionare Aggiungi>Aggiungi assegnazione di ruolo per aprire la pagina Aggiungi assegnazione di ruolo.
Assegnare il ruolo usando la configurazione seguente:
Impostazione | Valore |
---|---|
Ruolo | Utente dei segreti dell'insieme di credenziali delle chiavi |
Identità gestita | Processo di Analisi di flusso per l'identità gestita assegnata dal sistema o l'identità gestita assegnata dall'utente |
Membri | <Nome del processo> o <del nome dell'identità assegnata dall'utente> |
Configurare l'input kafka nel processo di analisi di flusso
Importante
Per configurare il cluster Kafka come input, il tipo di timestamp dell'argomento di input deve essere LogAppendTime. L'unico tipo di timestamp supportato da Analisi di flusso di Azure è LogAppendTime. Analisi di flusso di Azure supporta solo il formato decimale numerico.
Nel processo di analisi di flusso selezionare Input in Topologia processo
Selezionare Aggiungi input>Kafka per aprire il pannello Kafka Nuova configurazione di input.
Usare la configurazione seguente:
Nota
Per SASL_SSL e SASL_PLAINTEXT, Analisi di flusso di Azure supporta solo il meccanismo PLAIN SASL.
Nome proprietà | Descrizione |
---|---|
Alias di input | Nome descrittivo usato nelle query per fare riferimento all'input |
Indirizzi del server Bootstrap | Elenco di coppie host/porta per stabilire la connessione al cluster kafka cloud confluent. Esempio: pkc-56d1g.eastus.azure.confluent.cloud:9092 |
Argomento kafka | Nome dell'argomento kafka nel cluster kafka cloud confluent. |
Protocollo di sicurezza | Selezionare SASL_SSL. Il meccanismo supportato è PLAIN. |
ID gruppo di consumer | Nome del gruppo di consumer Kafka di cui deve far parte l'input. Se non specificato, verrà assegnato automaticamente. |
Formato di serializzazione eventi | Formato di serializzazione (JSON, CSV, Avro, Parquet, Protobuf) del flusso di dati in ingresso. |
Importante
Confluent Cloud supporta l'autenticazione usando chiavi API, OAuth o SAML Single Sign-On (SSO). Analisi di flusso di Azure non supporta l'autenticazione tramite OAuth o SAML Single Sign-On (SSO). È possibile connettersi al cloud confluente usando una chiave API con accesso a livello di argomento tramite il protocollo di sicurezza SASL_SSL. Per eseguire l'autenticazione nel cloud confluent, è necessario usare SASL_SSL e configurare il processo per l'autenticazione nel cloud confluente usando la chiave API.
Usare la configurazione seguente:
Impostazione | Valore |
---|---|
Username | chiave API cloud confluent |
Password | segreto dell'API cloud confluent |
Nome insieme di credenziali delle chiavi | nome dell'insieme di credenziali delle chiavi di Azure con il certificato caricato |
Certificati dell'archivio attendibilità | nome del segreto dell'insieme di credenziali delle chiavi che contiene il certificato ISRG Root X1 |
Salvare la configurazione e testare la connessione
Salvare la configurazione. Il processo di Analisi di flusso di Azure viene convalidato usando la configurazione fornita. Una connessione riuscita viene visualizzata nel portale se l'analisi di flusso può connettersi al cluster kafka.
Limiti
- Il certificato caricato nell'insieme di credenziali delle chiavi deve essere in formato PEM.
- La versione minima di kafka deve essere la 0.10.
- Analisi di flusso di Azure non supporta l'autenticazione per il cloud confluent usando OAuth o SAML Single Sign-On (SSO). È necessario usare la chiave API tramite il protocollo SASL_SSL.
- È necessario usare l'interfaccia della riga di comando di Azure per caricare il certificato come segreto nell'insieme di credenziali delle chiavi. Non è possibile caricare i certificati con segreti su più righe nell'insieme di credenziali delle chiavi usando il portale di Azure.
Nota
Per assistenza diretta sull'uso dell'input Kafka di Analisi di flusso di Azure, contattare askasa@microsoft.com.