Compartilhar via


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

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:

  1. 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..
  2. 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:

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

Próximas etapas

Saiba como definir a resiliência do componente do Dapr.