Integración de ADF con Azure Key Vault: eliminar credenciales hardcoded
João Barros
23 de April de 2026
1 min de lectura
Por defecto, Azure Data Factory almacena las contraseñas de los Linked Services cifradas internamente. Pero la mejor práctica es referenciar secretos de Azure Key Vault — las credenciales nunca quedan en ADF y la rotación de contraseñas no exige cambiar los Linked Services.
Configurar el acceso de ADF al Key Vault
// 1. Activar Managed Identity en el ADF (automático)
// 2. Dar permiso en el 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 con referencia al Key Vault
// En 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: (dejar en blanco → siempre la última versión)
Linked Service del Key Vault
// Crear primero el LS del propio Key Vault
Type: Azure Key Vault
Base URL: https://kv-bconcepts-prod.vault.azure.net/
Authentication: Managed Identity
// ADF usa su propia Managed Identity para acceder al vault
Verificar y probar
// Tras la configuración:
// ADF Studio → Linked Service → Test Connection
// Si la Managed Identity tiene permiso y el secreto existe → Connection successful
// Ruta de auditoría en el Key Vault:
az monitor activity-log list --resource-id /subscriptions/.../vaults/kv-bconcepts-prod \
--query "[?operationName.value == 'Microsoft.KeyVault/vaults/secrets/getSecret/action']"
Conclusión
Nunca guarde contraseñas directamente en Linked Services de producción. La integración ADF + Key Vault + Managed Identity es el estándar de seguridad mínimo para pipelines enterprise — sin contraseñas, sin rotación manual, con auditoría automática de cada acceso.