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


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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

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

  • Для хранилища секретов Azure Key Vault используйте управляемое удостоверение для установления подключения.
  • Для хранилищ секретов, отличных от Azure, используйте секреты Kubernetes, управляемые платформой, которые определяются непосредственно в рамках манифеста компонента.

Хранилища секретов 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 локального файла Dapr приложения контейнеров Azure предоставляют управляемый платформой подход для создания и использования секретов 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 в той же среде. В следующем примере показано использование проверки подлинности идентификатора Записи.

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

Следующие шаги

Узнайте, как задать устойчивость компонентов Dapr.