Dela via


Strömma data från Confluent Cloud Kafka med Azure Stream Analytics

Den här artikeln beskriver hur du ansluter ditt Azure Stream Analytics-jobb direkt till confluent cloud kafka som indata.

Förutsättningar

  • Du har ett confluent cloud kafka-kluster.
  • Du har en API-nyckelfil för ditt kafka-kluster som innehåller API-nyckeln som ska användas som användarnamn, API Secret som ska användas som lösenord och Bootstrap-serveradressen.
  • Du har ett Azure Stream Analytics-jobb. Du kan skapa ett Azure Stream Analytics-jobb genom att följa dokumentationen: Snabbstart: Skapa ett Stream Analytics-jobb med hjälp av Azure-portalen
  • Ditt confluent cloud kafka-kluster måste vara offentligt tillgängligt och inte bakom en brandvägg eller skyddas i ett virtuellt nätverk.
  • Tidsstämpeltypen för ämnet för ditt confluent cloud kafka-kluster ska vara LogAppendTime. Standardinställningen för confluent cloud kafka-ämnet är CreateTime.
  • Du bör ha ett befintligt nyckelvalv. Du kan skapa en nyckelvalvsresurs genom att följa dokumentationen Snabbstart: Skapa ett nyckelvalv med Hjälp av Azure-portalen

Konfigurera Azure Stream Analytics för att använda hanterad identitet

Azure Stream Analytics kräver att du konfigurerar hanterad identitet för åtkomst till nyckelvalvet. Du kan konfigurera stream analytics-jobbet så att det använder hanterad identitet genom att gå till fliken Hanterad identitet till vänster under Konfigurera.

Skärmbild som visar hur du konfigurerar hanterad identitet för ett ASA-jobb.

  1. Klicka på fliken hanterad identitet under Konfigurera.
  2. Välj växla identitet och välj den identitet som ska användas med jobbet: systemtilldelad identitet eller användartilldelad identitet.
  3. För användartilldelad identitet väljer du den prenumeration där din användartilldelade identitet finns och väljer namnet på din identitet.
  4. Granska och spara.

Ladda ned certifikat från LetsEncrypt

Azure Stream Analytics är en librdkafka-baserad klient och för att ansluta till confluent-molnet behöver du TLS-certifikat som confluent-molnet använder för serverautentisering. Confluent-molnet använder TLS-certifikat från Let's Encrypt, en öppen certifikatutfärdare (CA).

Ladda ned ISRG Root X1-certifikatet i PEM-format på platsen för LetsEncrypt.

Skärmbild som visar certifikatet som ska laddas ned från webbplatsen för lets encrypt.

Konfigurera Nyckelvalv med behörigheter

Azure Stream Analytics integreras sömlöst med Azure Key Vault för att få åtkomst till lagrade hemligheter som behövs för autentisering och kryptering. Ditt Azure Stream Analytics-jobb ansluter till ditt Azure Key Vault med hanterad identitet för att säkerställa en säker anslutning och undvika exfiltrering av hemligheter. Om du vill använda certifikatet som du laddade ned måste du ladda upp det till nyckelvalvet först.

Om du vill ladda upp certifikat måste du ha "Key Vault-administratör" åtkomst till ditt Nyckelvalv. Följ följande för att ge administratörsåtkomst:

Kommentar

Du måste ha behörigheten "Ägare" för att bevilja andra behörigheter för nyckelvalvet.

  1. Välj Åtkomstkontroll (IAM) i nyckelvalvet.

  2. Välj Lägg till>rolltilldelning för att öppna sidan Lägg till rolltilldelning.

  3. Tilldela rollen med hjälp av följande konfiguration:

Inställning Värde
Roll Key Vault-administratör
Tilldela åtkomst till Användaren, gruppen eller tjänstens huvudnamn
Medlemmar <Din kontoinformation eller e-post>

Ladda upp certifikat till Key Vault som en hemlighet via Azure CLI

Viktigt!

Du måste ha behörigheten "Key Vault-administratör" för att det här kommandot ska fungera korrekt. Du måste ladda upp certifikatet som en hemlighet. Du måste använda Azure CLI för att ladda upp certifikat som hemligheter till ditt nyckelvalv. Ditt Azure Stream Analytics-jobb misslyckas när certifikatet som används för autentisering upphör att gälla. För att lösa detta måste du uppdatera/ersätta certifikatet i nyckelvalvet och starta om Azure Stream Analytics-jobbet.

Kontrollera att Azure CLI har konfigurerats och installerats lokalt med PowerShell. Du kan besöka den här sidan för att få vägledning om hur du konfigurerar Azure CLI: Kom igång med Azure CLI

Logga in på Azure CLI:

az login

Anslut till din prenumeration som innehåller ditt nyckelvalv:

az account set --subscription <subscription name>

Till exempel:

az account set --subscription mymicrosoftsubscription

Följande kommando kan ladda upp certifikatet som en hemlighet till ditt nyckelvalv:

