Class ManagedIdentityCredentialBuilder

All Implemented Interfaces:
com.azure.core.client.traits.HttpTrait<ManagedIdentityCredentialBuilder>

public class ManagedIdentityCredentialBuilder extends CredentialBuilderBase<ManagedIdentityCredentialBuilder>

Fluent credential builder for instantiating a ManagedIdentityCredential.

Azure Managed Identity is a feature in Microsoft Entra ID that provides a way for applications running on Azure to authenticate themselves with Azure resources without needing to manage or store any secrets like passwords or keys. The ManagedIdentityCredential authenticates the configured managed identity (system or user assigned) of an Azure resource. So, if the application is running inside an Azure resource that supports Managed Identity through IDENTITY/MSI, IMDS endpoints, or both, then this credential will get your application authenticated, and offers a great secretless authentication experience. For more information refer to the managed identity authentication documentation.

Sample: Construct a simple ManagedIdentityCredential

The following code sample demonstrates the creation of a ManagedIdentityCredential, using the ManagedIdentityCredentialBuilder to configure it. Once this credential is created, it may be passed into the builder of many of the Azure SDK for Java client builders as the 'credential' parameter.

 TokenCredential managedIdentityCredential = new ManagedIdentityCredentialBuilder()
     .build();
 

Sample: Construct a User Assigned ManagedIdentityCredential

User-Assigned Managed Identity (UAMI) in Azure is a feature that allows you to create an identity in Microsoft Entra ID that is associated with one or more Azure resources. This identity can then be used to authenticate and authorize access to various Azure services and resources. The following code sample demonstrates the creation of a ManagedIdentityCredential to target a user assigned managed identity, using the ManagedIdentityCredentialBuilder to configure it. Once this credential is created, it may be passed into the builder of many of the Azure SDK for Java client builders as the 'credential' parameter.

 TokenCredential managedIdentityCredentialUserAssigned = new ManagedIdentityCredentialBuilder()
     .clientId(clientId) // specify client id of user-assigned managed identity.
     .build();
 
See Also:
  • Constructor Details

    • ManagedIdentityCredentialBuilder

      public ManagedIdentityCredentialBuilder()
  • Method Details

    • clientId

      public ManagedIdentityCredentialBuilder clientId(String clientId)
      Specifies the client ID of user assigned or system assigned identity. Only one of clientId and resourceId can be specified.
      Parameters:
      clientId - the client ID
      Returns:
      the ManagedIdentityCredentialBuilder itself
    • resourceId

      public ManagedIdentityCredentialBuilder resourceId(String resourceId)
      Specifies the resource ID of a user assigned or system assigned identity. Only one of clientId and resourceId can be specified.
      Parameters:
      resourceId - the resource ID
      Returns:
      the ManagedIdentityCredentialBuilder itself
    • build

      public ManagedIdentityCredential build()
      Creates a new ManagedIdentityCredential with the current configurations.
      Returns:
      a ManagedIdentityCredential with the current configurations.
      Throws:
      IllegalStateException - if clientId and resourceId are both set.