Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Estabeleça com segurança conexões com Azure e serviços não Microsoft para componentes Dapr usando a identidade gerenciada ou repositórios de segredos do Azure Key Vault.
Antes de começar, saiba mais sobre o suporte oferecido para componentes Dapr.
Recomendações
Para a conexão mais segura, recomendamos que você use Azure componentes que fornecem suporte à identidade gerenciada sempre que possível. Utilize o armazenamento de segredos do Azure Key Vault somente quando não houver suporte para autenticação de identidade gerenciada.
| Tipo de serviço | Recomendação |
|---|---|
| Componente Azure com suporte à identidade gerenciada | Usar o fluxo de identidade gerenciada (recomendado) |
| Componente Azure sem suporte para identidade gerenciada | Use um repositório de segredos no Azure Key Vault |
| Componentes não Azure | Use um repositório de segredos no Azure Key Vault |
Usar identidade gerenciada (recomendado)
Para serviços hospedados no Azure, o Dapr pode usar a identidade gerenciada dos aplicativos de contêiner com escopo para autenticar no provedor de serviços de back-end. Ao usar a identidade gerenciada, você não precisa incluir informações secretas em um manifesto de componente. Recomenda-se o uso de identidade gerenciada, pois ela elimina o armazenamento de informações confidenciais nos componentes e não requer o gerenciamento de um repositório de segredos.
Observação
O azureClientId campo de metadados (a ID do cliente da identidade gerenciada) é necessário para qualquer componente que se autentique com a identidade gerenciada atribuída pelo usuário.
Usar uma referência de componente do armazenamento de segredos Dapr
Quando você cria componentes Dapr para serviços que não são habilitados para Entra ID ou componentes que não dão suporte à autenticação de identidade gerenciada, determinados campos de metadados exigem valores de entrada confidenciais. Para essa abordagem, recupere esses segredos referenciando um componente de repositório de segredos do Dapr existente, que acessa as informações de forma segura.
Para configurar uma referência:
- Crie um componente do repositório secreto Dapr usando o esquema Aplicativos de Contêiner do Azure. O tipo de componente para todos os repositórios secretos Dapr com suporte começa com
secretstores. - Crie componentes extras (conforme necessário) que referenciem o componente do repositório de segredos Dapr que você criou para recuperar a entrada de metadados confidenciais.
Criar um componente do repositório de segredos Dapr
Ao criar um componente do repositório secreto em Aplicativos de Contêiner do Azure, você pode fornecer informações confidenciais na seção de metadados de qualquer uma das seguintes maneiras:
- Para um repositório secreto Azure Key Vault, use a identidade gerenciada para estabelecer a conexão.
- Para repositórios de segredos não-Azure, use segredos do Kubernetes geridos pela plataforma e definidos diretamente como parte do manifesto do componente.
Repositórios de segredos do Azure Key Vault
O esquema de componente a seguir mostra a configuração mais simples possível do repositório de segredos usando um repositório de segredo Azure Key Vault.
publisher-app e subscriber-app são configurados para ter uma identidade gerenciada atribuída pelo sistema ou pelo usuário com permissões apropriadas na instância de 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
Segredos do Kubernetes gerenciados pela plataforma
Como alternativa aos segredos do Kubernetes, às variáveis de ambiente locais e aos repositórios de segredos da Dapr de arquivos locais, Aplicativos de Contêiner do Azure fornece uma abordagem gerenciada pela plataforma para criar e usar segredos do Kubernetes. Essa abordagem pode ser usada para se conectar a serviços não Azure. Ou, em cenários de desenvolvimento/teste, ele pode ser usado para implantar rapidamente componentes por meio da CLI sem configurar um repositório secreto ou uma identidade gerenciada.
Essa configuração de componente define o valor confidencial como um parâmetro secreto que pode ser referenciado na seção de metadados.
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
Referenciar componentes do repositório de segredos Dapr
Depois de criar um repositório de segredos do Dapr usando uma das abordagens anteriores, você pode referenciar esse repositório de outros componentes do Dapr no mesmo ambiente. O exemplo a seguir demonstra o uso da autenticação do Microsoft 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