Verbinding maken met andere Azure- of partnerservices met behulp van Dapr-onderdelen

Vestig veilig verbindingen met Azure en niet-Microsoft-services voor Dapr-componenten met behulp van beheerde identiteiten of Azure Key Vault geheime opslagplaatsen.

Voordat u aan de slag gaat, vindt u meer informatie over de aangeboden ondersteuning voor Dapr-onderdelen.

Aanbevelingen

Voor de veiligste verbinding raden we u aan Azure onderdelen te gebruiken die waar mogelijk ondersteuning bieden voor beheerde identiteiten. Gebruik Azure Key Vault geheime stores alleen wanneer verificatie van beheerde identiteit niet wordt ondersteund.

Service-type Aanbeveling
Azure onderdeel met ondersteuning voor beheerde identiteiten Gebruik de procedure voor beheerde identiteiten (aanbevolen)
Azure onderdeel zonder ondersteuning voor beheerde identiteit Gebruik een Azure Key Vault geheime opslag
Niet-Azure onderdelen Gebruik een Azure Key Vault geheime opslag

Voor Azure gehoste services kan Dapr de beheerde identiteit van de scoped container-apps gebruiken om te verifiëren bij de back-endserviceprovider. Wanneer u beheerde identiteit gebruikt, hoeft u geen geheime informatie op te nemen in een onderdeelmanifest. Het gebruik van een beheerde identiteit wordt aanbevolen omdat het opslag van gevoelige invoer in onderdelen elimineert en geen geheimarchief hoeft te beheren.

Notitie

Het azureClientId metagegevensveld (de client-id van de beheerde identiteit) is vereist voor elk onderdeel dat wordt geverifieerd met een door de gebruiker toegewezen beheerde identiteit.

Een naslaginformatie over een dapr secret store-onderdeel gebruiken

Wanneer u Dapr-onderdelen maakt voor niet-Entra ID ingeschakelde services of onderdelen die geen ondersteuning bieden voor verificatie van beheerde identiteiten, vereisen bepaalde metagegevensvelden gevoelige invoerwaarden. Voor deze aanpak haalt u deze geheimen op door te verwijzen naar een bestaand Dapr-geheimarchiefonderdeel dat veilig toegang heeft tot geheime informatie.

Een verwijzing instellen:

  1. Maak een Dapr secret store-onderdeel met behulp van het Azure Container Apps schema. Het onderdeeltype voor alle ondersteunde Dapr-geheime winkels begint met secretstores.
  2. Maak extra onderdelen (indien nodig) die verwijzen naar het Dapr Secret Store-onderdeel dat u hebt gemaakt om de gevoelige metagegevensinvoer op te halen.

Een Dapr secret store-onderdeel maken

Wanneer u een geheimarchiefonderdeel in Azure Container Apps maakt, kunt u gevoelige informatie opgeven in de sectie metagegevens op een van de volgende manieren:

  • Gebruik een beheerde identiteit om de verbinding met een Azure Key Vault geheimenarchief tot stand te brengen.
  • Voor non-Azure secret stores gebruikt u door het platform beheerde Kubernetes-geheimen die rechtstreeks zijn gedefinieerd als onderdeel van het onderdeelmanifest.

Azure Key Vault geheime opslagplaatsen

In het volgende onderdeelschema ziet u de eenvoudigste configuratie van het geheimarchief met behulp van een Azure Key Vault geheimarchief. publisher-app en subscriber-app zijn geconfigureerd om beide een door het systeem of de gebruiker toegewezen beheerde identiteit te hebben met de juiste machtigingen op de Azure Key Vault-instance.

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

Door het platform beheerde Kubernetes-geheimen

Als alternatief voor Kubernetes-geheimen, lokale omgevingsvariabelen en opslag van dapr-geheimen in lokale bestanden biedt Azure Container Apps een door het platform beheerde benadering voor het maken en gebruiken van Kubernetes-geheimen. Deze methode kan worden gebruikt om verbinding te maken met niet-Azure-services. In ontwikkel-/testscenario's kan het ook worden gebruikt voor het snel implementeren van onderdelen via de CLI zonder een geheim archief of beheerde identiteit in te stellen.

Deze onderdeelconfiguratie definieert de gevoelige waarde als een geheime parameter waarnaar kan worden verwezen vanuit de sectie metagegevens.

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

Referentie voor Dapr secret store-componenten

Zodra u een Dapr-geheimarchief maakt met behulp van een van de vorige benaderingen, kunt u verwijzen naar het geheime archief van andere Dapr-onderdelen in dezelfde omgeving. In het volgende voorbeeld ziet u hoe u Microsoft Entra ID verificatie gebruikt.

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