Share via


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.

Screenshot showing how to configure managed identity for an ASA job.

  1. Cliquez sur l'onglet Identité managée sous Configurer.
  2. 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.
  3. 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é.
  4. 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.

Screenshot showing the certificate to download from the website of lets encrypt.

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.

  1. Dans votre coffre de clés, sélectionnez Contrôle d’accès (IAM).

  2. Sélectionnez Ajouter>Ajouter une attribution de rôle pour ouvrir la page Ajouter une attribution de rôle.

  3. 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 :

  1. Dans votre coffre de clés, sélectionnez Contrôle d’accès (IAM).

  2. Sélectionnez Ajouter>Ajouter une attribution de rôle pour ouvrir la page Ajouter une attribution de rôle.

  3. 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

  1. Dans votre travail Stream Analytics, sélectionnez Sorties sous Topologie de la tâche.

  2. Sélectionnez Ajouter une sortie>Kafka pour ouvrir le volet de configuration Nouvelle sortie Kafka.

  3. 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

Screenshot showing how to configure kafka output for a stream analytics job.

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.

Screenshot showing successful test connection to confluent kafka output.

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.

Étapes suivantes