<your key vault> är namnet på nyckelvalvet som du vill ladda upp certifikatet till. <name of the secret> är ett namn som du vill ge din hemlighet och hur den visas i nyckelvalvet. <file path to certificate> är sökvägen till där certifikatet ditt certifikat finns. Du kan högerklicka och kopiera sökvägen till certifikatet.

az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>

Till exempel:

az keyvault secret set --vault-name mykeyvault --name confluentsecret --file C:\Users\Downloads\isrgrootx1.pem

Ge Stream Analytics-jobbet behörighet att komma åt certifikatet i nyckelvalvet

För att ditt Azure Stream Analytics-jobb ska kunna läsa hemligheten i nyckelvalvet måste jobbet ha behörighet att komma åt nyckelvalvet. Använd följande steg för att bevilja särskilda behörigheter till ditt stream analytics-jobb:

  1. Välj Åtkomstkontroll (IAM) i nyckelvalvet.

  2. Välj Lägg till>rolltilldelning för att öppna sidan Lägg till rolltilldelning.

  3. Tilldela rollen med hjälp av följande konfiguration:

Inställning Värde
Roll Nyckelvalvshemlighetsanvändare
Hanterad identitet Stream Analytics-jobb för systemtilldelad hanterad identitet eller användartilldelad hanterad identitet
Medlemmar <Namnet på ditt Stream Analytics-jobb> eller <namnet på den användartilldelade identiteten>

Konfigurera kafka-indata i ditt stream analytics-jobb

Viktigt!

För att konfigurera kafka-klustret som indata ska tidsstämpeltypen för indataavsnittet vara LogAppendTime. Den enda tidsstämpeltyp som Azure Stream Analytics stöder är LogAppendTime. Azure Stream Analytics stöder endast numeriskt decimalformat.

  1. I stream analytics-jobbet väljer du Indata under Jobbtopologi

  2. Välj Lägg till indata>Kafka för att öppna bladet Kafka Ny indatakonfiguration.

  3. Använd följande konfiguration:

Kommentar

För SASL_SSL och SASL_PLAINTEXT stöder Azure Stream Analytics endast PLAIN SASL-mekanism.

Egenskapsnamn beskrivning
Indataalias Ett eget namn som används i frågor för att referera till dina indata
Bootstrap-serveradresser En lista över värd-/portpar för att upprätta anslutningen till ditt confluent cloud kafka-kluster. Exempel: pkc-56d1g.eastus.azure.confluent.cloud:9092
Kafka-ämne Namnet på ditt kafka-ämne i ditt confluent cloud kafka-kluster.
Säkerhetsprotokoll Välj SASL_SSL. Den mekanism som stöds är PLAIN.
Konsumentgrupp-ID Namnet på den Kafka-konsumentgrupp som indata ska ingå i. Den tilldelas automatiskt om den inte tillhandahålls.
Format för händelseserierering Serialiseringsformatet (JSON, CSV, Avro, Parquet, Protobuf) för inkommande dataström.

Viktigt!

Confluent Cloud stöder autentisering med api-nycklar, OAuth eller enkel inloggning med SAML (SSO). Azure Stream Analytics stöder inte autentisering med enkel inloggning med OAuth eller SAML (SSO). Du kan ansluta till confluent-molnet med hjälp av en API-nyckel som har åtkomst på ämnesnivå via SASL_SSL säkerhetsprotokoll. För att autentisera till confluent-molnet måste du använda SASL_SSL och konfigurera ditt jobb för att autentisera till confluent-molnet med hjälp av din API-nyckel.

Använd följande konfiguration:

Inställning Värde
Username confluent cloud API-nyckel
Lösenord confluent-moln-API-hemlighet
Namn på nyckelvalv namn på Azure Key Vault med uppladdat certifikat
Truststore-certifikat namn på key vault-hemligheten som innehåller ISRG Root X1-certifikatet

Skärmbild som visar hur du konfigurerar kafka-indata för ett stream analytics-jobb.

Spara konfiguration och testanslutning

Spara konfigurationen. Ditt Azure Stream Analytics-jobb verifierar med hjälp av den angivna konfigurationen. En lyckad anslutning visas i portalen om dataströmanalysen kan ansluta till kafka-klustret.

Skärmbild som visar lyckade indata för testanslutningen confluent kafka.

Begränsningar

  • Certifikatet som laddas upp till nyckelvalvet måste vara PEM-format.
  • Den lägsta versionen av kafka måste vara version 0.10.
  • Azure Stream Analytics stöder inte autentisering till confluent-molnet med hjälp av enkel inloggning med OAuth eller SAML (SSO). Du måste använda API-nyckeln via SASL_SSL-protokollet.
  • Du måste använda Azure CLI för att ladda upp certifikatet som en hemlighet till nyckelvalvet. Du kan inte ladda upp certifikat med flera hemligheter till nyckelvalvet med hjälp av Azure-portalen.

Kommentar

Om du vill ha direkt hjälp med att använda Azure Stream Analytics Kafka-indata kan du kontakta askasa@microsoft.com.

Nästa steg