Gegevens streamen vanuit confluent cloud Kafka met Azure Stream Analytics
In dit artikel wordt beschreven hoe u uw Azure Stream Analytics-taak rechtstreeks verbindt met confluent cloud kafka als invoer.
Vereisten
- U hebt een confluent cloud kafka-cluster.
- U hebt een API-sleutelbestand voor uw kafka-cluster dat de API-sleutel bevat die moet worden gebruikt als gebruikersnaam, API-geheim voor gebruik als wachtwoord en het Bootstrap-serveradres.
- U hebt een Azure Stream Analytics-taak. U kunt een Azure Stream Analytics-taak maken door de documentatie te volgen: Quickstart: Een Stream Analytics-taak maken met behulp van Azure Portal
- Uw confluent cloud kafka-cluster moet openbaar toegankelijk zijn en niet achter een firewall of beveiligd in een virtueel netwerk.
- Het tijdstempeltype van het onderwerp van uw confluent cloud kafka-cluster moet LogAppendTime zijn. De standaardinstelling voor confluent cloud kafka-onderwerp is CreateTime.
- U moet een bestaande sleutelkluis hebben. U kunt een sleutelkluisresource maken door de documentatie-quickstart te volgen: Een sleutelkluis maken met behulp van De Azure-portal
Azure Stream Analytics configureren voor het gebruik van een beheerde identiteit
Voor Azure Stream Analytics moet u een beheerde identiteit configureren voor toegang tot de sleutelkluis. U kunt uw Stream Analytics-taak configureren voor het gebruik van beheerde identiteit door te navigeren naar het tabblad Beheerde identiteit aan de linkerkant onder Configureren.
- Klik op het tabblad Beheerde identiteit onder Configureren.
- 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.
- 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.
- Controleren en opslaan.
Certificaat downloaden van LetsEncrypt
Azure Stream Analytics is een op librdkafka gebaseerde client en om verbinding te maken met confluent cloud, hebt u TLS-certificaten nodig die confluent cloud gebruikt voor serververificatie. Confluent-cloud maakt gebruik van TLS-certificaten van Let's Encrypt, een open certificeringsinstantie (CA).
Download het ISRG Root X1-certificaat in PEM-indeling op de site van LetsEncrypt.
Sleutelkluis configureren met machtigingen
Azure Stream Analytics kan naadloos worden geïntegreerd met Azure Key Vault voor toegang tot opgeslagen geheimen die nodig zijn voor verificatie en versleuteling. 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. Als u het certificaat wilt gebruiken dat u hebt gedownload, moet u het eerst uploaden naar de sleutelkluis.
Als u certificaten wilt uploaden, moet u toegang hebben tot Key Vault-beheerder voor uw sleutelkluis. Volg het volgende om beheerderstoegang te verlenen:
Notitie
U moet machtigingen voor eigenaar hebben om andere sleutelkluismachtigingen te verlenen.
Selecteer toegangsbeheer (IAM) in uw sleutelkluis.
Klik op Toevoegen>Roltoewijzing toevoegen om het deelvenster Roltoewijzing toevoegen te openen.
Wijs de rol toe met behulp van de volgende configuratie:
Instelling | Weergegeven als |
---|---|
Role | Key Vault-beheerder |
Toegang toewijzen aan | Gebruiker, groep of service-principal |
Leden | <Uw accountgegevens of e-mail> |
Certificaat uploaden naar Key Vault als geheim via Azure CLI
Belangrijk
U moet beschikken over de machtiging Key Vault-beheerder 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 en geïnstalleerd 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
Maak verbinding met uw abonnement met uw sleutelkluis:
az account set --subscription <subscription name>
Voorbeeld:
az account set --subscription mymicrosoftsubscription
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 confluentsecret --file C:\Users\Downloads\isrgrootx1.pem
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:
Selecteer toegangsbeheer (IAM) in uw sleutelkluis.
Klik op Toevoegen>Roltoewijzing toevoegen om het deelvenster Roltoewijzing toevoegen te openen.
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> |
Kafka-invoer configureren in uw Stream Analytics-taak
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.
Selecteer Invoer onder Taaktopologie in uw Stream Analytics-taak
Selecteer Invoer >kafka toevoegen om de blade Nieuwe invoerconfiguratie van Kafka te openen.
Gebruik de volgende configuratie:
Notitie
Voor SASL_SSL en SASL_PLAINTEXT ondersteunt Azure Stream Analytics alleen een PLAIN SASL-mechanisme.
Eigenschapsnaam | Beschrijving |
---|---|
Invoeralias | Een beschrijvende naam die wordt gebruikt in query's om te verwijzen naar uw invoer |
Bootstrap-serveradressen | Een lijst met host-/poortparen om de verbinding met uw confluent cloud kafka-cluster tot stand te brengen. Voorbeeld: pkc-56d1g.eastus.azure.confluent.cloud:9092 |
Kafka-onderwerp | De naam van uw kafka-onderwerp in uw confluent cloud kafka-cluster. |
Beveiligingsprotocol | Selecteer SASL_SSL. Het ondersteunde mechanisme is PLAIN. |
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. |
Belangrijk
Confluent Cloud ondersteunt verificatie met behulp van API-sleutels, OAuth of SAML-eenmalige aanmelding (SSO). Azure Stream Analytics biedt geen ondersteuning voor verificatie met behulp van OAuth of SAML-eenmalige aanmelding (SSO). U kunt verbinding maken met confluent cloud met behulp van een API-sleutel met toegang op onderwerpniveau via het SASL_SSL beveiligingsprotocol. Voor verificatie bij confluent cloud moet u SASL_SSL gebruiken en uw taak configureren om te verifiëren bij confluent cloud met behulp van uw API-sleutel.
Gebruik de volgende configuratie:
Instelling | Weergegeven als |
---|---|
Username | confluent cloud-API-sleutel |
Wachtwoord | confluent cloud-API-geheim |
Naam van sleutelkluis | naam van Azure Key Vault met geüpload certificaat |
Truststore-certificaten | naam van het Key Vault-geheim dat het ISRG Root X1-certificaat bevat |
Configuratie opslaan en verbinding testen
Sla uw configuratie op. Uw Azure Stream Analytics-taak valideert met behulp van de opgegeven configuratie. Een geslaagde verbinding wordt weergegeven in de portal als uw Stream Analytics verbinding kan maken met uw kafka-cluster.
Beperkingen
- Het certificaat dat naar de sleutelkluis is geüpload, moet de PEM-indeling hebben.
- De minimale versie van kafka moet versie 0.10 zijn.
- 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.
- U moet Azure CLI gebruiken om het certificaat als geheim te uploaden naar de sleutelkluis. U kunt certificaten met meerdere regels niet uploaden naar een sleutelkluis met behulp van Azure Portal.
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.