<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
maruf-sherikar/antigravity-skills/azure-identity-rust
──Details
PublishedOctober 22, 2026 at 09:34 PM
Content Hashsha256:f494c1abe8973d4f...
Git SHA2a0c1fc9310b
──Files
Files (1 file, 3.4 KB)
SKILL.md3.4 KBactive
SKILL.md · 117 lines · 3.4 KB

version: "1.0.0" name: azure-identity-rust description: | Azure Identity SDK for Rust authentication. Use for DeveloperToolsCredential, ManagedIdentityCredential, ClientSecretCredential, and token-based authentication. Triggers: "azure-identity", "DeveloperToolsCredential", "authentication rust", "managed identity rust", "credential rust". package: azure_identity


Azure Identity SDK for Rust

Authentication library for Azure SDK clients using Microsoft Entra ID (formerly Azure AD).

Installation

sh
cargo add 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>

DeveloperToolsCredential

The recommended credential for local development. Tries developer tools in order (Azure CLI, Azure Developer CLI):

rust
use azure_identity::DeveloperToolsCredential;
use azure_security_keyvault_secrets::SecretClient;
let credential = DeveloperToolsCredential::new(None)?;
let client = SecretClient::new(
"https://my-vault.vault.azure.net/",
credential.clone(),
None,
)?;

Credential Chain Order

OrderCredentialEnvironment
1AzureCliCredentialaz login
2AzureDeveloperCliCredentialazd auth login

Credential Types

CredentialUsage
DeveloperToolsCredentialLocal development - tries CLI tools
ManagedIdentityCredentialAzure VMs, App Service, Functions, AKS
WorkloadIdentityCredentialKubernetes workload identity
ClientSecretCredentialService principal with secret
ClientCertificateCredentialService principal with certificate
AzureCliCredentialDirect Azure CLI auth
AzureDeveloperCliCredentialDirect azd CLI auth
AzurePipelinesCredentialAzure Pipelines service connection
ClientAssertionCredentialCustom assertions (federated identity)

ManagedIdentityCredential

For Azure-hosted resources:

rust
use azure_identity::ManagedIdentityCredential;
// System-assigned managed identity
let credential = ManagedIdentityCredential::new(None)?;
// User-assigned managed identity
let options = ManagedIdentityCredentialOptions {
client_id: Some("<user-assigned-mi-client-id>".into()),
..Default::default()
};
let credential = ManagedIdentityCredential::new(Some(options))?;

ClientSecretCredential

For service principal with secret:

rust
use azure_identity::ClientSecretCredential;
let credential = ClientSecretCredential::new(
"<tenant-id>".into(),
"<client-id>".into(),
"<client-secret>".into(),
None,
)?;

Best Practices

  1. Use `DeveloperToolsCredential` for local dev — automatically picks up Azure CLI
  2. Use `ManagedIdentityCredential` in production — no secrets to manage
  3. Clone credentials — credentials are Arc-wrapped and cheap to clone
  4. Reuse credential instances — same credential can be used with multiple clients
  5. Use `tokio` feature — cargo add azure_identity --features tokio

Reference Links

ResourceLink
API Referencehttps://docs.rs/azure_identity
Source Codehttps://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/identity/azure_identity
crates.iohttps://crates.io/crates/azure_identity
All versions