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 |
Uso dell'identità gestita (scelta consigliata)
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:
- 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.
. - 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:
- Per un archivio segreto di Azure Key Vault, usare l'identità gestita per stabilire la connessione.
- Per gli archivi segreti non di Azure, usare segreti Kubernetes gestiti dalla piattaforma definiti direttamente come parte del manifesto del componente.
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.