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 |
Utilisation d’une identité managée (recommandé)
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 :
- 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.
. - 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 :
- Pour un magasin de secrets Azure Key Vault, utilisez l’identité managée pour établir la connexion.
- Pour les magasins de secrets non-Azure, utilisez des secrets Kubernetes gérés par la plateforme qui sont définis directement dans le cadre du manifeste du composant.
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.