Dela via


Kafka-utdata från Azure Stream Analytics (förhandsversion)

Med Azure Stream Analytics kan du ansluta direkt till Kafka-kluster som producent för att mata ut 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-utdata ä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 utdata från Azure Stream Analytics. Det finns sex steg:

  1. Skapa ett Azure Stream Analytics-jobb.
  2. Konfigurera ditt Azure Stream Analytics-jobb för att använda 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-utdata 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 kafka-utdata:

Egenskapsnamn beskrivning
Utdataalias Ett eget namn som används i frågor för att referera till dina 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.
Format för händelseserierering Serialiseringsformatet (JSON, CSV, Avro) för den utgående dataströmmen.
Partitionsnyckel Azure Stream Analytics tilldelar partitioner med rund partitionering.
Kafka-händelsekomprimeringstyp Komprimeringstypen som används för utgående dataströmmar, till exempel Gzip, Snappy, Lz4, Zstd eller None.

Skärmbild som visar hur du konfigurerar kafka-utdata 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:

Kommentar

För SASL_SSL och SASL_PLAINTEXT stöder Azure Stream Analytics endast PLAIN SASL-mekanism. Du måste ladda upp certifikat som hemligheter till nyckelvalvet med hjälp av Azure CLI.

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 Om du vill ladda upp certifikat måste du ha åtkomst till nyckelvalvets administratör. Följ följande för att bevilja 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 din Kafka finns i ett virtuellt nätverk (VNET) eller bakom en brandvägg måste du konfigurera ditt Azure Stream Analytics-jobb för att få åtkomst till ditt Kafka-ämne. 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-utdata kan du kontakta askasa@microsoft.com.

Nästa steg