Managed Identities na Azure: autenticação sem passwords nem secrets
João Barros
10 de October de 2025
2 min de leitura
Um dos anti-padrões mais comuns na cloud é armazenar passwords e connection strings em ficheiros de configuração ou variáveis de ambiente. As Managed Identities eliminam este problema — a Azure gere automaticamente as credenciais, e a aplicação autentica-se através do Azure AD sem nunca ver uma password.
Tipos de Managed Identity
- System-assigned — criada e gerida pelo ciclo de vida do recurso (VM, App Service, ADF). Quando o recurso é eliminado, a identity também é.
- User-assigned — identidade independente que pode ser atribuída a múltiplos recursos. Útil para partilhar permissões entre vários serviços.
Activar numa VM
az vm identity assign \
--name vm-analytics \
--resource-group rg-analytics \
--role "Storage Blob Data Reader" \
--scope /subscriptions/.../storageAccounts/stadatalake
Usar em 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
)
# Sem passwords, sem connection strings
Usar no Azure Data Factory
No ADF, os Linked Services suportam autenticação via Managed Identity nativamente. No SQL Server, adicione a identity como utilizador:
-- Dar acesso ao ADF no Azure SQL
CREATE USER [adf-bconcepts] FROM EXTERNAL PROVIDER
EXEC sp_addrolemember 'db_datareader', 'adf-bconcepts'
Conclusão
Managed Identities são a forma mais segura e simples de autenticar serviços Azure entre si. Eliminam o risco de credentials expostas em código, simplificam a rotação de segredos e reduzem a superfície de ataque. Adopte-as como padrão em todos os novos projectos Azure.