Partager via


Diffusez des données depuis le cloud confluent Kafka avec Azure Stream Analytics

Cet article explique comment connecter votre travail Azure Stream Analytics directement au cloud confluent Kafka en tant qu'entrée.

Prérequis

  • Vous disposez d’un cluster Kafka cloud confluent.
  • Vous disposez d'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 disposez d’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 kafka cloud confluent doit être accessible publiquement et non derrière un pare-feu ou sécurisé dans un réseau virtuel.
  • Le type d'horodatage du sujet de votre cluster Kafka cloud confluent doit être LogAppendTime. La valeur par défaut pour le sujet Kafka du cloud confluent est CreateTime.
  • Vous devez disposer d'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 travail d'analyse de flux pour utiliser l'identité gérée en accédant à l'onglet Identité managée sur le côté gauche sous Configurer.

Capture d’écran montrant comment configurer l’identité managée pour un travail ASA.

  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 depuis LetsEncrypt

Azure Stream Analytics est un client basé sur librdkafka et pour vous connecter au cloud confluent, vous avez besoin de certificats TLS que le cloud confluent utilise pour l'authentification du serveur. Confluent cloud utilise les 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.

Capture d’écran montrant le certificat à télécharger à partir du site web de Let’s Encrypt.

Configurer le coffre de clés avec des autorisations

Azure Stream Analytics s'intègre parfaitement à Azure Key Vault pour accéder aux secrets stockés nécessaires à l'authentification et au chiffrement. 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 la façon dont il apparaît dans le coffre de clés. <file path to certificate> est le chemin d'accès à l'endroit où se trouve le 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 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>

Configurez l'entrée Kafka dans votre travail d'analyse de flux

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.

  1. Dans votre tâche d'analyse de flux, sélectionnez Entrées sous Topologie de la tâche

  2. Sélectionnez Ajouter une entrée>Kafka pour ouvrir le panneau de configuration de nouvelle entrée 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 d’entrée Un 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.
ID de groupe de consommateurs Nom du groupe de consommateurs Kafka dont l’entrée doit faire partie. Si elle n’est pas fournie, elle est attribuée automatiquement.
Format de sérialisation de l'événement Format de sérialisation (JSON, CSV, Avro, Parquet, Protobuf) du flux de données entrant.

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-fort Azure Key avec le certificat téléchargé
Certificats de magasin de confiance nom du Key Vault Secret qui contient le certificat ISRG Root X1

Capture d’écran montrant comment configurer l’entrée Kafka pour un travail Stream Analytics.

Enregistrer la configuration et tester la connexion

Enregistrez votre configuration. Votre travail Azure Stream Analytics est validé à l’aide de la configuration fournie. Une connexion réussie indique sur le portail si vos analyses de flux peuvent se connecter à votre cluster Kafka.

Capture d’écran montrant l’entrée Kafka Confluent de test réussi.

Limites

  • Le certificat téléchargé sur Key Vault doit être au format PEM.
  • La version minimale de kafka doit être la version 0.10.
  • Azure Stream Analytics ne prend pas en charge l'authentification sur le cloud confluent à l'aide de l'authentification unique (SSO) OAuth ou SAML. Vous devez utiliser la clé API via le protocole SASL_SSL.
  • Vous devez utiliser Azure CLI pour télécharger le certificat en tant que secret dans le coffre de clés. Vous ne pouvez pas télécharger des certificats avec des secrets multilignes vers le coffre de clés à l’aide du Portail Microsoft Azure.

Remarque

Pour obtenir de l'aide directe sur l'utilisation de l'entrée Kafka Azure Stream Analytics, contactez askasa@microsoft.com.

Étapes suivantes