Sdílet prostřednictvím


Připojení k jiným službám Azure nebo službám třetích stran prostřednictvím komponent Dapr

Bezpečně navazujte připojení ke službám Azure a službám třetích stran pro komponenty Dapr pomocí spravované identity nebo úložišť tajných kódů služby Azure Key Vault.

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

Doporučení

Kdykoli je to možné, doporučujeme používat komponenty Azure, které poskytují podporu spravované identity pro nejbezpečnější připojení. Úložiště tajných kódů služby Azure Key Vault používejte jenom v případech, kdy se nepodporuje ověřování spravovaných identit.

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ů služby Azure Key Vault
Komponenty mimo Azure Použití úložiště tajných kódů služby Azure Key Vault

U služeb hostovaných v Azure může Dapr použít spravovanou identitu aplikací kontejnerů s vymezeným oborem 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 nebo komponenty, které nepodporují ověřování spravované identity, 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 pro všechna podporovaná úložiště tajných kódů Dapr začíná secretstores.na .
  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ů ve službě 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í.
  • V případě úložišť tajných kódů mimo 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ů služby Azure Key Vault

Následující schéma komponent představuje nejjednodušší možnou konfiguraci úložiště tajných kódů pomocí úložiště tajných kódů služby Azure Key Vault. publisher-app a subscriber-app jsou nakonfigurované tak, aby měly spravovanou identitu přiřazenou systémem nebo uživatelem s příslušnými oprávněními k instanci služby 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 tajným kódům Kubernetes, místním proměnným prostředí a úložištím tajných kódů Dapr místního souboru Dapr poskytuje Služba Azure Container Apps přístup spravovaný platformou pro vytváření a využívání tajných kódů Kubernetes. Tento přístup se dá použít k připojení ke službám mimo Azure nebo ve scénářích vývoje/testování pro rychlé 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.

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

Odkazování na komponenty ú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í 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

Další kroky

Zjistěte, jak nastavit odolnost komponent Dapr.