azure-identity-rust
Permite que seu agente se autentique em serviços Azure usando Rust. Facilita o uso de diferentes tipos de credenciais.
O que ela faz
Esta ferramenta ajuda programas escritos em Rust a se conectarem com segurança aos serviços da Microsoft Azure. Ela gerencia como o programa se identifica e prova que tem permissão para acessar os recursos.
Quando usar
- ✓Ao desenvolver um programa em Rust que precisa acessar o Azure localmente.
- ✓Quando o programa já está rodando em um serviço da Microsoft Azure (como máquinas virtuais ou aplicativos web).
- ✓Ao configurar um programa para usar um 'principal de serviço' com segredos ou certificados para acessar o Azure.
Exemplo do que pedir para a IA
“Como faço meu programa Rust se conectar ao Azure usando minhas credenciais da linha de comando?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela tenta várias formas de provar quem é o programa, começando pelas ferramentas de desenvolvedor instaladas no seu computador. Se não encontrar, ela pode usar identidades configuradas diretamente no Azure ou segredos que você fornece.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill azure-identity-rustOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-identity-rust/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
SDK de Identidade do Azure para Rust
Biblioteca de autenticação para clientes do SDK do Azure usando o Microsoft Entra ID (anteriormente Azure AD).
Os exemplos abaixo exigem um conjunto de crates compatíveis revisado e a substituição de cada espaço reservado de recurso. Não use dados de produção para gravações de demonstração.
Instalação
cargo add azure_identity@=1.0.0 azure_core@=1.1.0
Variáveis de Ambiente
# Service Principal (for production/CI)
export AZURE_TENANT_ID="<your-tenant-id>"
export AZURE_CLIENT_ID="<your-client-id>"
: "${AZURE_CLIENT_SECRET:?Inject through the approved host or CI secret manager}"
export AZURE_CLIENT_SECRET
# User-assigned Managed Identity (optional)
export AZURE_CLIENT_ID="<managed-identity-client-id>"
DeveloperToolsCredential
A credencial recomendada para desenvolvimento local. Tenta as ferramentas de desenvolvedor na ordem (Azure CLI, Azure Developer CLI):
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,
)?;
Ordem da Cadeia de Credenciais
| Ordem | Credencial | Ambiente |
|---|---|---|
| 1 | AzureCliCredential | az login |
| 2 | AzureDeveloperCliCredential | azd auth login |
Tipos de Credenciais
| Credencial | Uso |
|---|---|
DeveloperToolsCredential |
Desenvolvimento local - tenta ferramentas CLI |
ManagedIdentityCredential |
VMs do Azure, App Service, Functions, AKS |
WorkloadIdentityCredential |
Identidade de carga de trabalho do Kubernetes |
ClientSecretCredential |
Principal de serviço com segredo |
ClientCertificateCredential |
Principal de serviço com certificado |
AzureCliCredential |
Autenticação direta do Azure CLI |
AzureDeveloperCliCredential |
Autenticação direta do azd CLI |
AzurePipelinesCredential |
Conexão de serviço do Azure Pipelines |
ClientAssertionCredential |
Asserções personalizadas (identidade federada) |
ManagedIdentityCredential
Para recursos hospedados no Azure:
use azure_identity::{ManagedIdentityCredential, ManagedIdentityCredentialOptions, UserAssignedId};
// System-assigned managed identity
let credential = ManagedIdentityCredential::new(None)?;
// User-assigned managed identity
let options = ManagedIdentityCredentialOptions {
user_assigned_id: Some(UserAssignedId::ClientId("<user-assigned-mi-client-id>".into())),
..Default::default()
};
let credential = ManagedIdentityCredential::new(Some(options))?;
ClientSecretCredential
Para principal de serviço com segredo:
use azure_identity::ClientSecretCredential;
let credential = ClientSecretCredential::new(
"<tenant-id>".into(),
"<client-id>".into(),
"<client-secret>".into(),
None,
)?;
Melhores Práticas
- Use
DeveloperToolsCredentialpara desenvolvimento local — captura automaticamente o Azure CLI - Use
ManagedIdentityCredentialem produção — sem segredos para gerenciar - Clone credenciais — credenciais são encapsuladas em
Arce baratas para clonar - Reutilize instâncias de credenciais — a mesma credencial pode ser usada com vários clientes
- Forneça o runtime assíncrono — adicione Tokio com os recursos necessários para sua aplicação; não assuma que um recurso
tokioespecífico da crate exista
O conjunto de exemplos revisado usa azure_identity 1.0.0 e crates de núcleo/credenciais do Azure compatíveis. Grave e confirme o Cargo.lock; a revisão de origem/API não é um teste de compilador ou de serviço ativo.
Links de Referência
| Recurso | Link |
|---|---|
| Referência da API | https://docs.rs/azure_identity |
| Código Fonte | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/identity/azure_identity |
| crates.io | https://crates.io/crates/azure_identity |
Quando Usar
Use ao escolher ou configurar credenciais do Entra ID para clientes do SDK do Azure em Rust: ferramentas de desenvolvedor local, identidade gerenciada/de carga de trabalho ou um principal de serviço revisado.
Limitações
- Os exemplos são fragmentos dentro do código de aplicação assíncrono, com crates do Azure fixadas compatíveis e as dependências necessárias de Tokio/Serde/Futures; verifique a API da versão selecionada antes de usar. Eles foram revisados contra a origem/referência oficial, não compilados ou executados contra uma conta de nuvem aqui.
…
Perguntas frequentes
Qual a melhor forma de usar para desenvolvimento local?
Use `DeveloperToolsCredential`. Ela tenta usar o Azure CLI ou o Azure Developer CLI, que você já pode ter configurado para fazer login.
E se meu programa já estiver rodando no Azure?
Use `ManagedIdentityCredential`. O próprio Azure cuida da autenticação sem precisar de senhas ou segredos.
Posso reutilizar a mesma configuração de autenticação para vários clientes?
Sim, as credenciais são leves para copiar e podem ser usadas com múltiplos clientes do Azure.
Detalhes
Descrição original do autor
Azure Identity SDK for Rust authentication. Use for DeveloperToolsCredential, ManagedIdentityCredential, ClientSecretCredential, and token-based authentication.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2323
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC