Azure Identity for Python: Secure Azure Authentication
Azure Identity provides a unified approach to authentication that works seamlessly across development and production environments. No more juggling different credential types or storing secrets in environment variables — DefaultAzureCredential handles it all automatically.
What This Skill Does
Offers DefaultAzureCredential for automatic credential chain, managed identity support for Azure hosting, service principal authentication, interactive browser flows, device code flows for headless environments, and async credential support for asyncio applications.
Getting Started
pip install azure-identity
Use DefaultAzureCredential for all Azure SDK operations:
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
credential = DefaultAzureCredential()
client = SecretClient(
vault_url="https://myvault.vault.azure.net",
credential=credential
)
Works locally with Azure CLI and in production with managed identity — no code changes needed.
Key Features
DefaultAzureCredential tries: environment variables → managed identity → Azure CLI → Azure PowerShell → VS Code → interactive browser. ManagedIdentityCredential leverages Azure's identity system. EnvironmentCredential reads from environment. Async Support for asyncio applications.
When to Use
Use for all Azure SDK authentication, replacing stored secrets and connection strings, implementing zero-trust security, and ensuring consistent auth across environments. This is the recommended approach for all new Python applications using Azure.
Source
Maintained by Microsoft. View on GitHub