Conexión a otros servicios de Azure o de terceros mediante componentes de Dapr
Establezca conexiones de forma segura con los servicios de Azure y de terceros para los componentes de Dapr mediante la identidad administrada o almacenes de secretos de Azure Key Vault.
Antes de empezar, obtenga más información sobre la compatibilidad ofrecida con los componentes de Dapr.
Recomendaciones
Siempre que sea posible, se recomienda usar componentes de Azure que proporcionen compatibilidad con identidades administradas para la conexión más segura. Use almacenes de secretos de Azure Key Vault solo cuando no se admite la autenticación de identidad administrada.
Tipo de servicio. | Recomendación |
---|---|
Componente de Azure con compatibilidad con identidades administradas | Uso del flujo de identidad administrada (recomendado) |
Componente de Azure sin compatibilidad con identidades administradas | Uso de un almacén de secretos de Azure Key Vault |
Componentes que no son de Azure | Uso de un almacén de secretos de Azure Key Vault |
Uso de la identidad administrada (recomendado)
En el caso de los servicios hospedados en Azure, Dapr puede usar la identidad administrada de las aplicaciones de contenedor con ámbito para autenticarse en el proveedor de servicios back-end. Al usar la identidad administrada, no es necesario incluir información secreta en un manifiesto de componente. Se recomienda usar la identidad administrada, ya que elimina el almacenamiento de entradas confidenciales en los componentes y no requiere administrar un almacén de secretos.
Nota:
El campo de metadatos azureClientId
(el id. de cliente de la identidad administrada) es necesario para cualquier componente que se autentique con la identidad administrada asignada por el usuario.
Uso de una referencia de componente de almacén de secretos de Dapr
Al crear componentes de Dapr para servicios o componentes habilitados para id. que no son de Entra que no admiten la autenticación de identidad administrada, determinados campos de metadatos requieren valores de entrada confidenciales. Para este enfoque, recupere estos secretos haciendo referencia a un componente de almacén de secretos de Dapr existente que accede de forma segura a la información secreta.
Para configurar una referencia:
- Cree un componente de almacén de secretos de Dapr mediante el esquema de Azure Container Apps. El tipo de componente para todos los almacenes secretos de Dapr admitidos comienza por
secretstores.
. - Cree componentes adicionales (según sea necesario) que hagan referencia al componente de almacén de secretos de Dapr que creó para recuperar la entrada de metadatos confidenciales.
Creación de un componente de almacén de secretos de Dapr
Al crear un componente de almacén secreto en Azure Container Apps, puede proporcionar información confidencial en la sección de metadatos de cualquiera de las maneras siguientes:
- En el caso de un almacén de secretos de Azure Key Vault, use la identidad administrada para establecer la conexión.
- En el caso de almacenes de secretos que no son de Azure, use secretos de Kubernetes administrados por la plataforma que se definen directamente como parte del manifiesto de componentes.
Almacenes de secretos de Azure Key Vault
En el esquema de componente siguiente se muestra la configuración de almacén de secretos más sencilla posible mediante un almacén de secretos de Azure Key Vault. publisher-app
y subscriber-app
están configurados para tener una identidad administrada asignada por el sistema o por el usuario con los permisos adecuados en la instancia de 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
Secretos de Kubernetes administrado por la plataforma
Como alternativa a los secretos de Kubernetes, las variables de entorno local y los almacenes de secretos de Dapr de archivos locales, Azure Container Apps proporciona un enfoque administrado por la plataforma para crear y aprovechar secretos de Kubernetes. Este enfoque se puede usar para conectarse a servicios que no son de Azure o en escenarios de desarrollo y pruebas para implementar rápidamente componentes mediante la CLI sin configurar un almacén de secretos ni una identidad administrada.
Esta configuración de componente define el valor confidencial como un parámetro secreto al que se puede hacer referencia desde la sección de metadatos.
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
Referencia a componentes del almacén secreto de Dapr
Una vez que haya creado un almacén de secretos de Dapr mediante uno de los enfoques anteriores, puede hacer referencia a ese almacén de secretos desde otros componentes de Dapr del mismo entorno. En el ejemplo siguiente, se muestra el uso de la autenticación con 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
Pasos siguientes
Aprenda a establecer la resistencia de los componentes de Dapr.