Skip to main content

azure-identity-py

Azure Identity SDK for Python authentication. Use for DefaultAzureCredential, managed identity, service principals, and token caching. Triggers on azure-identity, DefaultAzureCredential, authentication, managed identity, service principal, credential.

설치로 이동

소스 정보

저장소
aiappsgbb/template
최근 소스 활동
2026년 2월 13일 08:47
감지된 SKILL.md 언어
영어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
azure-identity-py
description
Azure Identity SDK for Python authentication. Use for DefaultAzureCredential, managed identity, service principals, and token caching. Triggers on azure-identity, DefaultAzureCredential, authentication, managed identity, service principal, credential.
package
azure-identity
# Azure Identity SDK for Python Authentication library for Azure SDK clients using Microsoft Entra ID (formerly Azure AD). ## Installation ```bash pip install azure-identity ``` ## Environment Variables ```bash # Service Principal (for production/CI) AZURE_TENANT_ID=<your-tenant-id> AZURE_CLIENT_ID=<your-client-id> AZURE_CLIENT_SECRET=<your-client-secret> # User-assigned Managed Identity (optional) AZURE_CLIENT_ID=<managed-identity-client-id> ``` ## DefaultAzureCredential The recommended credential for most scenarios. Tries multiple authentication methods in order: ```python from azure.identity import DefaultAzureCredential from azure.storage.blob import BlobServiceClient # Works in local dev AND production without code changes credential = DefaultAzureCredential() client = BlobServiceClient( account_url="https://<account>.blob.core.windows.net", credential=credential ) ``` ### Credential Chain Order | Order | Credential | Environment | |-------|-----------|-------------| | 1 | EnvironmentCredential | CI/CD, containers | | 2 | WorkloadIdentityCredential | Kubernetes | | 3 | ManagedIdentityCredential | Azure VMs, App Service, Functions | | 4 | SharedTokenCacheCredential | Windows only | | 5 | VisualStudioCodeCredential | VS Code with Azure extension | | 6 | AzureCliCredential | `az login` | | 7 | AzurePowerShellCredential | `Connect-AzAccount` | | 8 | AzureDeveloperCliCredential | `azd auth login` | ### Customizing DefaultAzureCredential ```python # Exclude credentials you don't need credential = DefaultAzureCredential( exclude_environment_credential=True, exclude_shared_token_cache_credential=True, managed_identity_client_id="<user-assigned-mi-client-id>" # For user-assigned MI ) # Enable interactive browser (disabled by default) credential = DefaultAzureCredential( exclude_interactive_browser_credential=False ) ``` ## Specific Credential Types ### ManagedIdentityCredential For Azure-hosted resources (VMs, App Service, Functions, AKS): ```python from azure.identity import ManagedIdentityCredential # System-assigned managed identity credential = ManagedIdentityCredential() # User-assigned managed identity credential = ManagedIdentityCredential( client_id="<user-assigned-mi-client-id>" ) ``` ### ClientSecretCredential For service principal with secret: ```python from azure.identity import ClientSecretCredential credential = ClientSecretCredential( tenant_id=os.environ["AZURE_TENANT_ID"], client_id=os.environ["AZURE_CLIENT_ID"], client_secret=os.environ["AZURE_CLIENT_SECRET"] ) ``` ### AzureCliCredential Uses the account from `az login`: ```python from azure.identity import AzureCliCredential credential = AzureCliCredential() ``` ### ChainedTokenCredential Custom credential chain: ```python from azure.identity import ( ChainedTokenCredential, ManagedIdentityCredential, AzureCliCredential ) # Try managed identity first, fall back to CLI credential = ChainedTokenCredential( ManagedIdentityCredential(client_id="<user-assigned-mi-client-id>"), AzureCliCredential() ) ``` ## Credential Types Table | Credential | Use Case | Auth Method | |------------|----------|-------------| | `DefaultAzureCredential` | Most scenarios | Auto-detect | | `ManagedIdentityCredential` | Azure-hosted apps | Managed Identity | | `ClientSecretCredential` | Service principal | Client secret | | `ClientCertificateCredential` | Service principal | Certificate | | `AzureCliCredential` | Local development | Azure CLI | | `AzureDeveloperCliCredential` | Local development | Azure Developer CLI | | `InteractiveBrowserCredential` | User sign-in | Browser OAuth | | `DeviceCodeCredential` | Headless/SSH | Device code flow | ## Getting Tokens Directly ```python from azure.identity import DefaultAzureCredential credential = DefaultAzureCredential() # Get token for a specific scope token = credential.get_token("https://management.azure.com/.default") print(f"Token expires: {token.expires_on}") # For Azure Database for PostgreSQL token = credential.get_token("https://ossrdbms-aad.database.windows.net/.default") ``` ## Async Client ```python from azure.identity.aio import DefaultAzureCredential from azure.storage.blob.aio import BlobServiceClient async def main(): credential = DefaultAzureCredential() async with BlobServiceClient( account_url="https://<account>.blob.core.windows.net", credential=credential ) as client: # ... async operations pass await credential.close() ``` ## Best Practices 1. **Use DefaultAzureCredential** for code that runs locally and in Azure 2. **Never hardcode credentials** — use environment variables or managed identity 3. **Prefer managed identity** in production Azure deployments 4. **Use ChainedTokenCredential** when you need a custom credential order 5. **Close async credentials** explicitly or use context managers 6. **Set AZURE_CLIENT_ID** for user-assigned managed identities 7. **Exclude unused credentials** to speed up authentication
GitHub에서 보기