Diffuser en streaming des données d’Azure Stream Analytics vers Confluent Cloud
Cet article décrit comment connecter votre travail Azure Stream Analytics directement à Confluent Cloud Kafka en tant que sortie.
Prérequis
- Vous avez un cluster Confluent Cloud Kafka.
- Vous avez un fichier de clé API pour votre cluster Kafka, qui contient la clé API à utiliser comme nom d’utilisateur, le secret API à utiliser comme mot de passe et l’adresse du serveur Bootstrap.
- Vous avez un travail Azure Stream Analytics. Vous pouvez créer un travail Azure Stream Analytics en suivant la documentation : Démarrage rapide : Créer un travail Stream Analytics à l’aide du portail Azure
- Votre cluster Confluent Cloud Kafka doit être accessible publiquement et non derrière un pare-feu ou sécurisé dans un réseau virtuel.
- Vous devez avoir un coffre de clés existant. Vous pouvez créer une ressource de coffre de clés en suivant la documentation Démarrage rapide : Créer un coffre de clés avec le portail Azure
Configurer Azure Stream Analytics pour utiliser une identité managée
Azure Stream Analytics vous oblige à configurer l'identité managée pour accéder au coffre de clés. Vous pouvez configurer votre tâche ASA pour utiliser l'identité managée en accédant à l'onglet Identité managée sur le côté gauche sous Configurer.
- Cliquez sur l'onglet Identité managée sous Configurer.
- Sélectionnez Changer d'identité et sélectionnez l'identité à utiliser avec la tâche : identité affectée par le système ou identité affectée par l'utilisateur.
- Pour l'identité affectée par l'utilisateur, sélectionnez l'abonnement dans lequel se trouve votre identité affectée par l'utilisateur et sélectionnez le nom de votre identité.
- Examinez et enregistrez.
Télécharger le certificat à partir de LetsEncrypt
La sortie Stream Analytics Kafka est un client basé sur librdkafka. Pour que la sortie soit connecté à Confluent Cloud, vous avez besoin de certificats TLS que Confluent Cloud utilise pour l’authentification du serveur. Confluent Cloud utilise des certificats TLS de Let's Encrypt, une autorité de certification (CA) ouverte.
Téléchargez le certificat ISRG Root X1 au format PEM sur le site de LetsEncrypt.
Configurer le coffre de clés avec des autorisations
Azure Stream Analytics s’intègre en toute transparence à Azure Key Vault pour accéder aux secrets stockés nécessaires à l’authentification et au chiffrement lors de l’utilisation de mTLS ou de protocoles de sécurité SASL_SSL. Votre tâche Azure Stream Analytics se connecte à votre coffre de clés Azure à l'aide d'une identité managée afin de garantir une connexion sécurisée et d'éviter l'exfiltration de secrets. Pour utiliser le certificat que vous avez téléchargé, vous devez d’abord le charger dans le coffre de clés.
Pour charger des certificats, vous devez disposer d’un accès « Administrateur Key Vault » à votre coffre de clés. Procédez comme suit pour accorder l'accès administrateur :
Remarque
Vous devez disposer des autorisations « Propriétaire » pour accorder d'autres autorisations de coffre de clés.
Dans votre coffre de clés, 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 :
Paramètre | Valeur |
---|---|
Role | Administrateur Key Vault |
Attribuer l’accès à | Utilisateur, groupe ou principal de service |
Membres | <Vos informations de compte ou e-mail> |
Charger un certificat comme secret dans le coffre de clés via Azure CLI
Important
Vous devez avoir l'accès « Administrateur de coffre de clés » aux autorisations de votre coffre de clés pour que cette commande fonctionne correctement, vous devez charger le certificat en tant que secret. Vous devez utiliser Azure CLI pour charger des certificats en tant que secrets dans votre coffre de clés. Votre tâche Azure Stream Analytics échoue lorsque le certificat utilisé pour l'authentification expire. Pour résoudre ce problème, vous devez mettre à jour/remplacer le certificat dans votre coffre de clés et redémarrer votre travail Azure Stream Analytics.
Vérifiez qu’Azure CLI est configuré et installé localement avec PowerShell. Vous pouvez consulter cette page pour obtenir des conseils sur la configuration d’Azure CLI : Prise en main d’Azure CLI
Se connecter à l'interface Azure CLI :
az login
Connectez-vous à votre abonnement contenant votre coffre de clés :
az account set --subscription <subscription name>
Par exemple :
az account set --subscription mymicrosoftsubscription
La commande suivante peut charger le certificat en tant que secret dans votre coffre de clés :
<your key vault>
est le nom du coffre de clés dans lequel vous souhaitez charger le certificat. <name of the secret>
est le nom que vous souhaitez donner à votre secret et qui apparaît dans le coffre de clés. <file path to certificate>
est le chemin d’accès à l’emplacement du certificat téléchargé. Vous pouvez cliquer avec le bouton droit sur le certificat 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 confluentsecret --file C:\Users\Downloads\isrgrootx1.pem
Accorder à la tâche Stream Analytics les autorisations d'accès au certificat dans le coffre de clés.
Pour que votre travail Azure Stream Analytics lise le secret dans votre coffre de clés, le travail doit avoir l’autorisation d’accéder au coffre de clés. Procédez comme suit pour accorder des autorisations spéciales à votre travail Stream Analytics :
Dans votre coffre de clés, 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 :
Paramètre | Valeur |
---|---|
Rôle | Utilisateur des secrets du coffre de clés |
Identité gérée | Le tâche Stream Analytics pour l'identité managée affectée par le système ou l'identité managée affectée par l'utilisateur |
Membres | <Nom de votre tâche Stream Analytics> ou <nom d'identité affectée par l'utilisateur> |
Configurer la sortie Kafka dans votre travail Stream Analytics
Dans votre travail Stream Analytics, sélectionnez Sorties sous Topologie de la tâche.
Sélectionnez Ajouter une sortie>Kafka pour ouvrir le volet de configuration Nouvelle sortie Kafka.
Utilisez la configuration suivante :
Remarque
Pour SASL_SSL et SASL_PLAINTEXT, Azure Stream Analytics prend uniquement en charge le mécanisme PLAIN SASL.
Nom de la propriété | Description |
---|---|
Alias de sortie | Nom convivial utilisé dans les requêtes pour référencer votre entrée |
Adresses des serveurs d’amorçage | Liste des paires hôte/port pour établir la connexion à votre cluster Confluent Cloud Kafka. Exemple : pkc-56d1g.eastus.azure.confluent.cloud:9092 |
Rubrique Kafka | Nom de votre rubrique Kafka dans votre cluster Confluent Cloud Kafka. |
Protocole de sécurité | Sélectionnez SASL_SSL. Le mécanisme pris en charge est PLAIN. |
Format de sérialisation de l'événement | Format de sérialisation (JSON, CSV, Avro, Parquet, Protobuf) du flux de données entrant. |
Clé de partition | Azure Stream Analytics attribue des partitions en utilisant un partitionnement arrondi. Laisser vide si une clé ne partitionne pas votre entrée |
Type de compression d’événement Kafka | Le type de compression utilisé pour les flux de données sortants, tels que Gzip, Snappy, Lz4, Zstd ou None. |
Important
Confluent Cloud prend en charge l'authentification à l'aide de clés d'API, d'OAuth ou de l'authentification unique SAML (SSO). 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é d'API qui a un accès au niveau du sujet via le protocole de sécurité SASL_SSL. Pour vous authentifier sur le cloud confluent, vous devrez utiliser SASL_SSL et configurer votre travail pour vous authentifier sur le cloud confluent à l'aide de votre clé API.
Utilisez la configuration suivante :
Paramètre | Valeur |
---|---|
Nom d’utilisateur | Clé API Confluent Cloud |
Mot de passe | secret de l'API cloud confluent |
Nom du coffre de clés | Nom du coffre de clés Azure avec le certificat chargé |
Certificats de magasin de confiance | Nom du secret de coffre de clés qui détient le certificat ISRG Root X1 |
Enregistrer la configuration et tester la connexion
Enregistrez votre configuration. Votre travail Azure Stream Analytics est validé avec la configuration fournie. Une connexion de test réussie s’affiche dans le portail si votre travail Stream Analytics peut se connecter à votre cluster Kafka.
Limites
- Le certificat que vous chargez dans le coffre de clés doit être au format PEM.
- La version minimale de Kafka doit être Kafka version 0.10.
- Azure Stream Analytics ne prend pas en charge l’authentification auprès de Confluent Cloud avec OAuth ou l’authentification unique (SSO) SAML. Vous devez utiliser la clé API via le protocole SASL_SSL.
- Vous devez utiliser Azure CLI pour charger un certificat en tant que secret dans le coffre de clés. Vous ne pouvez pas charger de certificats avec des secrets multilignes dans le coffre de clés à l’aide du portail Azure.
Remarque
Pour obtenir de l’aide directe sur l’utilisation de la sortie Kafka Azure Stream Analytics, contactez askasa@microsoft.com.