Azure Identity for Java
Configure secure Microsoft Entra ID authentication for Java applications using Azure SDKs.
The material covers least privilege, managed identity, and environment-variable practices, with no evidence of malware, credential theft, or destructive defaults; however, secret rotation, account-information logging, certificate/PFX password handling, user confirmation, data-flow disclosure, and rollback are underdocumented. A password-like literal also appears in an example, so points are deducted.
Core usage paths are documented and credential-unavailable versus authentication failures are distinguished; however, the installation version 1.15.0 conflicts with 1.18.2 in the reference file, the token-caching explanation does not fully match its examples, and no skill-specific tests or abnormal-input reproductions are provided. Static calibration therefore limits the score.
The audience, credential types, environment matrix, and trigger phrases are reasonably clear, and Azure China authority-host configuration is included; however, non-fit scenarios, required permissions, version boundaries, and mainland-China network reachability are not established. The actual DefaultAzureCredential chain also depends on external documentation, so points are deducted.
The skill has YAML metadata, an MIT license, layered topics, a reference examples file, and a version field; however, its version data conflicts, and there is no changelog, explicit maintenance owner or update path, troubleshooting FAQ, or dependency compatibility matrix.
It can directly help Java developers select and write common Azure credential implementations and use them with several Azure clients; however, production use still requires additional permission setup, secret-management guidance, tenant/cloud configuration, and version verification. The examples are not demonstrated as a complete verified project.
The skill includes an official aka.ms reference, concrete Maven coordinates, and detailed code samples, providing limited auditability; however, this review is static only, and the supplied material shows no skill-specific test suite, CI coverage, or independently reproduced execution. The external reference was not verifiable from the prompt.
- Reconcile the azure-identity version so SKILL.md and references.md do not drift.
- Do not place client secrets, PFX passwords, or tokens in source, logs, or configuration examples; add explicit storage, rotation, and redaction guidance.
- Before deployment, verify the active credential chain, tenant, cloud environment, least-privilege RBAC, and network reachability of China-region authentication endpoints.
What it does & when to use it
This skill helps Java developers authenticate Azure SDK clients with Microsoft Entra ID. It recommends DefaultAzureCredential and covers managed identities, service principals, environment variables, Azure CLI, interactive browser login, and device code authentication. It also documents workload identity for AKS, custom credential chains, token caching, sovereign clouds, error handling, and logging. It fits projects that need authentication patterns spanning local development, CI/CD, and Azure-hosted workloads.
Provides the Maven dependency declaration; shows how to build DefaultAzureCredential, ManagedIdentityCredential, EnvironmentCredential, ClientSecretCredential, ClientCertificateCredential, AzureCliCredential, InteractiveBrowserCredential, and DeviceCodeCredential; demonstrates passing credentials to Blob Storage and Key Vault clients; and documents custom chains, AKS workload identity, token caching, sovereign-cloud authority hosts, environment variables, and authentication exceptions.
- A Java developer needs one authentication approach that can use local developer credentials and managed identity in production, so they configure DefaultAzureCredential.
- An App Service, Functions, or VM application needs system-assigned or user-assigned managed identity authentication, so it uses ManagedIdentityCredential.
- A CI/CD pipeline needs service-principal authentication from AZURE_TENANT_ID, AZURE_CLIENT_ID, and secret or certificate variables, so it uses EnvironmentCredential.
- An AKS workload needs federated-token authentication through a token file, so it uses WorkloadIdentityCredential.
- A desktop application, CLI tool, or headless device needs interactive browser or device-code login, so it selects the corresponding credential.
Pros & cons
- Covers authentication scenarios for local development, CI/CD, Azure-hosted applications, and headless devices.
- Includes copyable Java Builder examples and a credential selection matrix.
- Clearly recommends DefaultAzureCredential and addresses managed identity and least privilege.
- Includes certificate authentication, workload identity, sovereign clouds, error handling, and logging.
- Examples specify Azure Identity Java 1.15.0, so compatibility with other versions is not established by the source.
- No standalone test suite, complete project template, or end-to-end verification results are provided.
- Several authentication modes require external Azure resources, app registrations, or a configured Azure CLI.
- The SKILL.md does not specify the complete credential-chain order for every version.
How to install
Install the collection with npx skills add microsoft/skills, then select azure-identity-java in the wizard. Skills are installed into the selected agent directory, such as .github/skills/ for GitHub Copilot. Add the Maven dependency com.azure:azure-identity:1.15.0 to the Java project. The source does not document installation steps for other build tools.
How to use
In an Agent Skills-compatible coding agent, try a prompt such as “Configure DefaultAzureCredential for a Java Azure application” or “Implement managed identity authentication in Java.” Use the resulting examples to select a credential and configure the required tenant, client, certificate, or environment values. The SKILL.md provides no standalone script or test command.