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 Portal
- 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 Portal
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.
- Klicka på fliken hanterad identitet under Konfigurera.
- Välj växla identitet och välj den identitet som ska användas med jobbet: systemtilldelad identitet eller användartilldelad identitet.
- För användartilldelad identitet väljer du den prenumeration där din användartilldelade identitet finns och väljer namnet på din identitet.
- 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.
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.
Välj Åtkomstkontroll (IAM) i nyckelvalvet.
Välj Lägg till>rolltilldelning för att öppna sidan Lägg till rolltilldelning.
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:
Välj Åtkomstkontroll (IAM) i nyckelvalvet.
Välj Lägg till>rolltilldelning för att öppna sidan Lägg till rolltilldelning.
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.
I stream analytics-jobbet väljer du Indata under Jobbtopologi
Välj Lägg till indata>Kafka för att öppna bladet Kafka Ny indatakonfiguration.
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 |
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.
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 flerradshemligheter till nyckelvalvet med hjälp av Azure Portal.
Kommentar
Om du vill ha direkt hjälp med att använda Azure Stream Analytics Kafka-indata kan du kontakta askasa@microsoft.com.