Services internes de Service Connector

Service Connector est un fournisseur de ressources d’extension Azure conçu pour fournir un moyen simple de créer et de gérer des connexions entre les services Azure.

Service Connector offre les fonctionnalités suivantes :

  • Vous permet de connecter ensemble des services Azure avec une seule commande Azure CLI ou en quelques étapes à l’aide du portail Azure.
  • Prend en charge un nombre croissant de bases de données, de stockage, de services en temps réel, d’état et de magasins de secrets utilisés avec votre application cloud native.
  • Configure les paramètres réseau, l’authentification et gère les variables ou les propriétés de l’environnement de connexion pour vous.
  • Valide les connexions et fournit des suggestions pour corriger les connexions défectueuses.

Vue d’ensemble de la connexion de service

Le concept de connexion de service est un concept clé dans le modèle de ressource de Service Connector. Une connexion de service représente une abstraction du lien entre deux services. Les connexions de service ont les propriétés suivantes :

Propriété Description
Nom de connexion Nom unique de la connexion de service.
Type de service source Les services sources sont des services que vous pouvez connecter aux services cibles. Ils sont généralement des services de calcul Azure et incluent Azure App Service, Azure Container Apps, Azure Functions, Azure Kubernetes Service (AKS) et Azure Spring Apps.
Type de service cible Les services cibles sont des services de stockage ou des services de dépendance auxquels vos services de calcul se connectent. Service Connector prend en charge différents types de service cible, notamment les principales bases de données, le stockage, les services en temps réel, l’état et les magasins secrets.
Type de client Le type de client fait référence à votre pile de runtime de calcul, votre infrastructure de développement ou le type spécifique de bibliothèque cliente qui accepte le format spécifique des variables ou des propriétés de l’environnement de connexion.
Type d’authentification Type d’authentification utilisé pour la connexion de service. Il peut s’agir d’un secret/d’une chaîne de connexion, d’une identité managée ou d’un principal de service.

Les services sources et les services cibles prennent en charge plusieurs connexions de service simultanées, ce qui signifie que vous pouvez connecter chaque ressource à plusieurs ressources.

Service Connector gère les connexions dans les propriétés de l’instance source. La création, l’obtention, la mise à jour et la suppression des connexions s’effectuent directement en ouvrant l’instance de service source dans le portail Azure ou en utilisant les commandes CLI du service source.

Il est possible d’établir des connexions entre des abonnements ou des locataires, ce qui signifie que les services sources et cibles peuvent appartenir à différents abonnements ou locataires. Lorsque vous créez une connexion de service, la ressource de connexion est créée dans la même région que votre instance de service de calcul par défaut.

Création et mise à jour de la connexion de service

Service Connector exécute plusieurs tâches lors de la création ou de la mise à jour de connexions de service, notamment :

  • Configuration des paramètres du réseau et du pare-feu. En savoir plus sur les solutions réseau.

  • Configuration des informations de connexion. En savoir plus sur les configurations de connexion.

  • Configuration des informations d’authentification. Le connecteur de services prend en charge tous les types d’authentification disponibles entre les services sources et les services cibles.

    • Identité managée affectée par le système. Le connecteur de services active l’identité managée affectée par le système sur les services sources si elle n’est pas encore activée, puis accorde des rôles RBAC des services cibles à l’identité managée. L’utilisateur peut spécifier les rôles à accorder.
    • Identité managée affectée par l’utilisateur. Le connecteur de services active l’identité managée affectée par l’utilisateur sur les services sources si elle n’est pas encore activée, puis accorde des rôles RBAC des services cibles à l’identité managée. L’utilisateur peut spécifier les rôles à accorder.
    • Chaîne de connexion. Le connecteur de services récupère des chaînes de connexion à partir de services cibles tels que le stockage, le cache Redis, etc., ou construit des chaînes de connexion basées sur l’entrée utilisateur, telles que la base de données Azure pour SQL, PostgreSQL, etc.
    • Le principal du service. Le connecteur de services accorde des rôles RBAC des services cibles à l’identité managée. L’utilisateur peut spécifier les rôles à accorder.

    Le connecteur de services enregistre les configurations d’authentification correspondantes dans les services sources, par exemple, l’enregistrement de AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_STORAGEACCOUNT_ENDPOINT pour le stockage avec l’identité managée affectée par l’utilisateur du type d’authentification.

  • Création ou mise à jour d’une restauration de la connexion en cas d’échec

Si une étape échoue durant cette procédure, Service Connector restaure toutes les étapes précédentes pour conserver les paramètres initiaux dans les instances sources et cibles.

Fournisseur de ressources

Microsoft.ServiceLinker est le nom du fournisseur de ressources du connecteur de services.

Lorsqu’un utilisateur ouvre l’onglet Connecteur de service dans le portail Microsoft Azure, le fournisseur de ressources ServiceLinker est automatiquement inscrit dans l’abonnement actif de l’utilisateur. L’utilisateur qui a généré l’inscription est répertorié comme initiateur de l’événement d’inscription.

Le connecteur de services permet aux utilisateurs de connecter des services entre les abonnements. Lorsqu’un utilisateur crée une connexion à un service cible inscrit dans un autre abonnement, Service Linker est également inscrit dans l’abonnement du service cible. Cette inscription se produit lorsque l’utilisateur sélectionne l’onglet Vérifier + créer avant de créer la connexion.

Configurations de la connexion

Les configurations de connexion sont définies dans le service source.

Dans le portail Azure, ouvrez un service source et accédez à Service Connector. Développez chaque connexion et affichez les configurations de connexion.

Capture d’écran du portail Azure montrant les détails de la connexion de service.

