Compartir a través de


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

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:

  1. 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..
  2. 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:

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.