Azure Identity Java SDK Acceptance Criteria
SDK: com.azure:azure-identityRepository: https://github.com/Azure/azure-sdk-for-javaPurpose: Skill testing acceptance criteria for validating generated code correctness
1. DefaultAzureCredential (Recommended)
✅ CORRECT: Basic DefaultAzureCredential
java
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// Use with any Azure client
BlobServiceClient blobClient = new BlobServiceClientBuilder()
.endpoint("https://mystorageaccount.blob.core.windows.net")
.credential(credential)
.buildClient();
KeyClient keyClient = new KeyClientBuilder()
.vaultUrl("https://myvault.vault.azure.net")
.credential(credential)
.buildClient();✅ CORRECT: Configured DefaultAzureCredential
java
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.managedIdentityClientId(System.getenv("AZURE_CLIENT_ID")) // User-assigned MI
.tenantId(System.getenv("AZURE_TENANT_ID"))
.build();✅ CORRECT: Excluding Credential Types
java
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.excludeEnvironmentCredential() // Skip env vars
.excludeAzureCliCredential() // Skip Azure CLI
.excludeAzurePowerShellCredential()
.build();❌ INCORRECT: Using Hardcoded Credentials
java
// WRONG - use DefaultAzureCredential or environment variables
ClientSecretCredential credential = new ClientSecretCredentialBuilder()
.tenantId("12345678-1234-1234-1234-123456789012")
.clientId("87654321-4321-4321-4321-210987654321")
.clientSecret("mySecretValue123!") // NEVER hardcode secrets
.build();2. ManagedIdentityCredential
✅ CORRECT: System-Assigned Managed Identity
java
import com.azure.identity.ManagedIdentityCredential;
import com.azure.identity.ManagedIdentityCredentialBuilder;
ManagedIdentityCredential credential = new ManagedIdentityCredentialBuilder()
.build();
CosmosClient cosmosClient = new CosmosClientBuilder()
.endpoint(System.getenv("COSMOS_ENDPOINT"))
.credential(credential)
.buildClient();✅ CORRECT: User-Assigned Managed Identity by Client ID
java
ManagedIdentityCredential credential = new ManagedIdentityCredentialBuilder()
.clientId(System.getenv("AZURE_CLIENT_ID"))
.build();✅ CORRECT: User-Assigned Managed Identity by Resource ID
java
ManagedIdentityCredential credential = new ManagedIdentityCredentialBuilder()