Kafka-uitvoer van Azure Stream Analytics (preview)
Met Azure Stream Analytics kunt u rechtstreeks als producent verbinding maken met Kafka-clusters om gegevens uit te voeren. 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-uitvoer 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 uitvoer van Azure Stream Analytics. Er zijn zes stappen:
- Een Azure Stream Analytics-taak maken.
- Configureer uw Azure Stream Analytics-taak om beheerde identiteit te gebruiken als u mTLS of SASL_SSl beveiligingsprotocollen gebruikt.
- Configureer Azure Key Vault als u mTLS of SASL_SSl beveiligingsprotocollen gebruikt.
- Certificaten uploaden als geheimen naar Azure Key Vault.
- Ververleent Azure Stream Analytics-machtigingen voor toegang tot het geüploade certificaat.
- Configureer Kafka-uitvoer 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-uitvoer:
Eigenschapsnaam | Beschrijving |
---|---|
Uitvoeralias | Een beschrijvende naam die wordt gebruikt in query's om te verwijzen naar uw 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. |
Serialisatie-indeling voor gebeurtenissen | De serialisatie-indeling (JSON, CSV, Avro) van de uitgaande gegevensstroom. |
Partitiesleutel | Azure Stream Analytics wijst partities toe met behulp van ronde partitionering. |
Kafka-gebeurteniscompressietype | Het compressietype dat wordt gebruikt voor uitgaande gegevensstromen, zoals Gzip, Snappy, Lz4, Zstd of Geen. |
Verificatie en versleuteling
U kunt vier typen beveiligingsprotocollen gebruiken om verbinding te maken met uw Kafka-clusters:
Notitie
Voor SASL_SSL en SASL_PLAINTEXT ondersteunt Azure Stream Analytics alleen een PLAIN SASL-mechanisme. U moet certificaten uploaden als geheimen naar de sleutelkluis met behulp van Azure CLI.
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:
- Confluent cloud kafka-invoer: Gegevens streamen vanuit confluent cloud Kafka met Azure Stream Analytics
- Confluent cloud kafka-uitvoer: Gegevens van Azure Stream Analytics streamen naar confluent cloud
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 sleutelkluisresource maken door de documentatie-quickstart te volgen: Een sleutelkluis maken met behulp van Azure Portal Om certificaten te 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.
Klik op Toegangsbeheer (IAM) .
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 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 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>
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.
- 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.
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:
Klik op Toegangsbeheer (IAM) .
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> |
VNet-integratie
Als uw Kafka zich in een virtueel netwerk (VNET) of achter een firewall bevindt, moet u uw Azure Stream Analytics-taak configureren voor toegang tot uw Kafka-onderwerp. 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 askasa@microsoft.comde Azure Stream Analytics Kafka-uitvoer voor directe hulp bij het gebruik van de Azure Stream Analytics Kafka-uitvoer.