Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Apache Kafka est une plateforme de streaming distribuée open source que les applications utilisent pour publier et s’abonner à des flux de documents au fur et à mesure qu’ils se produisent. Il est couramment utilisé pour la messagerie, le suivi de l’activité du site web, les métriques, l’agrégation de journaux et le traitement de flux.
Si vos données passent par des clusters Kafka, vous pouvez connecter Azure Stream Analytics directement à ces clusters pour ingérer et traiter ces données sans créer de consommateur personnalisé. L’entrée Kafka est low-code, entièrement gérée par Microsoft pour répondre aux exigences de conformité de l’entreprise, et rétrocompatible avec les versions de client à partir de la version 0.10. Vous pouvez vous connecter à des clusters Kafka à l’intérieur d’un réseau virtuel ou avec un point de terminaison public, en utilisant les conventions de configuration Kafka existantes. Les types de compression pris en charge sont None, Gzip, Snappy, LZ4 et Zstd.
Cet article vous montre comment configurer un cluster Kafka comme source d’entrée pour un travail Azure Stream Analytics.
Configurez Kafka comme source d’entrée
Cet article explique comment configurer Kafka en tant que source d’entrée d’Azure Stream Analytics. Il décrit les étapes suivantes :
- Créez une tâche Azure Stream Analytics.
- Configurez votre travail Azure Stream Analytics pour utiliser une identité managée si vous utilisez les protocoles de sécurité mTLS ou SASL_SSL.
- Configurez Azure Key Vault si vous utilisez des protocoles de sécurité mTLS ou SASL_SSL.
- Téléverser les certificats en tant que secrets dans Azure Key Vault.
- Accordez à Azure Stream Analytics des autorisations pour accéder au certificat chargé.
- Configurez l’entrée Kafka dans votre travail Azure Stream Analytics.
Remarque
Selon la configuration de votre cluster Kafka et le type de cluster Kafka que vous utilisez, certaines de ces étapes peuvent ne pas s’appliquer à vous. Par exemple, si vous utilisez Confluent Cloud Kafka, vous n’avez pas besoin de télécharger un certificat pour utiliser le connecteur Kafka. Si votre cluster Kafka est à l’intérieur d’un réseau virtuel (VNet) ou derrière un pare-feu, vous devrez peut-être configurer votre job Azure Stream Analytics pour accéder à votre sujet Kafka via un lien privé ou une configuration réseau dédiée.
Configurez l’entrée Kafka
Configurez l’entrée Kafka pour que votre job Azure Stream Analytics puisse se connecter à votre cluster Kafka et lire un sujet.
Important
Pour configurer votre cluster Kafka en tant qu'entrée, le type d'horodatage de la rubrique d'entrée doit être LogAppendTime. Le seul type d'horodatage pris en charge par Azure Stream Analytics est LogAppendTime. Azure Stream Analytics prend uniquement en charge le format décimal numérique.
Dans votre travail Azure Stream Analytics, ajoutez une entrée Apache Kafka.
Définissez chaque propriété d’entrée en utilisant les valeurs décrites dans le tableau suivant :
Nom de la propriété Description Alias d’entrée/sortie Un nom amical utilisé dans les requêtes pour référencer votre entrée ou sortie. Adresses des serveurs d’amorçage Une liste des paires hôte/port à connecter au cluster Kafka. Rubrique Kafka Un flux de données nommé, ordonné et partitionné qui supporte la publication-abonnement et le traitement piloté par événements des messages. Protocole de sécurité Comment vous souhaitez vous connecter à votre cluster Kafka. Azure Stream Analytics prend en charge mTLS, SASL_SSL, SASL_PLAINTEXT ou Aucun. ID de groupe de consommateurs Le nom du groupe de consommateurs Kafka auquel l’entrée doit appartenir. Azure Stream Analytics l'attribue automatiquement si vous n'en fournissez pas. Format de sérialisation de l'événement Le format de sérialisation (JSON, CSV, Avro, Parquet et Protobuf) du flux de données entrant. Sauvegardez la configuration d’entrée.
Configurez l’authentification et le chiffrement
Configurez l’authentification et le chiffrement pour sécuriser la connexion entre votre job Azure Stream Analytics et votre cluster Kafka. Pour un tutoriel étape par étape sur la connexion à Confluent Cloud Kafka, consultez Données de flux de Confluent Cloud Kafka avec Azure Stream Analytics pour l’entrée et données de flux d’Azure Stream Analytics vers Confluent Cloud pour la sortie.
Important
Confluent Cloud prend en compte l’authentification en utilisant des clés API, OAuth ou la connexion unique (SSO) SAML. Azure Stream Analytics ne prend pas en charge l’authentification à l’aide d’OAuth ou de l’authentification unique SAML (SSO). Vous pouvez vous connecter à Confluent Cloud en utilisant une clé API avec un accès au niveau du sujet via le protocole de sécurité SASL_SSL.
Choisissez l’un des quatre protocoles de sécurité pris en charge qui correspond à votre cluster Kafka, comme décrit dans le tableau suivant :
Nom de la propriété Description mTLS Chiffrement et authentification. Prend en charge les mécanismes de sécurité PLAIN, SCRAM-SHA-256 et SCRAM-SHA-512. SASL_SSL Combine deux mécanismes de sécurité différents, SASL (Simple Authentication and Security Layer) et Secure Sockets Layer (SSL), afin de garantir que l’authentification et le chiffrement sont en place pour la transmission des données. Le protocole SASL_SSL prend en charge les mécanismes de sécurité PLAIN, SCRAM-SHA-256 et SCRAM-SHA-512. SASL_PLAINTEXT Authentification standard avec un nom d’utilisateur mais sans chiffrement. Aucun Aucune authentification ni chiffrement. Configurez les identifiants pour le protocole sélectionné dans votre job Azure Stream Analytics.
Intégrer à Azure Key Vault
Azure Stream Analytics s’intègre à Azure Key Vault pour accéder aux secrets stockés nécessaires à l’authentification et au chiffrement lorsque vous utilisez des protocoles de sécurité mTLS ou SASL_SSL. Votre emploi Azure Stream Analytics se connecte à votre Azure Key Vault en utilisant une identité gérée pour garantir une connexion sécurisée et éviter l’exfiltration de secrets. Les certificats sont stockés comme secrets dans le coffre de clés et doivent être au format PEM. Pour intégrer votre travail Azure Stream Analytics avec Azure Key Vault, accomplissez les tâches suivantes, que les sections suivantes décrivent en détail.
Remarque
Lorsque vous utilisez des certificats du magasin de confiance avec les protocoles de sécurité mTLS ou SASL_SSL, vous devez avoir configuré Azure Key Vault et une identité gérée pour votre travail Azure Stream Analytics. Vérifiez les paramètres réseau de votre coffre de clés pour veiller à ce que l’option Autoriser l’accès public à partir de tous les réseaux est sélectionnée. Si votre key vault est dans un VNet ou ne permet l’accès que depuis des réseaux spécifiques, vous devez injecter votre job Azure Stream Analytics dans un VNet contenant le key vault, ou injecter votre job Azure Stream Analytics dans un VNet puis connecter votre key vault au job contenant le VNet en utilisant les points de service de terminaison.
- Configurez le coffre-fort des clés avec les autorisations requises.
- Chargez votre certificat dans le coffre de clés en tant que secret.
- Configurez l’identité managée pour votre poste Azure Stream Analytics.
- Accordez à votre job Stream Analytics l’autorisation d’accéder au certificat dans le coffre de clés.
Configurez le coffre-fort des clés avec les permissions
Pour créer une ressource de coffre à clés, consultez Démarrage rapide : Créer un coffre-fort à clés via le portail Azure. Vous devez disposer des autorisations Key Vault Administrator sur votre coffre de clés pour charger des certificats. Pour accorder l’accès administrateur, suivez ces étapes :
Remarque
Vous avez besoin des autorisations du propriétaire pour accorder d’autres autorisations de coffre-fort.
Sélectionnez Contrôle d’accès (IAM) .
Sélectionnez Ajouter>Ajouter une attribution de rôle pour ouvrir la page Ajouter une attribution de rôle.
Attribuez le rôle en utilisant la configuration suivante :
Réglage Valeur Rôle Administrateur de Key Vault Attribuer l’accès à Utilisateur, groupe ou principal de service Membres <Vos informations de compte ou e-mail>
Téléchargez le certificat dans le coffre-fort des clés
Assurez-vous d’avoir configuré Azure CLI localement avec PowerShell. Pour des conseils sur la configuration d’Azure CLI, voir Commencer avec Azure CLI.
Les étapes suivantes téléversent le certificat en secret dans votre coffre-fort à clés.
Important
Vous devez avoir les permissions d’administrateur Key Vault sur votre key vault pour que cette commande fonctionne correctement. Vous devez télécharger le certificat en secret. Vous devez utiliser Azure CLI pour charger des certificats en tant que secrets dans votre coffre de clés. Votre job Azure Stream Analytics échoue lorsque le certificat utilisé pour l’authentification expire. Pour résoudre ce problème, mettez à jour ou remplacez le certificat dans votre coffre-fort de clés et redémarrez votre travail Azure Stream Analytics.
Connectez-vous à Azure CLI.
az loginConnectez-vous à l’abonnement qui contient votre coffre à clés.
az account set --subscription <subscription name>Téléchargez le certificat en secret. Remplacez-le
<your key vault>par le nom du coffre-clé,<name of the secret>par n’importe quel nom que vous souhaitez donner au secret, et<file path to certificate>par le chemin vers votre fichier de certificat. Vous pouvez cliquer avec le bouton droit et copier le chemin d'accès au certificat.az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>Par exemple :
az keyvault secret set --vault-name mykeyvault --name kafkasecret --file C:\Users\Downloads\certificatefile.pem
Configurer une identité managée
Azure Stream Analytics nécessite une identité gérée pour accéder au coffre-fort des clés. Configurez votre job Azure Stream Analytics pour utiliser l’identité managée en allant dans l’onglet Identité managée sous Configurer.
Pour configurer l’identité gérée, suivez ces étapes :
Sélectionnez l’onglet Identité gérée sous Configurer.
Sélectionnez Switch Identity, puis sélectionnez l’identité à utiliser avec le job : identité assignée au système ou identité assignée par l’utilisateur.
Pour l’identité attribuée par l’utilisateur, sélectionnez l’abonnement où se trouve votre identité attribuée, puis sélectionnez le nom de votre identité.
Vérifiez puis sélectionnez Enregistrer.
Accorder aux autorisations de travail Stream Analytics pour accéder au certificat
Pour que votre travail Azure Stream Analytics puisse lire le secret dans votre coffre de clés, il doit disposer des autorisations nécessaires pour accéder à ce coffre de clés.
Pour accorder des autorisations à votre poste d’analyse de flux, suivez ces étapes :
Sélectionnez Contrôle d’accès (IAM) .
Sélectionnez Ajouter>Ajouter une attribution de rôle pour ouvrir la page Ajouter une attribution de rôle.
Attribuez le rôle en utilisant la configuration suivante :
Réglage Valeur Rôle Utilisateur des secrets de Key Vault Identité gérée Travail Stream Analytics pour une identité managée attribuée par le système ou une identité managée attribuée par l’utilisateur Membres <Nom de votre tâche Stream Analytics> ou <nom d'identité affectée par l'utilisateur>
Limitations et considérations relatives à l’entrée Kafka
Si votre cluster Kafka est à l’intérieur d’un réseau virtuel ou derrière un pare-feu, configurez votre job Azure Stream Analytics pour accéder à votre sujet Kafka via un lien privé ou une configuration réseau dédiée. Pour plus d’informations, consultez Exécuter votre emploi Azure Stream Analytics dans un Réseau virtuel Azure.
Considérez les limitations suivantes lorsque vous utilisez Kafka comme source d’entrée :
- Lorsque vous configurez votre job Azure Stream Analytics pour utiliser Réseau virtuel/SWIFT, configurez le job avec au moins six unités de streaming ou une unité de streaming V2.
- Lorsque vous utilisez mTLS ou SASL_SSL avec Azure Key Vault, vous devez convertir votre Java Key Store au format PEM.
- La version minimale de Kafka à laquelle Azure Stream Analytics peut se connecter est la version 0.10.
- Azure Stream Analytics ne prend pas en compte l'authentification de Confluent Cloud en utilisant OAuth ou SAML single sign-on (SSO). Vous devez utiliser une clé API via le protocole SASL_SSL.
Pour une aide directe concernant l’entrée Kafka d’Azure Stream Analytics, contactez askasa@microsoft.com.