Dela via


Ansluta till andra Azure- eller tredjepartstjänster via Dapr-komponenter

Upprätta anslutningar på ett säkert sätt till Azure och tjänster från tredje part för Dapr-komponenter med hjälp av hanterade identitets- eller Azure Key Vault-hemlighetslager.

Innan du börjar kan du läsa mer om det stöd som erbjuds för Dapr-komponenter.

Rekommendationer

När det är möjligt rekommenderar vi att du använder Azure-komponenter som tillhandahåller stöd för hanterad identitet för den säkraste anslutningen. Använd endast Azure Key Vault-hemlighetslager när hanterad identitetsautentisering inte stöds.

Typ av tjänst Rekommendation
Azure-komponent med stöd för hanterad identitet Använda det hanterade identitetsflödet (rekommenderas)
Azure-komponent utan stöd för hanterad identitet Använda ett hemligt Azure Key Vault-arkiv
Icke-Azure-komponenter Använda ett hemligt Azure Key Vault-arkiv

För Azure-värdbaserade tjänster kan Dapr använda den hanterade identiteten för de begränsade containerapparna för att autentisera till serverdelstjänstleverantören. När du använder hanterad identitet behöver du inte inkludera hemlig information i ett komponentmanifest. Användning av hanterad identitet rekommenderas eftersom det eliminerar lagring av känsliga indata i komponenter och kräver inte hantering av ett hemligt arkiv.

Kommentar

Metadatafältet azureClientId (klient-ID för den hanterade identiteten) krävs för alla komponenter som autentiserar med användartilldelad hanterad identitet.

Använda en dapr-referens för hemlig lagringskomponent

När du skapar Dapr-komponenter för icke-Entra ID-aktiverade tjänster eller komponenter som inte stöder hanterad identitetsautentisering, kräver vissa metadatafält känsliga indatavärden. För den här metoden hämtar du dessa hemligheter genom att referera till en befintlig Dapr-komponent för hemligt arkiv som på ett säkert sätt kommer åt hemlig information.

Så här konfigurerar du en referens:

  1. Skapa en Dapr secret store-komponent med hjälp av Azure Container Apps-schemat. Komponenttypen för alla Dapr-hemlighetslager som stöds börjar med secretstores..
  2. Skapa extra komponenter (efter behov) som refererar till dapr-hemlighetsarkivkomponenten som du skapade för att hämta indata för känsliga metadata.

Skapa en Dapr-komponent för hemligt arkiv

När du skapar en hemlig butikskomponent i Azure Container Apps kan du ange känslig information i metadataavsnittet på något av följande sätt:

Hemliga Azure Key Vault-butiker

Följande komponentschema visar den enklaste möjliga hemliga butikskonfigurationen med hjälp av ett hemligt Azure Key Vault-arkiv. publisher-app och subscriber-app är konfigurerade för att både ha en system- eller användartilldelad hanterad identitet med lämpliga behörigheter för Azure Key Vault-instansen.

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

Plattformshanterade Kubernetes-hemligheter

Som ett alternativ till Kubernetes-hemligheter, lokala miljövariabler och Lokala dapr-filhemlighetslager tillhandahåller Azure Container Apps en plattformshanterad metod för att skapa och utnyttja Kubernetes-hemligheter. Den här metoden kan användas för att ansluta till icke-Azure-tjänster eller i utvecklings-/testscenarier för att snabbt distribuera komponenter via CLI utan att konfigurera ett hemligt arkiv eller hanterad identitet.

Den här komponentkonfigurationen definierar det känsliga värdet som en hemlig parameter som kan refereras från metadataavsnittet.

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

Referera till Dapr secret store-komponenter

När du har skapat ett Hemligt Dapr-arkiv med någon av de tidigare metoderna kan du referera till det hemliga arkivet från andra Dapr-komponenter i samma miljö. I följande exempel visas hur du använder Entra ID-autentisering.

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

Nästa steg

Lär dig hur du ställer in Dapr-komponentens återhämtning.