Delen via


Gegevens van Kafka streamen naar Azure Stream Analytics (preview)

Kafka is een gedistribueerd streamingplatform dat wordt gebruikt voor het publiceren en abonneren op recordsstromen. Kafka is ontworpen om uw apps toe te staan records te verwerken wanneer ze optreden. Het is een opensource-systeem dat is ontwikkeld door de Apache Software Foundation en geschreven in Java en Scala.

Hier volgen de belangrijkste use cases:

  • Berichten
  • Tracering van websiteactiviteiten
  • Metrische gegevens voor
  • Logboekaggregatie
  • Stroomverwerking

Met Azure Stream Analytics kunt u rechtstreeks verbinding maken met Kafka-clusters om gegevens op te nemen. De oplossing is weinig code en wordt volledig beheerd door het Azure Stream Analytics-team van Microsoft, zodat deze kan voldoen aan bedrijfsnalevingsstandaarden. De ASA Kafka-invoer is achterwaarts compatibel en ondersteunt alle versies met de nieuwste clientrelease vanaf versie 0.10. Gebruikers kunnen verbinding maken met Kafka-clusters binnen een VNET- en Kafka-cluster met een openbaar eindpunt, afhankelijk van de configuraties. De configuratie is afhankelijk van bestaande Kafka-configuratieconventies. Ondersteunde compressietypen zijn None, Gzip, Snappy, LZ4 en Zstd.

Stappen

In dit artikel wordt beschreven hoe u Kafka instelt als invoerbron voor Azure Stream Analytics. Er zijn zes stappen:

  1. Een Azure Stream Analytics-taak maken.
  2. Configureer uw Azure Stream Analytics-taak om beheerde identiteit te gebruiken als u mTLS of SASL_SSL beveiligingsprotocollen gebruikt.
  3. Configureer Azure Key Vault als u mTLS of SASL_SSL beveiligingsprotocollen gebruikt.
  4. Certificaten uploaden als geheimen naar Azure Key Vault.
  5. Ververleent Azure Stream Analytics-machtigingen voor toegang tot het geüploade certificaat.
  6. Kafka-invoer configureren in uw Azure Stream Analytics-taak.

Notitie

Afhankelijk van hoe uw Kafka-cluster is geconfigureerd en het type Kafka-cluster dat u gebruikt, zijn sommige van de bovenstaande stappen mogelijk niet van toepassing op u. Voorbeelden zijn: als u confluent cloud Kafka gebruikt, hoeft u geen certificaat te uploaden om de Kafka-connector te gebruiken. Als uw Kafka-cluster zich in een virtueel netwerk (VNET) of achter een firewall bevindt, moet u mogelijk uw Azure Stream Analytics-taak configureren voor toegang tot uw Kafka-onderwerp met behulp van een privékoppeling of een toegewezen netwerkconfiguratie.

Configuratie

De volgende tabel bevat de eigenschapsnamen en hun beschrijving voor het maken van een Kafka-invoer:

Belangrijk

Als u uw Kafka-cluster wilt configureren als invoer, moet het tijdstempeltype van het invoeronderwerp LogAppendTime zijn. Het enige tijdstempeltype dat Door Azure Stream Analytics wordt ondersteund, is LogAppendTime. Azure Stream Analytics ondersteunt alleen numerieke decimale notatie.

Eigenschapsnaam Beschrijving
Invoer-/uitvoeralias Een beschrijvende naam die wordt gebruikt in query's om te verwijzen naar uw invoer of uitvoer
Bootstrap-serveradressen Een lijst met host-/poortparen om de verbinding met het Kafka-cluster tot stand te brengen.
Kafka-onderwerp Een benoemde, geordende en gepartitioneerde gegevensstroom die het publiceren/abonneren en gebeurtenisgestuurde verwerking van berichten mogelijk maakt.
Beveiligingsprotocol Hoe u verbinding wilt maken met uw Kafka-cluster. Azure Stream Analytics ondersteunt mTLS, SASL_SSL, SASL_PLAINTEXT of Geen.
Consumentengroep-id De naam van de Kafka-consumentengroep waarvan de invoer deel moet uitmaken. Deze wordt automatisch toegewezen als deze niet is opgegeven.
Serialisatie-indeling voor gebeurtenissen De serialisatie-indeling (JSON, CSV, Avro, Parquet, Protobuf) van de binnenkomende gegevensstroom.

Schermopname van het configureren van kafka-invoer voor een Stream Analytics-taak.

Verificatie en versleuteling

U kunt vier typen beveiligingsprotocollen gebruiken om verbinding te maken met uw Kafka-clusters:

Eigenschapsnaam Beschrijving
mTLS Versleuteling en verificatie. Ondersteunt DE beveiligingsmechanismen PLAIN, SCRAM-SHA-256 en SCRAM-SHA-512.
SASL_SSL Het combineert twee verschillende beveiligingsmechanismen: SASL (Simple Authentication and Security Layer) en SSL (Secure Sockets Layer) om ervoor te zorgen dat zowel verificatie als versleuteling aanwezig zijn voor gegevensoverdracht. Het SASL_SSL-protocol ondersteunt de beveiligingsmechanismen PLAIN, SCRAM-SHA-256 en SCRAM-SHA-512.
SASL_PLAINTEXT standaardverificatie met gebruikersnaam en wachtwoord zonder versleuteling
Geen Geen verificatie en versleuteling.

Belangrijk

Confluent Cloud ondersteunt verificatie met behulp van API-sleutels, OAuth of SAML-eenmalige aanmelding (SSO). Azure Stream Analytics biedt geen ondersteuning voor OAuth- of SAML-verificatie voor eenmalige aanmelding (SSO). U kunt verbinding maken met de confluent-cloud met behulp van een API-sleutel met toegang op onderwerpniveau via het SASL_SSL beveiligingsprotocol.

Raadpleeg de documentatie voor een stapsgewijze zelfstudie over het maken van verbinding met confluent cloud kakfa:

Key Vault-integratie

Notitie

Wanneer u certificaten voor vertrouwensarchief gebruikt met mTLS of SASL_SSL beveiligingsprotocollen, moet Azure Key Vault en beheerde identiteit zijn geconfigureerd voor uw Azure Stream Analytics-taak. Controleer de netwerkinstellingen van uw sleutelkluis om ervoor te zorgen dat openbare toegang vanuit alle netwerken is ingeschakeld. Stel dat uw sleutelkluis zich in een VNET bevindt of alleen toegang toestaat vanuit specifieke netwerken. In dat geval moet u uw ASA-taak injecteren in een VNET dat de sleutelkluis bevat of uw ASA-taak in een VNET injecteert en vervolgens uw sleutelkluis verbindt met het VNET met de taak met behulp van service-eindpunten.

Azure Stream Analytics integreert naadloos met Azure Key Vault voor toegang tot opgeslagen geheimen die nodig zijn voor verificatie en versleuteling bij het gebruik van mTLS of SASL_SSL beveiligingsprotocollen. Uw Azure Stream Analytics-taak maakt verbinding met uw Azure Key Vault met behulp van een beheerde identiteit om een beveiligde verbinding te garanderen en het exfiltratie van geheimen te voorkomen. Certificaten worden opgeslagen als geheimen in de sleutelkluis en moeten de PEM-indeling hebben.

Sleutelkluis configureren met machtigingen

U kunt een key vault-resource maken door de documentatie-quickstart te volgen: Een sleutelkluis maken met behulp van Azure Portal U moet toegang hebben tot Key Vault Beheer istrator voor uw Sleutelkluis om certificaten te uploaden. Volg het volgende om beheerderstoegang te verlenen:

Notitie

U moet machtigingen voor eigenaar hebben om andere sleutelkluismachtigingen te verlenen.

  1. Klik op Toegangsbeheer (IAM) .

  2. Klik op Toevoegen>Roltoewijzing toevoegen om het deelvenster Roltoewijzing toevoegen te openen.

  3. Wijs de rol toe met behulp van de volgende configuratie:

Instelling Weergegeven als
Role Key Vault-Beheer istrator
Toegang toewijzen aan Gebruiker, groep of service-principal
Leden <Uw accountgegevens of e-mail>

Certificaat uploaden naar Key Vault via Azure CLI

Belangrijk

U moet beschikken over de machtiging Key Vault Beheer istrator voor toegang tot uw Sleutelkluis, zodat deze opdracht goed werkt. U moet het certificaat uploaden als een geheim. U moet Azure CLI gebruiken om certificaten als geheimen te uploaden naar uw sleutelkluis. Uw Azure Stream Analytics-taak mislukt wanneer het certificaat dat wordt gebruikt voor verificatie verloopt. U kunt dit oplossen door het certificaat in uw sleutelkluis bij te werken/te vervangen en uw Azure Stream Analytics-taak opnieuw op te starten.

