Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Apache Kafka är en öppen källkodsbaserad distribuerad streamingplattform som appar använder för att publicera och prenumerera på strömmar av poster när de uppstår. Det används ofta för meddelandehantering, spårning av webbplatsaktivitet, mätvärden, loggaggregering och strömbearbetning.
Om din data flödar genom Kafka-kluster kan du koppla Azure Stream Analytics direkt till dessa kluster för att ta emot och bearbeta datan utan att bygga en egen konsument. Kafka-inmatningen är low code, helt hanterad av Microsoft för att uppfylla affärsstandarder och bakåtkompatibel med klientversioner från och med 0.10. Du kan ansluta till Kafka-kluster inom ett virtuellt nätverk eller med en publik endpoint genom att använda befintliga Kafka-konfigurationskonventioner. Komprimeringstyper som stöds är None, Gzip, Snappy, LZ4 och Zstd.
Den här artikeln visar hur du konfigurerar ett Kafka-kluster som en inmatningskälla för ett Azure Stream Analytics-jobb.
Sätt upp Kafka som inmatningskälla
Den här artikeln visar hur du konfigurerar Kafka som indatakälla för Azure Stream Analytics. Den beskriver följande steg:
- Skapa ett Azure Stream Analytics-jobb.
- Konfigurera ditt Azure Stream Analytics-jobb så att det använder hanterad identitet om du använder mTLS eller SASL_SSL säkerhetsprotokoll.
- Konfigurera Azure Key Vault om du använder mTLS eller SASL_SSL säkerhetsprotokoll.
- Ladda upp certifikat som hemligheter i Azure Key Vault.
- Ge Azure Stream Analytics behörighet att komma åt det uppladdade certifikatet.
- Konfigurera Kafka-indata i ditt Azure Stream Analytics-jobb.
Kommentar
Beroende på hur ditt Kafka-kluster är konfigurerat och vilken typ av Kafka-kluster du använder, kanske vissa av dessa steg inte gäller för dig. Till exempel, om du använder Confluent Cloud Kafka behöver du inte ladda upp ett certifikat för att använda Kafka-kontakten. Om ditt Kafka-kluster är inne i ett virtuellt nätverk (VNet) eller bakom en brandvägg kan du behöva konfigurera ditt Azure Stream Analytics-jobb för att komma åt ditt Kafka-ämne via en privat länk eller en dedikerad nätverkskonfiguration.
Konfigurera Kafka-ingången
Konfigurera Kafka-inmatningen så att ditt Azure Stream Analytics-jobb kan ansluta till ditt Kafka-kluster och läsa från ett ämne.
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.
I ditt Azure Stream Analytics-jobb, lägg till en Kafka-inmatning.
Sätt varje indataegenskap genom att använda de värden som beskrivs i följande tabell:
Egenskapsnamn beskrivning Indata/utdataalias Ett vänligt namn som används i frågor för att referera till din input eller output. Bootstrap-serveradresser En lista över värd/port-par för att ansluta till Kafka-klustret. Kafka-ämne En namngiven, ordnad och uppdelad dataström som stödjer publicer-prenumererande 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. Azure Stream Analytics tilldelar det automatiskt om du inte tillhandahåller ett. Format för händelseserierering Serialiseringsformatet (JSON, CSV, Avro, Parquet och Protobuf) för den inkommande dataströmmen. Spara inställningarna för indata.
Ställ in autentisering och kryptering
Ställ in autentisering och kryptering för att säkra anslutningen mellan ditt Azure Stream Analytics-jobb och ditt Kafka-kluster. För en steg-för-steg-guide om att ansluta till Confluent Cloud Kafka, se Strömma data från Confluent Cloud Kafka med Azure Stream Analytics för indata och Strömma data från Azure Stream Analytics till Confluent Cloud för utdata.
Viktigt!
Confluent Cloud stödjer autentisering genom att använda API-nycklar, OAuth eller SAML single sign-on (SSO). Azure Stream Analytics stöder inte OAuth- eller SAML-autentisering med enkel inloggning (SSO). Du kan ansluta till Confluent Cloud genom att använda en API-nyckel med ämnesnivååtkomst via säkerhetsprotokollet SASL_SSL.
Välj ett av de fyra stödda säkerhetsprotokollen som matchar ditt Kafka-kluster, enligt beskrivningen i följande tabell:
Egenskapsnamn beskrivning mTLS Kryptering och autentisering. Stöder säkerhetsmekanismerna PLAIN, SCRAM-SHA-256 och SCRAM-SHA-512. SASL_SSL Kombinerar två olika säkerhetsmekanismer, SASL (Simple Authentication and Security Layer) och Secure Sockets Layer (SSL), 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 men ingen kryptering. Ingen Ingen autentisering och kryptering. Konfigurera behörigheterna för det valda protokollet i ditt Azure Stream Analytics-jobb.
Integrera med Azure Key Vault
Azure Stream Analytics integreras med Azure Key Vault för att komma åt 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 kopplas till din Azure Key Vault genom att använda managed identity för att säkerställa en säker anslutning och undvika exfiltration av hemligheter. Certifikat lagras som hemligheter i nyckelvalvet och måste vara i PEM-format. För att integrera ditt Azure Stream Analytics-jobb med Azure Key Vault, slutför följande uppgifter, som följande avsnitt beskriver i detalj.
Kommentar
När du använder trust store-certifikat med mTLS eller SASL_SSL säkerhetsprotokoll måste du ha Azure Key Vault och hanterad identitet konfigurerad 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. Om ditt nyckelvalv finns i en VNet eller endast tillåter åtkomst från specifika nätverk, måste du injicera ditt Azure Stream Analytics-jobb i en VNet som innehåller nyckelvalvet, eller injicera ditt Azure Stream Analytics-jobb i en VNet och sedan koppla ditt nyckelvalv till VNet-innehållande jobbet genom att använda service-endpoints.
- Konfigurera nyckelvalvet med de nödvändiga behörigheterna.
- Ladda upp ditt certifikat till nyckelvalvet som en hemlighet.
- Konfigurera managed identity för ditt Azure Stream Analytics-jobb.
- Ge ditt Stream Analytics-jobb behörighet att få åtkomst till certifikatet i nyckelvalvet.
Konfigurera nyckelvalvet med behörigheter
För att skapa en nyckelvalvresurs, se Quickstart: Skapa ett nyckelvalv med Azure-portalen. Du behöver Key Vault Administrator-åtkomst till ditt key vault för att ladda upp certifikat. För att ge administratörsbehörighet, följ följande steg:
Kommentar
Du behöver ägarbehörigheter för att ge andra nyckelvalvsbehörigheter.
Välj Åtkomstkontroll (IAM) .
Välj Lägg till>rolltilldelning för att öppna sidan Lägg till rolltilldelning.
Tilldela rollen genom att använda 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 certifikatet till nyckelvalvet
Se till att du har Azure CLI konfigurerat lokalt med PowerShell. För vägledning om hur du sätter upp Azure CLI, se Get Started with Azure CLI.
Följande steg laddar upp certifikatet som hemligt till ditt nyckelvalv.
Viktigt!
Du måste ha Key Vault Administrator-behörigheter till din key vault för att detta kommando 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 går ut. För att lösa detta problem, uppdatera eller byt ut certifikatet i ditt nyckelvalv och starta om ditt Azure Stream Analytics-jobb.
Logga in på Azure CLI.
az loginAnslut till prenumerationen som innehåller ditt nyckelvalv.
az account set --subscription <subscription name>Ladda upp certifikatet som en hemlighet. Byt ut
<your key vault>det med namnet på nyckelvalvet,<name of the secret>med vilket namn du vill ge hemligheten, och<file path to certificate>med vägen till din certifikatfil. 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 hanterad identitet för att komma åt nyckelvalvet. Konfigurera ditt Azure Stream Analytics-jobb att använda managed identity genom att gå till fliken Managed Identity under Configure.
För att konfigurera managed identity, följ dessa steg:
Välj fliken Managed Identity under Konfigurera.
Välj Switch Identity och välj identiteten som ska användas med jobbet: systemtilldelad identitet eller användartilldelad identitet.
För användartilldelad identitet, välj prenumerationen där din användartilldelade identitet finns och välj namnet på din identitet.
Granska och välj Spara.
Ge Stream Analytics-jobbet behörighet att få åtkomst till certifikatet
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.
För att ge behörigheter till ditt jobb inom Stream Analytics, följ följande steg:
Välj Åtkomstkontroll (IAM) .
Välj Lägg till>rolltilldelning för att öppna sidan Lägg till rolltilldelning.
Tilldela rollen genom att använda följande konfiguration:
Inställning Värde Roll Key Vault Secrets-användare Hanterad identitet Stream Analytics-jobb för systemtilldelad eller användartilldelad hanterad identitet Medlemmar <Namnet på ditt Stream Analytics-jobb> eller <namnet på den användartilldelade identiteten>
Kafka ingångsbegränsningar och överväganden
Om ditt Kafka-kluster är inne i ett virtuellt nätverk eller bakom en brandvägg, konfigurera ditt Azure Stream Analytics-jobb för att nå ditt Kafka-ämne genom att använda en privat länk eller en dedikerad nätverkskonfiguration. För mer information, se Kör ditt Azure Stream Analytics-jobb i ett Azure Virtual Network.
Tänk på följande begränsningar när du använder Kafka som inmatningskälla:
- När du konfigurerar ditt Azure Stream Analytics-jobb att använda Virtual Network/SWIFT, konfigurera jobbet med minst sex streamingenheter eller en V2-streamingenhet.
- När du använder mTLS eller SASL_SSL med Azure Key Vault måste du konvertera din Java Key Store till PEM-format.
- Den minsta versionen av Kafka som Azure Stream Analytics kan ansluta till är version 0.10.
- Azure Stream Analytics stöder inte autentisering till Confluent Cloud genom att använda OAuth eller SAML single sign-on (SSO). Du måste använda en API-nyckel via SASL_SSL protokollet.
För direkt hjälp med Azure Stream Analytics Kafka-inmatning, kontakta askasa@microsoft.com.