Partager via


Connexion à d’autres services Azure ou tiers via des composant Dapr

Établissez en toute sécurité des connexions aux services Azure ou tiers pour des composants Dapr en utilisant l’identité managée ou les magasins de secrets Azure Key Vault.

Avant de démarrer, découvrez plus d’informations sur le support offert pour les composants Dapr.

Recommandations

Dans la mesure du possible, nous vous recommandons d’utiliser les composants Azure qui fournissent une prise en charge des identités managées afin de bénéficier de la connexion la plus sécurisée. Utilisez les magasins de secret Azure Key Vault uniquement lorsque l’authentification par identité managée n’est pas prise en charge.

Type de service Recommandation
Composant Azure avec une prise en charge de l’identité managée Utiliser le flux d’identité managée (recommandé)
Composant Azure sans prise en charge de l’identité managée Utiliser un magasin de secrets Azure Key Vault
Composants non-Azure Utiliser un magasin de secrets Azure Key Vault

Pour les services hébergés par Azure, Dapr peut utiliser l’identité managée des applications conteneur délimitées pour s’authentifier auprès du fournisseur de services back-end. Lorsque vous utilisez une identité managée, vous n’avez pas besoin d’inclure d’informations secrètes dans un manifeste de composant. L’utilisation d’une identité managée est recommandée, car elle élimine le stockage des entrées sensibles dans les composants et ne nécessite pas de gestion d’un magasin de secrets.

Remarque

Le azureClientId champ de métadonnées (l’ID client de l’identité managée) est requis pour tout composant s’authentifiant avec une identité managée affectée par l’utilisateur.

Utilisation d’une référence de composant Magasin de secrets Dapr

Lorsque vous créez des composants Dapr pour des services non-Entra ID ou des composants qui ne prennent pas en charge l’authentification par identité managée, certains champs de métadonnées nécessitent des valeurs d’entrée sensibles. Pour cette approche, récupérez ces secrets en faisant référence à un composant de magasin de secrets Dapr existant qui accède en toute sécurité aux informations sur les secrets.

Pour configurer une référence :

  1. Créez un composant Magasin de secrets Dapr à l’aide du schéma Azure Container Apps. Le type de composant pour tous les magasins de secrets Dapr pris en charge commence par secretstores..
  2. Créez des composants supplémentaires (en fonction de vos besoins) qui référencent le composant Magasin de secrets Dapr que vous avez créé pour récupérer l’entrée de métadonnées sensibles.

Création d’un composant Magasin de secrets Dapr

Lors de la création d’un composant Magasin de secrets dans Azure Container Apps, vous pouvez fournir des informations sensibles dans la section métadonnées de l’une des manières suivantes :

Magasins de secrets Azure Key Vault

Le schéma de composant suivant présente la configuration de magasin de secrets la plus simple possible en utilisant un magasin de secrets Azure Key Vault. publisher-app et subscriber-app sont configurées pour disposer d’une identité managée affectée par l’utilisateur ou le système avec les autorisations appropriées sur l’instance d’Azure Key Vault.

componentType: secretstores.azure.keyvault
version: v1
metadata:
  - name: vaultName
    value: [your_keyvault_name]
  - name: azureEnvironment
    value: "AZUREPUBLICCLOUD"
  - name: azureClientId # Only required for authenticating user-assigned managed identity
    value: [your_managed_identity_client_id]
scopes:
  - publisher-app
  - subscriber-app

Secrets Kubernetes gérés par la plateforme

En guise d’alternative aux secrets Kubernetes, variables d’environnement locales et magasins de secrets Dapr de fichier local, Azure Container Apps fournit une approche gérée par la plateforme pour la création et l’exploitation des secrets Kubernetes. Cette approche peut être utilisée pour se connecter à des services non-Azure ou dans des scénarios de développement/test pour déployer rapidement des composants via l’interface CLI sans configurer de magasin de secrets ou d’identité managée.

Cette configuration de composant définit la valeur sensible en tant que paramètre secret qui peut être référencé à partir de la section métadonnées.

componentType: secretstores.azure.keyvault
version: v1
metadata:
  - name: vaultName
    value: [your_keyvault_name]
  - name: azureEnvironment
    value: "AZUREPUBLICCLOUD"
  - name: azureTenantId
    value: "[your_tenant_id]"
  - name: azureClientId 
    value: "[your_client_id]"
  - name: azureClientSecret
    secretRef: azClientSecret
secrets:
  - name: azClientSecret
    value: "[your_client_secret]"
scopes:
  - publisher-app
  - subscriber-app

Référencement des composants du magasin de secrets Dapr

Une fois que vous avez créé un magasin de secrets Dapr à l’aide de l’une des approches précédentes, vous pouvez référencer ce magasin de secrets à partir d’autres composants Dapr dans le même environnement. L’exemple suivant illustre l’utilisation de l’authentification Entra ID.

componentType: pubsub.azure.servicebus.queue
version: v1
secretStoreComponent: "[your_secret_store_name]"
metadata:
  - name: namespaceName
    # Required when using Azure Authentication.
    # Must be a fully-qualified domain name
    value: "[your_servicebus_namespace.servicebus.windows.net]"
  - name: azureTenantId
    value: "[your_tenant_id]"
  - name: azureClientId 
    value: "[your_client_id]"
  - name: azureClientSecret
    secretRef: azClientSecret
scopes:
  - publisher-app
  - subscriber-app

Étapes suivantes

Découvrir comment définir la résilience des composants Dapr.