Azure Identity SDK
Microsoft's Azure authentication library for Python. Provides credential classes for authenticating against Azure services. Primary interface is DefaultAzureCredential which chains multiple credential sources. Current version is 1.23.1 (Mar 2026).
Warnings
- breaking DefaultAzureCredential silently picks wrong identity. In dev with az login active, authenticates as personal account instead of service principal. Auth succeeds with no error but wrong identity.
- breaking Multi-tenant token requests fail since v1.11.0. Error: 'The current credential is not configured to acquire tokens for tenant X.' Breaks when using az login --tenant with a different tenant than your resource.
- gotcha VisualStudioCodeCredential was removed from DefaultAzureCredential chain, then re-enabled in a later version. Behaviour varies by version. Requires azure-identity-broker to work in current versions.
- gotcha Async credentials in azure.identity.aio must be explicitly closed. Failing to close leaks transport sessions.
- gotcha DEBUG logging via logging_enable=True exposes tokens and secrets in logs.
- deprecated Python 3.8 support dropped August 2025. Python 3.9 support ends April 2026.
Install
-
pip install azure-identity -
pip install azure-identity-broker
Imports
- DefaultAzureCredential
from azure.identity import DefaultAzureCredential
- ManagedIdentityCredential
from azure.identity import ManagedIdentityCredential
- AsyncDefaultAzureCredential
from azure.identity.aio import DefaultAzureCredential
Quickstart
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient
# reads from env, CLI, managed identity etc in order
credential = DefaultAzureCredential()
client = BlobServiceClient(
account_url='https://<account>.blob.core.windows.net',
credential=credential
)