Microsoft Entra ID ve çeşitli kimlik bilgisi modellerini kullanarak Java uygulamalarındaki Azure SDK istemcileri için kimlik doğrulama sağlar.
- GitHub yıldızları
- 3.194
- Dosyalar
- 2
- Son commit
- 11 Kas 2026
- Lisans
- MIT
- İzin verilen araçlar
- —
azure-identity-java skill ne işe yarar?
azure-identity-java bir agent skill'dir. Microsoft Entra ID ve çeşitli kimlik bilgisi modellerini kullanarak Java uygulamalarındaki Azure SDK istemcileri için kimlik doğrulama sağlar.
Özet, skill'in SKILL.md dosyasından oluşturuldu.
azure-identity-java skilli hakkında
Azure servisleriyle etkileşime giren uygulamalar geliştiren Java geliştiricileri, Microsoft Entra ID kimlik doğrulamasını uygulamak için bu kütüphaneyi kullanır. Uygulamaların Blob Storage veya Key Vault gibi kaynaklara güvenli bir şekilde erişebilmesini sağlamak için çeşitli kimlik bilgisi modelleri sunar. Geliştiriciler, bu kütüphaneyi entegre ederek karmaşık kimlik gereksinimlerini tek bir arayüz üzerinden yönetebilir ve farklı ortamlar genelinde güvenliği sağlamayı kolaylaştırabilir.
Bir agent, Azure kimlik doğrulaması gerektiren Java kodu yazma veya hata ayıklama göreviyle karşılaştığında bu SKILL'i yüklemelidir. Kütüphane; hem geliştirme hem de üretim ortamlarında çalışan çok yöntemli bir yaklaşım için DefaultAzureCredential, App Service veya VM gibi Azure üzerinde barındırılan kaynaklar için ManagedIdentityCredential ve servis anahtarları için ClientSecretCredential gibi özel araçlar sunar. Ayrıca AKS için WorkloadIdentityCredential veya masaüstü uygulamaları için InteractiveBrowserCredential gibi özel ihtiyaçları da destekler. Kütüphane, standart Java bağımlılık yönetimine dayanır ve Azure Government ile Azure China dahil olmak üzere farklı bulut ortamlarını yönetmek için ortam değişkenleri veya programatik builder'lar aracılığıyla yapılandırılabilir.
Bir agent bununla neler yapabilir
- 1Çoklu ortam kimlik doğrulaması uygulamaHem yerel geliştirme hem de üretim ortamları için çalışan tek bir kimlik bilgisi yapılandırın.
- 2Azure üzerinde barındırılan uygulamaları kimlik doğrulamaApp Service, Functions veya VM üzerinde çalışan uygulamalar için managed identity kurulumu yapın.
- 3Güvenli CI/CD hatlarıOtomatik dağıtım süreçleri sırasında kimlik bilgisi sağlamak için ortam değişkenlerini kullanın.
- 4Masaüstü uygulamaları geliştirmeMasaüstü yazılımı çalıştıran kullanıcılar için etkileşimli bir giriş akışı etkinleştirin.
Skill'in SKILL.md dosyasından yazılmıştır. Her kullanım durumu oradaki bir alıntı ile kontrol edilir.
azure-identity-java skill nasıl kurulur
Her komut, skill klasörünü istemcinin skills dizinine kopyalar. Yüklemek için istemciyi yeniden başlatın veya yeni bir oturum başlatın.azure-identity-java skill'ini Claude Code uygulamasına kur
~/.claude/skills/azure-identity-java/SKILL.md
$ npx degit microsoft/skills/.github/plugins/azure-sdk-java/skills/azure-identity-java ~/.claude/skills/azure-identity-javaazure-identity-java skill'ini Claude Code (project) uygulamasına kur
.claude/skills/azure-identity-java/SKILL.md
$ npx degit microsoft/skills/.github/plugins/azure-sdk-java/skills/azure-identity-java .claude/skills/azure-identity-javaazure-identity-java skill'ini Codex uygulamasına kur
~/.agents/skills/azure-identity-java/SKILL.md
$ npx degit microsoft/skills/.github/plugins/azure-sdk-java/skills/azure-identity-java ~/.agents/skills/azure-identity-javaazure-identity-java skill'ini Gemini CLI uygulamasına kur
~/.gemini/skills/azure-identity-java/SKILL.md
$ npx degit microsoft/skills/.github/plugins/azure-sdk-java/skills/azure-identity-java ~/.gemini/skills/azure-identity-javaazure-identity-java skill'ini Claude.ai uygulamasına kur
npx degit microsoft/skills/.github/plugins/azure-sdk-java/skills/azure-identity-java azure-identity-java && zip -r azure-identity-java.zip azure-identity-java # claude.ai → Customize → Skills → + → Create skill → Upload a skill → azure-identity-java.zip
Otomatik kontroller
Çalıştırıldı 15 Kas 2026Tam rapor →Otomatik kontrollerimizi geçti. Bu bir güvenlik denetimi değil: bir ajanın çalıştırmasına izin vermeden önce betikleri okuyun. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebilirmicrosoft/skills/.github/plugins/azure-sdk-java/skills/azure-identity-java is public and reachablegithub.com/microsoft/skills/tree/HEAD/.github/plugins/azure- ↗Geçti
- Açık kaynak lisansı (OSI)MITspdx.org/licenses/MIT.html ↗Geçti
- Son bir yıl içinde commit veya sürüm mevcutLast commit 2026-11-11github.com/microsoft/skills/commits ↗Geçti
- Betiklerde indir-çalıştır veya kimlik bilgisi hırsızlığı yokNo scripts in the skill folderGeçti
- SKILL.md içinde gizli talimat yokNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/microsoft/skills/blob/HEAD/.github/plugins/azure- ↗Geçti
- Önceden izin verilen araçlar sınırlıNo pre-approved tools; the agent asks before using onegithub.com/microsoft/skills/blob/HEAD/.github/plugins/azure- ↗Geçti
- SKILL.md, Agent Skills biçimine uyuyorValid name and description; says when to use it; 358 linesgithub.com/microsoft/skills/blob/HEAD/.github/plugins/azure- ↗Geçti
SKILL.md
GitHub'da görüntüleAzure Identity library for Java
Authentication library for Azure SDK clients using Microsoft Entra ID.
Installation
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.15.0</version>
</dependency>
Key Concepts
| Credential | Use Case |
|---|---|
DefaultAzureCredential |
Recommended - Works in dev and production |
ManagedIdentityCredential |
Azure-hosted apps (App Service, Functions, VMs) |
EnvironmentCredential |
CI/CD pipelines with env vars |
ClientSecretCredential |
Service principals with secret |
ClientCertificateCredential |
Service principals with certificate |
AzureCliCredential |
Local dev using az login |
InteractiveBrowserCredential |
Interactive login flow |
DeviceCodeCredential |
Headless device authentication |
DefaultAzureCredential (Recommended)
The DefaultAzureCredential tries multiple authentication methods in order. See DefaultAzureCredential overview for the current credential chain order and defaults.
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
// Simple usage
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// Use with any Azure client
BlobServiceClient blobClient = new BlobServiceClientBuilder()
.endpoint("https://<storage-account>.blob.core.windows.net")
.credential(credential)
.buildClient();
KeyClient keyClient = new KeyClientBuilder()
.vaultUrl("https://<vault-name>.vault.azure.net")
.credential(credential)
.buildClient();
Configure DefaultAzureCredential
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.managedIdentityClientId("<user-assigned-identity-client-id>") // For user-assigned MI
.tenantId("<tenant-id>") // Limit to specific tenant
.excludeEnvironmentCredential() // Skip env vars
.excludeAzureCliCredential() // Skip Azure CLI
.build();
Managed Identity
For Azure-hosted applications (App Service, Functions, AKS, VMs).
import com.azure.identity.ManagedIdentityCredential;
import com.azure.identity.ManagedIdentityCredentialBuilder;
// System-assigned managed identity
ManagedIdentityCredential credential = new ManagedIdentityCredentialBuilder()
.build();
// User-assigned managed identity (by client ID)
ManagedIdentityCredential credential = new ManagedIdentityCredentialBuilder()
.clientId("<user-assigned-client-id>")
.build();
// User-assigned managed identity (by resource ID)
ManagedIdentityCredential credential = new ManagedIdentityCredentialBuilder()
.resourceId("/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<name>")
.build();
Service Principal with Secret
import com.azure.identity.ClientSecretCredential;
import com.azure.identity.ClientSecretCredentialBuilder;
ClientSecretCredential credential = new ClientSecretCredentialBuilder()
.tenantId("<tenant-id>")
.clientId("<client-id>")
.clientSecret("<client-secret>")
.build();
Service Principal with Certificate
import com.azure.identity.ClientCertificateCredential;
import com.azure.identity.ClientCertificateCredentialBuilder;
// From PEM file
ClientCertificateCredential credential = new ClientCertificateCredentialBuilder()
.tenantId("<tenant-id>")
.clientId("<client-id>")
.pemCertificate("<path-to-cert.pem>")
.build();
// From PFX file with password
ClientCertificateCredential credential = new ClientCertificateCredentialBuilder()
.tenantId("<tenant-id>")
.clientId("<client-id>")
.pfxCertificate("<path-to-cert.pfx>", "<pfx-password>")
.build();
// Send certificate chain for SNI
ClientCertificateCredential credential = new ClientCertificateCredentialBuilder()
.tenantId("<tenant-id>")
.clientId("<client-id>")
.pemCertificate("<path-to-cert.pem>")
.sendCertificateChain(true)
.build();
Environment Credential
Reads credentials from environment variables.
import com.azure.identity.EnvironmentCredential;
import com.azure.identity.EnvironmentCredentialBuilder;
EnvironmentCredential credential = new EnvironmentCredentialBuilder().build();
Required Environment Variables
For service principal with secret:
AZURE_TENANT_ID=<tenant-id>
AZURE_CLIENT_ID=<client-id>
AZURE_CLIENT_SECRET=<client-secret>
For service principal with certificate:
AZURE_TENANT_ID=<tenant-id>
AZURE_CLIENT_ID=<client-id>
AZURE_CLIENT_CERTIFICATE_PATH=/path/to/cert.pem
AZURE_CLIENT_CERTIFICATE_PASSWORD=<optional-password>
Azure CLI Credential
For local development using az login.
import com.azure.identity.AzureCliCredential;
import com.azure.identity.AzureCliCredentialBuilder;
AzureCliCredential credential = new AzureCliCredentialBuilder()
.tenantId("<tenant-id>") // Optional: specific tenant
.build();
Interactive Browser
For desktop applications requiring user login.
import com.azure.identity.InteractiveBrowserCredential;
import com.azure.identity.InteractiveBrowserCredentialBuilder;
InteractiveBrowserCredential credential = new InteractiveBrowserCredentialBuilder()
.clientId("<client-id>")
.redirectUrl("http://localhost:8080") // Must match app registration
.build();
Device Code
For headless devices (IoT, CLI tools).
import com.azure.identity.DeviceCodeCredential;
import com.azure.identity.DeviceCodeCredentialBuilder;
DeviceCodeCredential credential = new DeviceCodeCredentialBuilder()
.clientId("<client-id>")
.challengeConsumer(challenge -> {
// Display to user
System.out.println(challenge.getMessage());
})
.build();
Chained Credential
Create custom authentication chains.
import com.azure.identity.ChainedTokenCredential;
import com.azure.identity.ChainedTokenCredentialBuilder;
ChainedTokenCredential credential = new ChainedTokenCredentialBuilder()
.addFirst(new ManagedIdentityCredentialBuilder().build())
.addLast(new AzureCliCredentialBuilder().build())
.build();
Workload Identity (AKS)
For Azure Kubernetes Service with workload identity.
import com.azure.identity.WorkloadIdentityCredential;
import com.azure.identity.WorkloadIdentityCredentialBuilder;
// Reads from AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_FEDERATED_TOKEN_FILE
WorkloadIdentityCredential credential = new WorkloadIdentityCredentialBuilder().build();
// Or explicit configuration
WorkloadIdentityCredential credential = new WorkloadIdentityCredentialBuilder()
.tenantId("<tenant-id>")
.clientId("<client-id>")
.tokenFilePath("/var/run/secrets/azure/tokens/azure-identity-token")
.build();
Token Caching
Enable persistent token caching for better performance.
// Enable token caching (in-memory by default)
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.enableAccountIdentifierLogging()
.build();
// With shared token cache (for multi-credential scenarios)
SharedTokenCacheCredential credential = new SharedTokenCacheCredentialBuilder()
.clientId("<client-id>")
.build();
Sovereign Clouds
import com.azure.identity.AzureAuthorityHosts;
// Azure Government
DefaultAzureCredential govCredential = new DefaultAzureCredentialBuilder()
.authorityHost(AzureAuthorityHosts.AZURE_GOVERNMENT)
.build();
// Azure China
DefaultAzureCredential chinaCredential = new DefaultAzureCredentialBuilder()
.authorityHost(AzureAuthorityHosts.AZURE_CHINA)
.build();
Error Handling
import com.azure.identity.CredentialUnavailableException;
import com.azure.core.exception.ClientAuthenticationException;
try {
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
AccessToken token = credential.getToken(new TokenRequestContext()
.addScopes("https://management.azure.com/.default"));
} catch (CredentialUnavailableException e) {
// No credential could authenticate
System.out.println("Authentication failed: " + e.getMessage());
} catch (ClientAuthenticationException e) {
// Authentication error (wrong credentials, expired, etc.)
System.out.println("Auth error: " + e.getMessage());
}
Logging
Enable authentication logging for debugging.
// Via environment variable
// AZURE_LOG_LEVEL=verbose
// Or programmatically
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.enableAccountIdentifierLogging() // Log account info
.build();
Environment Variables
# DefaultAzureCredential configuration
AZURE_TENANT_ID=<tenant-id>
AZURE_CLIENT_ID=<client-id>
AZURE_CLIENT_SECRET=<client-secret>
# Managed Identity
AZURE_CLIENT_ID=<user-assigned-mi-client-id>
# Workload Identity (AKS)
AZURE_FEDERATED_TOKEN_FILE=/var/run/secrets/azure/tokens/azure-identity-token
# Logging
AZURE_LOG_LEVEL=verbose
# Authority host
AZURE_AUTHORITY_HOST=https://login.microsoftonline.com/
Best Practices
- Use DefaultAzureCredential - Works seamlessly from dev to production
- Managed Identity in Production - No secrets to manage, automatic rotation
- Azure CLI for Local Dev - Run
az loginbefore running your app - Least Privilege - Grant only required permissions to service principals
- Token Caching - Enabled by default, reduces auth round-trips
- Environment Variables - Use for CI/CD, not hardcoded secrets
Credential Selection Matrix
| Environment | Recommended Credential |
|---|---|
| Local Development | DefaultAzureCredential (uses Azure CLI) |
| Azure App Service | DefaultAzureCredential (uses Managed Identity) |
| Azure Functions | DefaultAzureCredential (uses Managed Identity) |
| Azure Kubernetes Service | WorkloadIdentityCredential |
| Azure VMs | DefaultAzureCredential (uses Managed Identity) |
| CI/CD Pipeline | EnvironmentCredential |
| Desktop App | InteractiveBrowserCredential |
| CLI Tool | DeviceCodeCredential |
Trigger Phrases
- "Azure authentication Java", "DefaultAzureCredential Java"
- "managed identity Java", "service principal Java"
- "Azure login Java", "Azure credentials Java"
- "AZURE_CLIENT_ID", "AZURE_TENANT_ID"
Bu becerideki dosyalar
2azure-identity-java skill soruları
azure-identity-java skill'ini Claude Code uygulamasına nasıl kurarım?
npx degit microsoft/skills/.github/plugins/azure-sdk-java/skills/azure-identity-java ~/.claude/skills/azure-identity-java komutunu çalıştırın. Claude Code, skill'leri ~/.claude/skills (tüm projeler) veya .claude/skills (tek proje) konumundan yükler ve açıklaması görevle eşleştiğinde skill'i kullanır.
azure-identity-java skill'ini hangi istemciler kullanabilir?
Agent Skills biçimini okuyan her istemci: Claude Code, Codex, Gemini CLI ve claude.ai (ZIP olarak yükleyin). Skill içindeki betikler yalnızca istemcinin kod çalıştırmaya izin verdiği yerlerde çalışır.
Azure Java uygulamaları için önerilen kimlik bilgisi nedir?
DefaultAzureCredential önerilen yaklaşımdır; çünkü birden fazla kimlik doğrulama yöntemini deneyerek hem geliştirme hem de üretim ortamlarında çalışır.
Bu kütüphaneyi kullanarak bir CI/CD hattında nasıl kimlik doğrulaması yapabilirim?
AZURE_TENANT_ID, AZURE_CLIENT_ID ve AZURE_CLIENT_SECRET gibi ortam değişkenlerinden kimlik bilgilerini okuyan EnvironmentCredential kullanabilirsiniz.
Azure üzerinde barındırılan uygulamalar için managed identity özelliğini nasıl kullanabilirim?
App Service, Functions, AKS veya VM gibi servisler için hem sistem atamalı hem de kullanıcı atamalı kimlikleri destekleyen ManagedIdentityCredential kullanabilirsiniz.
Bu kütüphaneyi yerel geliştirme için kullanabilir miyim?
Evet, yerel 'az login' oturumunuzdaki kimlik bilgilerini kullanan AzureCliCredential kullanabilirsiniz.