(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
Azure Data Factory
Azure Data Factory 1 min

Integração ADF com Azure Key Vault: eliminar credenciais hardcoded

João Barros 23 de April de 2026 1 min de leitura

Por padrão, o Azure Data Factory armazena passwords de Linked Services encriptadas internamente. Mas a melhor prática é referenciar segredos do Azure Key Vault — as credenciais nunca ficam no ADF e a rotação de passwords não exige alterar Linked Services.

Configurar acesso do ADF ao Key Vault

// 1. Activar Managed Identity no ADF (automático)
// 2. Dar permissão ao Key Vault:
az role assignment create \
  --role "Key Vault Secrets User" \
  --assignee "$(az datafactory show -n adf-bconcepts -g rg-data --query identity.principalId -o tsv)" \
  --scope "/subscriptions/.../vaults/kv-bconcepts-prod"

Linked Service com referência ao Key Vault

// No ADF Studio: Linked Service → Azure SQL Database
Authentication: SQL Authentication
User name:    svc_adf_reader
Password:
  [✓] Azure Key Vault
  Key Vault Linked Service: LS_KeyVault
  Secret name: SqlServer-ADF-Password
  Secret version: (deixar em branco → sempre última versão)

Linked Service do Key Vault

// Criar primeiro o LS do Key Vault em si
Type: Azure Key Vault
Base URL: https://kv-bconcepts-prod.vault.azure.net/
Authentication: Managed Identity
// O ADF usa a sua própria Managed Identity para aceder ao vault

Verificar e testar

// Após configuração:
// ADF Studio → Linked Service → Test Connection
// Se a Managed Identity tiver permissão e o segredo existir → Connection successful

// Rota de auditoria no Key Vault:
az monitor activity-log list --resource-id /subscriptions/.../vaults/kv-bconcepts-prod \
  --query "[?operationName.value == 'Microsoft.KeyVault/vaults/secrets/getSecret/action']"

Conclusão

Nunca guarde passwords directamente em Linked Services de produção. A integração ADF + Key Vault + Managed Identity é o padrão de segurança mínimo para pipelines enterprise — sem passwords, sem rotação manual, com auditoria automática de cada acesso.

Partilhar: