Partilhar via


Conectar-se a outros serviços do Azure ou de terceiros por meio de componentes do Dapr

Estabeleça conexões com segurança com o Azure e serviços de terceiros para componentes do Dapr usando identidade gerenciada ou armazenamentos secretos do Cofre de Chaves do Azure.

Antes de começar, saiba mais sobre o suporte oferecido para componentes Dapr.

Recomendações

Sempre que possível, é recomendável usar componentes do Azure que fornecem suporte de identidade gerenciada para a conexão mais segura. Use os armazenamentos secretos do Cofre de Chaves do Azure somente quando a autenticação de identidade gerenciada não for suportada.

Tipo de serviço Recomendação
Componente do Azure com suporte de identidade gerenciada Usar o fluxo de identidade gerenciado (recomendado)
Componente do Azure sem suporte de identidade gerenciada Usar um repositório secreto do Azure Key Vault
Componentes que não são do Azure Usar um repositório secreto 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. O uso de identidade gerenciada é recomendado , pois elimina o armazenamento de entradas confidenciais em componentes e não requer o gerenciamento de um armazenamento secreto.

Nota

O azureClientId campo de metadados (o ID do cliente da identidade gerenciada) é necessário para qualquer componente autenticado com identidade gerenciada atribuída pelo usuário.

Usando uma referência de componente de armazenamento secreto do Dapr

Quando você cria componentes Dapr para serviços habilitados para ID não Entra ou componentes que não suportam autenticação de identidade gerenciada, determinados campos de metadados exigem valores de entrada confidenciais. Para essa abordagem, recupere esses segredos fazendo referência a um componente de armazenamento secreto do Dapr existente que acessa informações secretas com segurança.

Para configurar uma referência:

  1. Crie um componente de armazenamento secreto do Dapr usando o esquema de Aplicativos de Contêiner do Azure. O tipo de componente para todos os armazenamentos secretos Dapr suportados começa com secretstores..
  2. Crie componentes extras (conforme necessário) que façam referência ao componente de armazenamento secreto do Dapr que você criou para recuperar a entrada de metadados confidenciais.

Criando um componente de armazenamento secreto do Dapr

Ao criar um componente de armazenamento secreto em Aplicativos de Contêiner do Azure, você pode fornecer informações confidenciais na seção de metadados de uma das seguintes maneiras:

Armazenamentos secretos do Azure Key Vault

O esquema de componente a seguir mostra a configuração de armazenamento secreto mais simples possível usando um armazenamento secreto do Cofre de Chaves do Azure. publisher-app e subscriber-app estão configurados para ter uma identidade gerenciada atribuída pelo sistema ou pelo usuário com as permissões apropriadas na instância do Cofre de Chaves do Azure.

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 local e armazenamentos secretos de Dapr de arquivo local, os Aplicativos de Contêiner do Azure fornecem uma abordagem gerenciada por plataforma para criar e aproveitar segredos do Kubernetes. Essa abordagem pode ser usada para se conectar a serviços que não sejam do Azure ou em cenários de desenvolvimento/teste para implantar rapidamente componentes por meio da CLI sem configurar um armazenamento secreto ou 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

Fazendo referência aos componentes da loja secreta Dapr

Depois de criar um repositório secreto do Dapr usando uma das abordagens anteriores, você pode fazer referência a esse armazenamento secreto de outros componentes do Dapr no mesmo ambiente. O exemplo a seguir demonstra o uso da autenticação 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

Próximos passos

Saiba como definir a resiliência do componente Dapr.