Zorg ervoor dat Azure CLI lokaal is geconfigureerd met PowerShell. U kunt deze pagina bezoeken voor hulp bij het instellen van Azure CLI: Aan de slag met Azure CLI

Meld u aan bij Azure CLI:

az login

Verbinding maken uw abonnement met uw sleutelkluis:

az account set --subscription <subscription name>

Met de volgende opdracht kunt u het certificaat uploaden als een geheim naar uw sleutelkluis:

Dit <your key vault> is de naam van de sleutelkluis waarnaar u het certificaat wilt uploaden. <name of the secret> is een naam die u aan uw geheim wilt geven en hoe het wordt weergegeven in de sleutelkluis. <file path to certificate> is het pad naar de locatie waar het certificaat zich bevindt. U kunt met de rechtermuisknop klikken en het pad naar het certificaat kopiëren.

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

Voorbeeld:

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

Beheerde identiteit configureren

Voor Azure Stream Analytics moet u een beheerde identiteit configureren voor toegang tot de sleutelkluis. U kunt uw ASA-taak configureren voor het gebruik van beheerde identiteit door te navigeren naar het tabblad Beheerde identiteit aan de linkerkant onder Configureren.

Schermopname van het configureren van een beheerde identiteit voor een ASA-taak.

  1. Klik op het tabblad Beheerde identiteit onder Configureren.
  2. Selecteer Schakelen tussen identiteiten en selecteer de identiteit die moet worden gebruikt met de taak: door het systeem toegewezen identiteit of door de gebruiker toegewezen identiteit.
  3. Voor door de gebruiker toegewezen identiteit selecteert u het abonnement waarin uw door de gebruiker toegewezen identiteit zich bevindt en selecteert u de naam van uw identiteit.
  4. Controleren en opslaan.

De Stream Analytics-taakmachtigingen verlenen voor toegang tot het certificaat in de sleutelkluis

Als u het geheim in uw sleutelkluis wilt lezen voor uw Azure Stream Analytics-taak, moet de taak gemachtigd zijn om toegang te krijgen tot de sleutelkluis. Gebruik de volgende stappen om speciale machtigingen te verlenen aan uw Stream Analytics-taak:

  1. Klik op Toegangsbeheer (IAM) .

  2. Klik op Toevoegen>Roltoewijzing toevoegen om het deelvenster Roltoewijzing toevoegen te openen.

  3. Wijs de rol toe met behulp van de volgende configuratie:

Instelling Weergegeven als
Role Key Vault-geheimengebruiker
Beheerde identiteit Stream Analytics-taak voor door het systeem toegewezen beheerde identiteit of door de gebruiker toegewezen beheerde identiteit
Leden <Naam van uw Stream Analytics-taak> of <-naam van door de gebruiker toegewezen identiteit>

VNet-integratie

Als uw Kafka-cluster zich in een virtueel netwerk (VNET) of achter een firewall bevindt, moet u mogelijk uw Azure Stream Analytics-taak configureren voor toegang tot uw Kafka-onderwerp met behulp van een privékoppeling of een toegewezen netwerkconfiguratie. Ga naar de azure Stream Analytics-taak uitvoeren in een Azure Virtual Network-documentatie voor meer informatie.

Beperkingen

  • Wanneer u uw Azure Stream Analytics-taken configureert voor het gebruik van VNET/SWIFT, moet uw taak worden geconfigureerd met ten minste zes (6) streaming-eenheden of één (1) V2-streaming-eenheid.
  • Wanneer u mTLS of SASL_SSL met Azure Key Vault gebruikt, moet u uw Java Key Store converteren naar PEM-indeling.
  • De minimale versie van Kafka waarmee u Azure Stream Analytics kunt configureren om verbinding te maken, is versie 0.10.
  • Azure Stream Analytics biedt geen ondersteuning voor verificatie voor confluent cloud met behulp van OAuth of SAML-eenmalige aanmelding (SSO). U moet API-sleutel gebruiken via het SASL_SSL-protocol

Notitie

Neem contact op met de Azure Stream Analytics Kafka-invoer voor directe hulp bij het gebruik van askasa@microsoft.comde Invoer van Azure Stream Analytics Kafka.

Volgende stappen