Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Безопасно устанавливайте подключения к службам 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, который безопасно получает доступ к секретным данным.
Чтобы настроить ссылку, выполните указанные действия.
- Создайте компонент хранилища секретов 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 в виде файлов, 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