Připojení k jiným Azure nebo partnerským službám pomocí komponent Dapr

Zabezpečeně navazujte připojení k Azure a k jiným než Microsoft službám pro komponenty Dapr pomocí spravované identity nebo úložišť tajných kódů Azure Key Vault.

Než začnete, přečtěte si další informace o nabízené podpoře komponent Dapr.

Doporučení

Pro nejbezpečnější připojení doporučujeme používat Azure komponenty, které poskytují podporu spravované identity, kdykoli je to možné. Pokud se nepodporuje ověřování spravované identity, používejte tajná úložiště Azure Key Vault pouze.

Typ služby Doporučení
komponenta Azure s podporou spravované identity Použití toku spravované identity (doporučeno)
komponenta Azure bez podpory spravované identity Použití úložiště tajných kódů Azure Key Vault
Součásti, které nejsou Azure Použití úložiště tajných kódů Azure Key Vault

U Azure hostovaných služeb může Dapr použít managed identitu vymezených aplikací kontejnerů k ověření u poskytovatele back-endových služeb. Při použití spravované identity nemusíte do manifestu komponenty zahrnout tajné informace. Použití spravované identity se doporučuje , protože eliminuje ukládání citlivých vstupů do komponent a nevyžaduje správu úložiště tajných kódů.

Poznámka:

Pole azureClientId metadat (ID klienta spravované identity) se vyžaduje pro všechny komponenty, které se ověřují pomocí spravované identity přiřazené uživatelem.

Použití odkazu na komponentu úložiště tajných kódů Dapr

Když vytvoříte komponenty Dapr pro služby bez povolení Entra ID nebo komponenty, které nepodporují ověřování spravovaných identit, některá pole metadat vyžadují citlivé vstupní hodnoty. Pro tento přístup načtěte tyto tajné kódy odkazem na existující komponentu úložiště tajných kódů Dapr, která bezpečně přistupuje k tajným informacím.

Nastavení odkazu:

  1. Vytvořte komponentu úložiště tajných kódů Dapr pomocí schématu Azure Container Apps. Typ komponenty všech podporovaných úložišť tajemství Dapr začíná na secretstores.
  2. Vytvořte další komponenty (podle potřeby), které odkazují na komponentu úložiště tajných kódů Dapr , kterou jste vytvořili pro načtení vstupu citlivých metadat.

Vytvoření komponenty úložiště tajných kódů Dapr

Při vytváření komponenty úložiště tajných kódů v Azure Container Apps můžete v části metadat zadat citlivé informace jedním z následujících způsobů:

  • Pro úložiště tajných kódů Azure Key Vault použijte spravovanou identitu k navázání připojení.
  • Pro úložiště tajných kódů non-Azure použijte tajné kódy Kubernetes spravované platformou, které jsou definované přímo jako součást manifestu komponenty.

úložiště tajných kódů Azure Key Vault

Následující schéma komponent představuje nejjednodušší možnou konfiguraci úložiště tajných kódů pomocí Azure Key Vault úložiště tajných kódů. publisher-app a subscriber-app mají spravovanou identitu přidělenou systémem nebo uživatelem s příslušnými oprávněními k instanci 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

Tajné kódy Kubernetes spravované platformou

Jako alternativu k tajemstvím Kubernetes, místním proměnným prostředím a úložištím tajemství Dapr v místních souborech poskytuje Azure Container Apps řešení spravované platformou pro vytváření a používání Kubernetes tajemství. Tento přístup lze použít k připojení ke službám, které nejsou Azure. Nebo ve scénářích vývoje a testování je možné je použít k rychlému nasazování komponent prostřednictvím rozhraní příkazového řádku bez nastavení úložiště tajných kódů nebo spravované identity.

Tato konfigurace komponenty definuje citlivou hodnotu jako parametr tajného kódu, na který lze odkazovat v části metadat.

Některé vestavěné role Container Apps dávají oprávnění k uvádění hodnot tajemství nastavených pro Dapr komponenty. Před přiřazením role si zkontrolujte oprávnění pro správu tajemství.

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

Referenční informace o komponentách úložiště tajných kódů Dapr

Jakmile vytvoříte úložiště tajných kódů Dapr pomocí některého z předchozích přístupů, můžete na toto úložiště tajných kódů odkazovat z jiných komponent Dapr ve stejném prostředí. Následující příklad ukazuje použití ověřování 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