Dev & Engineering ✓ Microsoft · Official rustazure-identityentra-idmanaged-identityservice-principalazure-sdkauthentication

Azure Identity for Rust

Configure Microsoft Entra ID authentication for Azure SDK clients written in Rust.

FollowSkills review · FSRS-2.0
Not recommended
45/ 100 5-point scale 2.3 / 5
Trust13 / 25 · 2.6/5

The document restricts use to official azure_* crates and recommends avoiding hardcoded credentials, using environment variables, and applying RBAC, reducing dependency and privilege risk. However, the example prints secret.value with debug formatting, which may expose sensitive data, and it lacks explicit confirmation, log-redaction, least-privilege detail, and recovery guidance, so points are deducted.

Reliability7 / 20 · 1.8/5

Installation commands, credential categories, and primary code paths are broadly consistent, with Rust error propagation. However, versions are not pinned, no key-path tests or reproducible static evidence are provided, the Key Vault service crate used by the example is absent from the install command, and abnormal-input feedback is mostly generic errors; the score is therefore conservative and capped by static calibration.

Adaptability8 / 15 · 2.7/5

Audience, scenarios, trigger phrases, and the local-development/production distinction are reasonably clear, including the explicit statement that Rust lacks DefaultAzureCredential. Non-fit boundaries, input/output contracts, compatibility ranges, Chinese-language support, and mainland-China reachability are not addressed, so points are deducted.

Convention8 / 15 · 2.7/5

The skill includes metadata, installation, environment variables, authentication examples, a credential table, best practices, reference links, MIT licensing, and Microsoft attribution. It lacks a version policy, changelog, explicit maintenance/update path, FAQ, and troubleshooting guidance; dependency instructions are also incomplete, so points are deducted.

Effectiveness5 / 15 · 1.7/5

It can directly guide common Rust Azure authentication choices and basic implementation, offering useful value over manual lookup. However, example completeness is limited, dependencies are not fully listed, and API/version correctness is not supported by in-file test evidence, so substantial human review remains necessary and the static cap applies.

Verifiability4 / 10 · 2.0/5

The skill supplies auditable crates.io, docs.rs, and Azure SDK source references and states an official-crate constraint. No execution was performed, and the selected skill has no committed dedicated tests, CI coverage, or pinned versions in the supplied evidence; corroboration is therefore limited and points are deducted.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 9ccaf7c3704a
Before you use it
  • Do not print secret.value in production code or logs; apply redaction and least-privilege RBAC.
  • The Key Vault service crate used in the example is absent from the installation command, and azure_identity/API versions are not pinned; verify the matching version documentation and add all required dependencies before implementation.
  • The document does not address reachability of Azure CLI, azd, or Azure services from mainland-China networks or provide alternatives.
See the full review method →

What it does & when to use it

This skill helps Rust developers authenticate Azure SDK clients with the official Azure Rust crates. It covers local development, Azure-hosted workloads, service principals, workload identity, and direct Azure CLI credentials. It explicitly notes that the Rust SDK does not provide DefaultAzureCredential: use DeveloperToolsCredential locally and ManagedIdentityCredential in production. The guide also covers installation, environment variables, credential selection, client reuse, and RBAC considerations.

Shows how to install azure_identity, azure_core, and tokio with cargo add; configure AZURE_TENANT_ID, AZURE_CLIENT_ID, and AZURE_CLIENT_SECRET; create DeveloperToolsCredential, ManagedIdentityCredential, and ClientSecretCredential; authenticate locally with az login or azd auth login; clone and reuse credentials across Azure clients; and assign appropriate RBAC roles for target services.

  1. A Rust developer needs local access to Azure services through Azure CLI or Azure Developer CLI and uses DeveloperToolsCredential.
  2. A Rust application runs on a VM, App Service, Functions, or AKS and needs Azure-hosted identity through ManagedIdentityCredential.
  3. A CI/CD pipeline or service account needs service-principal authentication with a client secret through ClientSecretCredential.
  4. A Kubernetes workload needs federated workload identity and should use WorkloadIdentityCredential.
  5. An application creates multiple Azure SDK clients and needs to share one credential across them.

Pros & cons

Pros
  • Covers local development, managed identity, and service-principal authentication scenarios for Rust Azure SDK clients.
  • Clearly distinguishes DeveloperToolsCredential from ManagedIdentityCredential and warns that the Rust SDK has no DefaultAzureCredential.
  • Includes guidance on official crate selection, environment variables, credential reuse, and RBAC.
  • Provides a concrete Key Vault SecretClient example and copyable Cargo commands.
Limitations
  • Its scope is Azure authentication; it does not provide complete usage guidance for individual Azure service clients.
  • The supplied material does not show skill-specific test scenarios or test results.
  • DeveloperToolsCredential requires an authenticated Azure CLI or Azure Developer CLI session for local use; production deployments still require correctly configured identity and permissions.
  • The service-principal example uses a client secret; certificate authentication is listed but not demonstrated.

How to install

