|
Add this skill
npx mdskills install sickn33/azure-identity-rustWell-structured reference documentation, but lacks agent-specific trigger conditions and actionable instructions
1---2name: azure-identity-rust3description: |4 Azure Identity SDK for Rust authentication. Use for DeveloperToolsCredential, ManagedIdentityCredential, ClientSecretCredential, and token-based authentication.5 Triggers: "azure-identity", "DeveloperToolsCredential", "authentication rust", "managed identity rust", "credential rust".6package: azure_identity7---89# Azure Identity SDK for Rust1011Authentication library for Azure SDK clients using Microsoft Entra ID (formerly Azure AD).1213## Installation1415```sh16cargo add azure_identity17```1819## Environment Variables2021```bash22# Service Principal (for production/CI)23AZURE_TENANT_ID=<your-tenant-id>24AZURE_CLIENT_ID=<your-client-id>25AZURE_CLIENT_SECRET=<your-client-secret>2627# User-assigned Managed Identity (optional)28AZURE_CLIENT_ID=<managed-identity-client-id>29```3031## DeveloperToolsCredential3233The recommended credential for local development. Tries developer tools in order (Azure CLI, Azure Developer CLI):3435```rust36use azure_identity::DeveloperToolsCredential;37use azure_security_keyvault_secrets::SecretClient;3839let credential = DeveloperToolsCredential::new(None)?;40let client = SecretClient::new(41 "https://my-vault.vault.azure.net/",42 credential.clone(),43 None,44)?;45```4647### Credential Chain Order4849| Order | Credential | Environment |50|-------|-----------|-------------|51| 1 | AzureCliCredential | `az login` |52| 2 | AzureDeveloperCliCredential | `azd auth login` |5354## Credential Types5556| Credential | Usage |57|------------|-------|58| `DeveloperToolsCredential` | Local development - tries CLI tools |59| `ManagedIdentityCredential` | Azure VMs, App Service, Functions, AKS |60| `WorkloadIdentityCredential` | Kubernetes workload identity |61| `ClientSecretCredential` | Service principal with secret |62| `ClientCertificateCredential` | Service principal with certificate |63| `AzureCliCredential` | Direct Azure CLI auth |64| `AzureDeveloperCliCredential` | Direct azd CLI auth |65| `AzurePipelinesCredential` | Azure Pipelines service connection |66| `ClientAssertionCredential` | Custom assertions (federated identity) |6768## ManagedIdentityCredential6970For Azure-hosted resources:7172```rust73use azure_identity::ManagedIdentityCredential;7475// System-assigned managed identity76let credential = ManagedIdentityCredential::new(None)?;7778// User-assigned managed identity79let options = ManagedIdentityCredentialOptions {80 client_id: Some("<user-assigned-mi-client-id>".into()),81 ..Default::default()82};83let credential = ManagedIdentityCredential::new(Some(options))?;84```8586## ClientSecretCredential8788For service principal with secret:8990```rust91use azure_identity::ClientSecretCredential;9293let credential = ClientSecretCredential::new(94 "<tenant-id>".into(),95 "<client-id>".into(),96 "<client-secret>".into(),97 None,98)?;99```100101## Best Practices1021031. **Use `DeveloperToolsCredential` for local dev** — automatically picks up Azure CLI1042. **Use `ManagedIdentityCredential` in production** — no secrets to manage1053. **Clone credentials** — credentials are `Arc`-wrapped and cheap to clone1064. **Reuse credential instances** — same credential can be used with multiple clients1075. **Use `tokio` feature** — `cargo add azure_identity --features tokio`108109## Reference Links110111| Resource | Link |112|----------|------|113| API Reference | https://docs.rs/azure_identity |114| Source Code | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/identity/azure_identity |115| crates.io | https://crates.io/crates/azure_identity |116
Full transparency — inspect the skill content before installing.