Dans l’interface CLI, utilisez la commande list-configuration pour afficher les configurations de la connexion.

az webapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
az spring connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>
az containerapp connection list-configuration --resource-group <source-service-resource-group> --name <source-service-name> --connection <connection-name>

Convention de nommage pour une configuration

Service Connector définit la configuration de la connexion lors de la création d’une connexion. Les paires clé-valeur de variable d’environnement sont déterminées par votre type de client et votre type d’authentification. Par exemple, l’utilisation du SDK Azure avec une identité managée requiert un ID client, un secret client, etc. L’utilisation d’un pilote JDBC requiert une chaîne de connexion de base de données. Suivez ces conventions pour nommer les configurations :

  • Client Spring Boot : la bibliothèque Spring Boot possède sa propre convention de nommage pour chaque service cible. Par exemple, les paramètres de connexion MySQL seraient spring.datasource.url, spring.datasource.username, spring.datasource.password. Les paramètres de connexion Kafka seraient spring.kafka.properties.bootstrap.servers.

  • Autres clients :

    • Le nom de clé de la première configuration de connexion utilise le format <Cloud>_<Type>_<Name>. Par exemple, AZURE_STORAGEBLOB_RESOURCEENDPOINT, CONFLUENTCLOUD_KAFKA_BOOTSTRAPSERVER.
    • Pour le même type de ressource cible, le nom de clé de la deuxième configuration de connexion utilise le format <Cloud>_<Type>_<Connection Name>_<Name>. Par exemple, AZURE_STORAGEBLOB_CONN2_RESOURCEENDPOINT, CONFLUENTCLOUD_KAFKA_CONN2_BOOTSTRAPSERVER.

Solution de réseau de service

Le connecteur de services propose trois solutions réseau que les utilisateurs peuvent choisir lors de la création d’une connexion. Ces solutions sont conçues pour faciliter la communication sécurisée et efficace entre les ressources.

  1. Pare-feu : cette solution autorise la connexion via un réseau public et une ressource de calcul accédant à la ressource cible avec une adresse IP publique. Lorsque vous sélectionnez cette option, le connecteur de services vérifie les paramètres de pare-feu de la ressource cible et ajoute une règle pour autoriser les connexions à partir de l’adresse IP publique de la ressource source. Si le pare-feu de la ressource prend en charge l’accès à toutes les ressources Azure, le connecteur de services active ce paramètre. Toutefois, si la ressource cible refuse tout le trafic réseau public par défaut, le connecteur de services ne modifie pas ce paramètre. Dans ce cas, vous devez choisir une autre option ou mettre à jour manuellement les paramètres réseau avant de réessayer.

  2. Point de terminaison de service : cette solution permet à la ressource de calcul de se connecter aux ressources cibles via un réseau virtuel, ce qui garantit que le trafic de connexion ne transite pas par le réseau public. Elle n’est disponible que si certaines conditions préalables sont remplies :

    • La ressource de calcul doit avoir l’intégration du réseau virtuel activée. Pour Azure App Service, il peut être configuré dans ses paramètres de mise en réseau ; pour Azure Spring Apps, les utilisateurs doivent définir l’injection de réseau virtuel pendant la phase de création de la ressource.
    • Le service cible doit prendre en charge le point de terminaison de service. Pour obtenir la liste des services pris en charge, reportez-vous à Points de terminaison de service de réseau virtuel.

    Lorsque vous sélectionnez cette option, le connecteur de services ajoute l’adresse IP privée de la ressource de calcul dans le réseau virtuel aux règles de réseau virtuel de la ressource cible et active le point de terminaison de service dans la configuration du sous-réseau de la ressource source. Si l’utilisateur ne dispose pas des autorisations suffisantes ou si la référence SKU ou la région de la ressource ne prend pas en charge les points de terminaison de service, la création de la connexion échoue.

  3. Point de terminaison privé : cette solution est un moyen recommandé de connecter des ressources via un réseau virtuel et n’est disponible que si certaines conditions préalables sont remplies :

  • La ressource de calcul doit avoir l’intégration du réseau virtuel activée. Pour Azure App Service, il peut être configuré dans ses paramètres de mise en réseau ; pour Azure Spring Apps, les utilisateurs doivent définir l’injection de réseau virtuel pendant la phase de création de la ressource.

  • Le service cible doit prendre en charge les points de terminaison privés. Pour obtenir la liste des services pris en charge, reportez-vous à Ressource private-link.

    Lorsque vous sélectionnez cette option, le connecteur de services n’effectue pas plus de configurations dans les ressources de calcul ou cible. Au lieu de cela, il vérifie l’existence d’un point de terminaison privé valide et échoue la connexion s’il n’en trouve pas. Pour des raisons pratiques, les utilisateurs peuvent cocher la case « Nouveau point de terminaison privé » dans le portail Microsoft Azure lors de la création d’une connexion. Le connecteur de services crée alors automatiquement toutes les ressources associées pour le point de terminaison privé dans la séquence appropriée, ce qui simplifie le processus de création de connexion.

Validation de la connexion de service

Lors de la validation d’une connexion, Service Connector vérifie les éléments suivants :

  • Les ressources source et cible existent.
  • Source : les informations de connexion enregistrées sont correctes.
  • Cible : les paramètres de réseau et de pare-feu enregistrés sont corrects.
  • Ressources sources et cibles : les informations d’authentification enregistrées sont correctes.

Suppression de connexion

Lorsqu’une connexion de service est supprimée, les informations de connexion sont également supprimées.

Étapes suivantes

Consultez l’article de concept suivant pour en savoir plus sur le connecteur de services.