Install the collection into the agent environment with npx skills add microsoft/skills, then select azure-identity-rust in the installation wizard. The skill is located at .github/plugins/azure-sdk-rust/skills/azure-identity-rust/SKILL.md. In a Rust project, run: cargo add azure_identity azure_core tokio. A direct azure_core dependency is optional when the code does not import azure_core types directly.

How to use

Use triggers such as “azure identity rust,” “DeveloperToolsCredential,” “authentication rust,” “managed identity rust,” “credential rust,” or “Entra ID rust.” For local development, run az login or azd auth login and use DeveloperToolsCredential::new(None)?; for production, use ManagedIdentityCredential::new(None)?; for service-principal authentication, use ClientSecretCredential::new(<tenant-id>, <client-id>, <client-secret>, None)?. Use only official azure_* crates published by the azure-sdk crates.io user; do not use deprecated azure_sdk_* crates or community crates.

Compared to similar skills

Compared with the deprecated azure_sdk_* crates and community crates, this skill requires the official azure_* crates published by the azure-sdk crates.io user. Compared with DefaultAzureCredential in other Azure SDK languages, the Rust SDK has no single credential of that name; use DeveloperToolsCredential for local development and ManagedIdentityCredential for production.

FAQ

Does this skill require Azure CLI?
Only the local DeveloperToolsCredential workflow requires Azure CLI or Azure Developer CLI, with az login or azd auth login first. Managed identity and service-principal workflows do not use that local login sequence.
Is a direct azure_core dependency always required?
No. Add it when the code directly imports types such as azure_core::http::Url, RequestContent, or error::ErrorKind. It is optional when the code uses only service-crate re-exports.
Can I use DefaultAzureCredential?
No. The skill states that the Rust SDK does not provide DefaultAzureCredential. Choose DeveloperToolsCredential for local development or ManagedIdentityCredential for production.
How should credentials be protected?
Do not hardcode them. Supply service-principal values through AZURE_TENANT_ID, AZURE_CLIENT_ID, and AZURE_CLIENT_SECRET environment variables, and grant the identity the required RBAC roles.

More skills from this repository

All from microsoft/agent-skills

Dev & Engineering ✓ Microsoft · Official

Azure Identity for Python

A practical skill for securing Python Azure applications with Microsoft Entra ID credentials.

Dev & Engineering ✓ Microsoft · Official

Azure Event Hubs Java Skill

Build production-oriented Java event streaming applications on Azure Event Hubs.

Dev & Engineering ✓ Microsoft · Official

Azure Tables for Python

A practical guide to building authenticated Azure Tables applications with Python entity CRUD, queries, and partition-scoped batch operations.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for TypeScript

Configure secure, flexible Microsoft Entra ID authentication for TypeScript Azure applications.

Automation & Ops ✓ Microsoft · Official

Azure Reliability Advisor

Assess and improve reliability for Azure Functions and App Service.

Dev & Engineering ✓ Microsoft · Official

Azure Cloud Architect

Guides coding agents through production-grade Azure architecture design and review using Azure Architecture Center practices.

Dev & Engineering ✓ Microsoft · Official

Azure AI Text Analytics for Python

Guides Python developers through Azure-powered text analysis and NLP workflows.

Automation & Ops ✓ Microsoft · Official

Azure Resource Architecture Visualizer

Analyze Azure resource groups and turn their dependencies into detailed Mermaid architecture diagrams.

Dev & Engineering ✓ Microsoft · Official

Azure Maps for .NET

Build .NET location features for search, routing, maps, geolocation, and weather.

Dev & Engineering ✓ Microsoft · Official

Azure AI Vision Image Analysis

Guides Python coding agents in implementing Azure AI Vision image understanding.

Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for Python

Guides secure, production-minded Blob Storage operations in Python.

Dev & Engineering ✓ Microsoft · Official

Azure Queue Storage for Python

Gives coding agents reliable Python patterns for secure Azure Queue Storage messaging and asynchronous task processing.

Automation & Ops ✓ Microsoft · Official

Azure AI Gateway Governance

Use Azure API Management to govern traffic across AI models, MCP tools, and agents.

Automation & Ops ✓ Microsoft · Official

AKS Automatic Readiness

Assess Kubernetes workloads for AKS Automatic compatibility and identify migration blockers before you switch.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB ARM for .NET

Provision and manage Azure Cosmos DB resources from .NET through ARM.

Dev & Engineering ✓ Microsoft · Official

Azure Playwright Workspace Manager

Provision and manage Microsoft Playwright Testing workspaces with .NET and Azure Resource Manager.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB for Python

A practical guide for building reliable Python applications on Azure Cosmos DB’s NoSQL API.

Dev & Engineering ✓ Microsoft · Official

Azure Key Vault SDK for Python

Gives Python coding agents practical guidance for securely managing Azure Key Vault secrets, keys, and certificates.

Dev & Engineering ✓ Microsoft · Official

Azure API Management for Python

Gives coding agents practical Python SDK patterns for managing Azure API Management services, APIs, products, subscriptions, and policies.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Query for Python

Generate Python code for querying Azure Monitor logs and metrics.

Related skills