Conectar-se a outros serviços do Azure ou de terceiros por meio de componentes do Dapr
Estabeleça conexões seguras com o Azure e serviços de terceiros para os componentes do Dapr usando identidade gerenciada ou repositórios de segredos do Azure Key Vault.
Antes de começar, saiba mais sobre o suporte oferecido para componentes do Dapr.
Recomendações
Sempre que possível, recomenda-se usar componentes do Azure que ofereçam suporte à identidade gerenciada para a conexão mais segura. Use repositórios de segredos do Azure Key Vault somente quando não houver suporte para autenticação por identidade gerenciada.
Tipo de serviço | Recomendação |
---|---|
Componente do Azure com suporte à identidade gerenciada | Usar o fluxo de identidade gerenciada (recomendado) |
Componente do Azure sem suporte à identidade gerenciada | Usar um repositório de segredos do Azure Key Vault |
Componentes que não são do Azure | Usar um repositório de segredos do Azure Key Vault |
Usar a 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 Repositório Secreto do Dapr
Quando você cria componentes do Dapr para serviços que não habilitados para Entra ID ou componentes que não têm suporte de autenticação por identidade gerenciada, certos campos de metadados exigem valores confidenciais de entrada. 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 de repositório de segredos do Dapr usando o esquema dos 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 do Dapr que você criou para recuperar a entrada de metadados confidenciais.
Criar um componente do repositório de segredos do Dapr
Ao criar um componente de repositório de segredos nos 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 de segredos do Azure Key Vault, use a identidade gerenciada para estabelecer a conexão.
- Para repositórios de segredos que não são do Azure, use segredos do Kubernetes gerenciados pela plataforma que são 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 segredos do 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 do 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, variáveis de ambiente locais e repositórios de segredos locais do Dapr, os Aplicativos de Contêiner do Azure oferecem uma abordagem gerenciada pela plataforma para criar e utilizar segredos do Kubernetes. Essa abordagem pode ser usada para se conectar a serviços não Azure ou em cenários de desenvolvimento/teste para implantar componentes rapidamente 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
Referenciando componentes do repositório secreto 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 de ID do 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