Подключение к другим службам 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, который безопасно обращается к секретной информации.
Чтобы настроить ссылку, выполните указанные действия.
- Создайте компонент хранилища секретов Dapr с помощью схемы Azure Container Apps. Тип компонента для всех поддерживаемых хранилищ секретов Dapr начинается с
secretstores.
. - Создайте дополнительные компоненты (по мере необходимости), которые ссылаются на компонент хранилища секретов 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