Managed Identities en Azure: autenticación sin contraseñas ni secrets
João Barros
10 de October de 2025
2 min de lectura
Uno de los anti-patrones más comunes en la nube es almacenar contraseñas y connection strings en archivos de configuración o variables de entorno. Las Managed Identities eliminan este problema — Azure gestiona automáticamente las credenciales, y la aplicación se autentica a través de Azure AD sin ver nunca una contraseña.
Tipos de Managed Identity
- System-assigned — creada y gestionada por el ciclo de vida del recurso (VM, App Service, ADF). Cuando se elimina el recurso, la identidad también.
- User-assigned — una identidad independiente que puede asignarse a múltiples recursos. Útil para compartir permisos entre varios servicios.
Activar en una VM
az vm identity assign \
--name vm-analytics \
--resource-group rg-analytics \
--role "Storage Blob Data Reader" \
--scope /subscriptions/.../storageAccounts/stadatalake
Usar en código Python
from azure.identity import ManagedIdentityCredential
from azure.storage.blob import BlobServiceClient
credential = ManagedIdentityCredential()
client = BlobServiceClient(
account_url="https://stadatalake.blob.core.windows.net",
credential=credential
)
# Sin contraseñas, sin connection strings
Usar en Azure Data Factory
En ADF, los Linked Services admiten autenticación vía Managed Identity de forma nativa. En SQL Server, añada la identidad como usuario:
-- Dar acceso al ADF en Azure SQL
CREATE USER [adf-bconcepts] FROM EXTERNAL PROVIDER
EXEC sp_addrolemember 'db_datareader', 'adf-bconcepts'
Conclusión
Las Managed Identities son la forma más segura y simple de autenticar servicios Azure entre sí. Eliminan el riesgo de credenciales expuestas en código, simplifican la rotación de secretos y reducen la superficie de ataque. Adóptelas como estándar en todos los nuevos proyectos Azure.