Condividi tramite


Connettersi ad altri servizi di Azure o di terze parti tramite componenti dapr

Stabilire in modo sicuro le connessioni ai servizi di Azure e di terze parti per i componenti Dapr usando l'identità gestita o gli archivi segreti di Azure Key Vault.

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

Elementi consigliati

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

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

Per i servizi ospitati in Azure, Dapr può usare l'identità gestita delle app contenitore con ambito per eseguire l'autenticazione 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.

Uso di un riferimento al componente dell'archivio segreto Dapr

Quando si creano componenti Dapr per i servizi o i componenti non abilitati per l'ID Entra che non supportano l'autenticazione dell'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 dell'archivio segreti dapr usando 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.

Creazione di un componente dell'archivio segreti dapr

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

Archivi segreti di Azure Key Vault

Lo schema del componente seguente illustra la configurazione dell'archivio segreti più semplice possibile usando un archivio segreto di 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 dei file locali, App Contenitore di Azure offre un approccio gestito dalla piattaforma per la creazione e l'uso dei segreti Kubernetes. Questo approccio può essere usato per connettersi a servizi non di Azure o in scenari di sviluppo/test 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 segreto 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. Nell'esempio seguente viene illustrato l'uso dell'autenticazione 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

Passaggi successivi

Informazioni su come impostare la resilienza dei componenti Dapr.