Dela via


Strömma data från Kafka till Azure Stream Analytics (förhandsversion)

Kafka är en distribuerad strömningsplattform som används för att publicera och prenumerera på strömmar av poster. Kafka är utformat för att dina appar ska kunna bearbeta poster när de inträffar. Det är ett system med öppen källkod som utvecklats av Apache Software Foundation och skrivits i Java och Scala.

Följande är de viktigaste användningsfallen:

  • Meddelandetjänster
  • Spårning av webbplatsaktivitet
  • Mått
  • Loggsammanfattning
  • Dataströmbearbetning

Med Azure Stream Analytics kan du ansluta direkt till Kafka-kluster för att mata in data. Lösningen är låg kod och hanteras helt av Azure Stream Analytics-teamet på Microsoft, vilket gör att den kan uppfylla standarder för affärsefterlevnad. ASA Kafka-indata är bakåtkompatibla och stöder alla versioner med den senaste klientversionen från version 0.10. Användare kan ansluta till Kafka-kluster i ett VNET- och Kafka-kluster med en offentlig slutpunkt, beroende på konfigurationerna. Konfigurationen förlitar sig på befintliga Kafka-konfigurationskonventioner. Komprimeringstyper som stöds är None, Gzip, Snappy, LZ4 och Zstd.

Steg

Den här artikeln visar hur du konfigurerar Kafka som indatakälla för Azure Stream Analytics. Det finns sex steg:

  1. Skapa ett Azure Stream Analytics-jobb.
  2. Konfigurera ditt Azure Stream Analytics-jobb så att det använder hanterad identitet om du använder mTLS eller SASL_SSL säkerhetsprotokoll.
  3. Konfigurera Azure Key Vault om du använder mTLS eller SASL_SSL säkerhetsprotokoll.
  4. Ladda upp certifikat som hemligheter till Azure Key Vault.
  5. Ge Azure Stream Analytics behörighet att komma åt det uppladdade certifikatet.
  6. Konfigurera Kafka-indata i ditt Azure Stream Analytics-jobb.

Kommentar

Beroende på hur kafka-klustret har konfigurerats och vilken typ av Kafka-kluster du använder kanske vissa av stegen ovan inte gäller för dig. Exempel är: om du använder confluent Cloud Kafka behöver du inte ladda upp ett certifikat för att använda Kafka-anslutningsappen. Om ditt Kafka-kluster finns i ett virtuellt nätverk (VNET) eller bakom en brandvägg kan du behöva konfigurera ditt Azure Stream Analytics-jobb för att få åtkomst till ditt Kafka-ämne med hjälp av en privat länk eller en dedikerad nätverkskonfiguration.

Konfiguration

I följande tabell visas egenskapsnamnen och deras beskrivning för att skapa en Kafka-indata:

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.

Egenskapsnamn beskrivning
Indata-/utdataalias Ett eget namn som används i frågor för att referera till dina indata eller utdata
Bootstrap-serveradresser En lista över värd-/portpar för att upprätta anslutningen till Kafka-klustret.
Kafka-ämne En namngiven, ordnad och partitionerad dataström som möjliggör publiceringsprenumerering och händelsedriven bearbetning av meddelanden.
Säkerhetsprotokoll Så här vill du ansluta till ditt Kafka-kluster. Azure Stream Analytics stöder mTLS, SASL_SSL, SASL_PLAINTEXT eller None.
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.

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

Autentisering och kryptering

Du kan använda fyra typer av säkerhetsprotokoll för att ansluta till dina Kafka-kluster:

Egenskapsnamn beskrivning
mTLS Kryptering och autentisering. Stöder säkerhetsmekanismerna PLAIN, SCRAM-SHA-256 och SCRAM-SHA-512.
SASL_SSL Den kombinerar två olika säkerhetsmekanismer – SASL (enkel autentisering och säkerhetslager) och SSL (Secure Sockets Layer) – för att säkerställa att både autentisering och kryptering finns på plats för dataöverföring. SASL_SSL-protokollet stöder säkerhetsmekanismerna PLAIN, SCRAM-SHA-256 och SCRAM-SHA-512.
SASL_PLAINTEXT standardautentisering med användarnamn och lösenord utan kryptering
Ingen Ingen autentisering och kryptering.

Viktigt!

Confluent Cloud stöder autentisering med api-nycklar, OAuth eller enkel inloggning med SAML (SSO). Azure Stream Analytics stöder inte OAuth- eller SAML-autentisering med enkel inloggning (SSO). Du kan ansluta till confluent-molnet med hjälp av en API-nyckel med åtkomst på ämnesnivå via SASL_SSL säkerhetsprotokoll.

En stegvis självstudie om hur du ansluter till confluent cloud kakfa finns i dokumentationen:

Key Vault-integrering

Kommentar

När du använder betrodda lagringscertifikat med mTLS eller SASL_SSL säkerhetsprotokoll måste du ha Azure Key Vault och hanterad identitet konfigurerade för ditt Azure Stream Analytics-jobb. Kontrollera nyckelvalvets nätverksinställningar för att se till att Tillåt offentlig åtkomst från alla nätverk har valts. Anta att ditt Nyckelvalv finns i ett virtuellt nätverk eller endast tillåter åtkomst från specifika nätverk. I så fall måste du mata in ditt ASA-jobb i ett virtuellt nätverk som innehåller nyckelvalvet eller mata in DITT ASA-jobb i ett virtuellt nätverk och sedan ansluta ditt nyckelvalv till det virtuella nätverk som innehåller jobbet med hjälp av tjänstslutpunkter.

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 när du använder mTLS eller SASL_SSL säkerhetsprotokoll. 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. Certifikat lagras som hemligheter i nyckelvalvet och måste vara i PEM-format.

Konfigurera Nyckelvalv med behörigheter

Du kan skapa en nyckelvalvsresurs genom att följa dokumentationen Snabbstart: Skapa ett nyckelvalv med Hjälp av Azure-portalen Du måste ha "Key Vault-administratör" åtkomst till nyckelvalvet för att kunna ladda upp certifikat. 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) .

  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 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 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>

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 kafkasecret --file C:\Users\Downloads\certificatefile.pem

Konfigurera hanterad identitet

Azure Stream Analytics kräver att du konfigurerar hanterad identitet för åtkomst till nyckelvalvet. Du kan konfigurera ditt ASA-jobb för att använda 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.

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) .

  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>

VNET-integration

Om ditt Kafka-kluster finns i ett virtuellt nätverk (VNET) eller bakom en brandvägg kan du behöva konfigurera ditt Azure Stream Analytics-jobb för att få åtkomst till ditt Kafka-ämne med hjälp av en privat länk eller en dedikerad nätverkskonfiguration. Mer information finns i dokumentationen Kör ditt Azure Stream Analytics-jobb i ett Virtuellt Azure-nätverk.

Begränsningar

  • När du konfigurerar dina Azure Stream Analytics-jobb för att använda VNET/SWIFT måste ditt jobb konfigureras med minst sex (6) strömningsenheter eller en (1) V2-strömningsenhet.
  • När du använder mTLS eller SASL_SSL med Azure Key Vault måste du konvertera Java Key Store till PEM-format.
  • Den lägsta versionen av Kafka som du kan konfigurera Azure Stream Analytics för att ansluta till är 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 Key via SASL_SSL-protokollet

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