Condividi tramite


Connettersi ad altri servizi di Azure o partner usando i componenti dapr

Stabilire in modo sicuro le connessioni a Azure e non servizi Microsoft per i componenti Dapr usando l'identità gestita o gli archivi segreti Azure Key Vault.

Prima di iniziare, vedere altre informazioni sul supporto offerto per i componenti Dapr.

Elementi consigliati

Per la connessione più sicura, è consigliabile usare Azure componenti che forniscono supporto per l'identità gestita quando possibile. Usare gli archivi di segreti Azure Key Vault solo quando l'autenticazione dell'identità gestita non è supportata.

Tipo di servizio Raccomandazione
componente Azure con supporto dell'identità gestita Usare il flusso di identità gestito (scelta consigliata)
Componente di Azure senza supporto per l'identità gestita di Azure Usare un archivio segreto Azure Key Vault
Componenti non Azure Usare un archivio segreto Azure Key Vault

Per i servizi ospitati su Azure, Dapr può usare l'identità managed delle app contenitore con ambito per autenticarsi al provider di servizi back-end. Quando si usa l'identità gestita, non è necessario includere informazioni segrete in un manifesto del componente. L'uso dell'identità gestita è consigliato perché elimina l'archiviazione dell'input sensibile nei componenti e non richiede la gestione di un archivio segreto.

Nota

Il azureClientId campo dei metadati (ID client dell'identità gestita) è necessario per qualsiasi componente che esegue l'autenticazione con l'identità gestita assegnata dall'utente.

Usare un riferimento al componente dell'archivio segreti Dapr

Quando si creano componenti Dapr per servizi che non supportano Entra ID o che non supportano l'autenticazione tramite identità gestita, alcuni campi di metadati richiedono valori di input sensibili. Per questo approccio, recuperare questi segreti facendo riferimento a un componente dell'archivio segreto Dapr esistente che accede in modo sicuro alle informazioni segrete.

Per configurare un riferimento:

  1. Creare un componente del secret store di Dapr utilizzando lo schema di App contenitore di Azure. Il tipo di componente per tutti gli archivi segreti Dapr supportati inizia con secretstores.
  2. Creare componenti aggiuntivi (in base alle esigenze) che fanno riferimento al componente dell'archivio segreto Dapr creato per recuperare l'input dei metadati sensibili.

Creare un componente dell'archivio segreti Dapr

Quando si crea un componente dell'archivio segreto in App contenitore di Azure, è possibile fornire informazioni riservate nella sezione metadati in uno dei modi seguenti:

  • Per un archivio segreto Azure Key Vault, usare l'identità gestita per stabilire la connessione.
  • Per gli archivi segreti non Azure, usare segreti Kubernetes gestiti dalla piattaforma definiti direttamente come parte del manifesto del componente.

Azure Key Vault archivi segreti

Lo schema del componente seguente illustra la configurazione dell'archivio segreti più semplice possibile usando un archivio segreto Azure Key Vault. publisher-app e subscriber-app sono configurati per avere un'identità gestita assegnata dal sistema o dall'utente con autorizzazioni appropriate per l'istanza di 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

Segreti Kubernetes gestiti dalla piattaforma

In alternativa ai segreti Kubernetes, alle variabili di ambiente locali e agli archivi segreti Dapr del file locale, App contenitore di Azure offre un approccio gestito dalla piattaforma per la creazione e l'uso di segreti Kubernetes. Questo approccio può essere usato per connettersi a servizi non Azure. In alternativa, negli scenari di sviluppo/test può essere usato per distribuire rapidamente i componenti tramite l'interfaccia della riga di comando senza configurare un archivio segreto o un'identità gestita.

Questa configurazione del componente definisce il valore sensibile come parametro segreto a cui è possibile fare riferimento dalla sezione dei metadati.

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

Riferimento ai componenti dell'archivio di segreti Dapr

Dopo aver creato un archivio segreto Dapr usando uno degli approcci precedenti, è possibile fare riferimento all'archivio segreto di altri componenti Dapr nello stesso ambiente. L'esempio seguente illustra l'uso dell'autenticazione 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