Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Établissez en toute sécurité des connexions aux services Azure et non-Microsoft pour les composants Dapr en utilisant une identité managée ou les stockages de secrets Azure Key Vault.
Avant de commencer, apprenez-en davantage sur la prise en charge proposée pour les composants Dapr.
Recommandations
Pour la connexion la plus sécurisée, nous vous recommandons d’utiliser Azure composants qui fournissent une prise en charge des identités managées dans la mesure du possible. Utilisez les magasins de secrets Azure Key Vault uniquement lorsque l'authentification d'identité managée n'est pas prise en charge.
| Type de service | Recommandation |
|---|---|
| composant Azure avec prise en charge des identités managées | Utiliser le flux d’identité managée (recommandé) |
| composant Azure sans prise en charge des identités managées | Utilisez un magasin de secrets Azure Key Vault |
| Composants non Azure | Utilisez un magasin de secrets Azure Key Vault |
Utiliser l’identité managée (recommandé)
Pour les services hébergés par Azure, Dapr peut utiliser l’identité managed 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.
Utiliser une référence de composant du magasin de secrets Dapr
Lorsque vous créez des composants Dapr pour des services ou composants non Entra ID activés qui ne prennent pas en charge l'authentification d'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 stockage de secrets Dapr existant qui accède en toute sécurité aux informations secrètes.
Pour configurer une référence :
- Créez un composant de magasin de secrets Dapr en utilisant le schéma Azure Container Apps. Le type de composant pour tous les stockages de secrets Dapr pris en charge commence par
secretstores. - Créez des composants supplémentaires (si nécessaire) qui référencent le composant de stockage de secrets Dapr que vous avez créé afin de récupérer les métadonnées sensibles.
Créer un composant du magasin de secrets Dapr
Lors de la création d’un composant de 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 Azure Key Vault stockage de secrets, utilisez l’identité gérée pour établir la connexion.
- Pour magasins de secrets non Azure, utilisez des secrets Kubernetes gérés par la plateforme qui sont définis directement dans le 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 à l’aide d’un magasin de secrets Azure Key Vault.
publisher-app et subscriber-app sont configurés pour disposer d'une identité managée attribuée par le système ou l'utilisateur, 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, aux variables d’environnement local et aux magasins de secrets Dapr de fichiers locaux, Azure Container Apps fournit une approche gérée par la plateforme pour la création et l’utilisation de secrets Kubernetes. Cette approche peut être utilisée pour se connecter à des services non Azure. Ou, dans les scénarios de développement/test, il peut être utilisé 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érences 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 Microsoft 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