Поделиться через


Подключение к другим службам Azure или партнерским службам с помощью компонентов Dapr

Безопасно устанавливайте подключения к службам Azure и не-Microsoft для компонентов Dapr, используя либо управляемую идентификацию, либо секретное хранилище Azure Key Vault.

Прежде чем приступить к работе, узнайте больше о предлагаемой поддержке компонентов Dapr.

Рекомендации

По возможности рекомендуется использовать компоненты Azure, обеспечивающие поддержку управляемых удостоверений для наиболее безопасного подключения. Используйте хранилища секретов Azure Key Vault только в случае, если проверка подлинности управляемого удостоверения не поддерживается.

тип услуги; Рекомендация
Компонент Azure с поддержкой управляемого удостоверения Использование потока управляемых удостоверений (рекомендуется)
Компонент Azure без поддержки управляемых удостоверений Использование хранилища секретов Azure Key Vault
Компоненты, отличные от Azure Использование хранилища секретов Azure Key Vault

Для служб, размещенных в Azure, Dapr может использовать управляемое удостоверение контейнерных приложений с областью действия для проверки подлинности у поставщика серверных служб. При использовании управляемого удостоверения не требуется включать секретные сведения в манифест компонента. Использование управляемого удостоверения рекомендуется , так как оно устраняет хранение конфиденциальных входных данных в компонентах и не требует управления хранилищем секретов.

Примечание.

azureClientId Поле метаданных (идентификатор клиента управляемого удостоверения) требуется для проверки подлинности любого компонента с помощью управляемого удостоверения, назначаемого пользователем.

Использование ссылки на компонент хранилища секретов Dapr

При создании компонентов Dapr для служб, не поддерживающих Entra ID, или компонентов, которые не поддерживают проверку подлинности управляемого удостоверения, некоторые поля метаданных требуют конфиденциальных входных значений. В рамках этого подхода получите эти секреты, ссылаясь на существующий компонент хранилища секретов Dapr, который безопасно получает доступ к секретным данным.

Чтобы настроить ссылку, выполните указанные действия.

  1. Создайте компонент хранилища секретов Dapr с помощью схемы Azure Container Apps. Тип компонента для всех поддерживаемых хранилищ секретов Dapr начинается с secretstores.
  2. Создайте дополнительные компоненты (по мере необходимости), которые ссылаются на созданный вами компонент хранилища секретов Dapr для получения конфиденциальных входных данных метаданных.

Создание компонента хранилища секретов Dapr

При создании компонента хранилища секретов в приложениях контейнеров Azure можно предоставить конфиденциальную информацию в разделе метаданных в любом из следующих способов:

Хранилища секретов в Azure Key Vault

Следующая схема компонента демонстрирует простую конфигурацию хранилища секретов с помощью хранилища секретов Azure Key Vault. publisher-app и subscriber-app настроены для использования системного или пользовательского управляемого удостоверения с соответствующими разрешениями на экземпляре 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

Секреты Kubernetes, управляемые платформой.

В качестве альтернативы используемым в Kubernetes секретам, переменным локальной среды и локальным хранилищам секретов Dapr в виде файлов, Azure Container Apps предоставляет подход с управлением через платформу для создания и использования секретов Kubernetes. Этот подход можно использовать для подключения к службам, отличным от Azure, или в сценариях разработки и тестирования для быстрого развертывания компонентов с помощью интерфейса командной строки без настройки хранилища секретов или управляемого удостоверения.

Эта конфигурация компонента определяет конфиденциальное значение как секретный параметр, на который можно ссылаться из раздела метаданных.

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

Справочник по компонентам хранилища секретов Dapr

После создания хранилища секретов Dapr с помощью одного из предыдущих подходов можно ссылаться на это хранилище секретов из других компонентов Dapr в той же среде. В следующем примере показано использование проверки подлинности идентификатора Microsoft Entra.

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