你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

DefaultAzureCredentialBuilder 类

public class DefaultAzureCredentialBuilder
extends CredentialBuilderBase<DefaultAzureCredentialBuilder>

用于实例化 的 DefaultAzureCredentialFluent 凭据生成器。

适用于 DefaultAzureCredential 应用程序最终在 Azure 中运行的大多数方案。 DefaultAzureCredential 将通常用于在部署时进行身份验证的凭据与用于在开发环境中进行身份验证的凭据组合在一起。 DefaultAzureCredential 将按顺序尝试通过以下机制进行身份验证。

示例:构造 DefaultAzureCredential

下面的代码示例演示如何 DefaultAzureCredential使用 DefaultAzureCredentialBuilder 对其进行配置来创建 。 创建此凭据后,它可能会作为“credential”参数传递到许多 Azure SDK for Java 客户端生成器的生成器中。

TokenCredential defaultAzureCredential = new DefaultAzureCredentialBuilder()
     .build();

示例:使用用户分配的托管标识构造 DefaultAzureCredential

User-Assigned 托管标识 (Azure 中的 UAMI) 是一项功能,可用于在 Azure Active Directory (Azure AD) 中创建与一个或多个 Azure 资源关联的标识。 然后,可以使用此标识对各种 Azure 服务和资源进行身份验证和授权访问。 下面的代码示例演示了如何使用 DefaultAzureCredentialBuilder 对其进行配置,创建 DefaultAzureCredential 以用户分配的托管标识为目标。 创建此凭据后,它可能会作为“credential”参数传递到许多 Azure SDK for Java 客户端生成器的生成器中。

TokenCredential dacWithUserAssignedManagedIdentity = new DefaultAzureCredentialBuilder()
     .managedIdentityClientId("<Managed-Identity-Client-Id")
     .build();

构造函数摘要

构造函数 说明
DefaultAzureCredentialBuilder()

创建默认Azure凭据生成器的实例。

方法摘要

修饰符和类型 方法和描述
DefaultAzureCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)

对于多租户应用程序, 指定凭据可能为其获取令牌的其他租户。

DefaultAzureCredentialBuilder additionallyAllowedTenants(List<String> additionallyAllowedTenants)

对于多租户应用程序, 指定凭据可能为其获取令牌的其他租户。

DefaultAzureCredentialBuilder authorityHost(String authorityHost)

指定要获取令牌的 Azure Active Directory 终结点。

DefaultAzureCredential build()

使用配置的选项集创建新的 DefaultAzureCredential

DefaultAzureCredentialBuilder credentialProcessTimeout(Duration credentialProcessTimeout)

指定 Duration 依赖于单独进程调用的开发人员凭据 ((例如 Azure CLI) )的超时。

DefaultAzureCredentialBuilder disableInstanceDiscovery()

禁用设置,该设置确定在尝试进行身份验证时是否执行实例发现。

DefaultAzureCredentialBuilder executorService(ExecutorService executorService)

指定要用于执行身份验证请求的执行程序服务。

DefaultAzureCredentialBuilder intelliJKeePassDatabasePath(String databasePath)

指定用于读取用于 IntelliJ 插件的 Azure 工具包的缓存凭据的 KeePass 数据库路径。

DefaultAzureCredentialBuilder managedIdentityClientId(String clientId)

指定此凭据在使用托管标识的环境中运行时的用户分配标识或系统分配标识的客户端 ID。

DefaultAzureCredentialBuilder managedIdentityResourceId(String resourceId)

指定此凭据在使用托管标识的环境中运行时的用户分配标识或系统分配标识的资源 ID。

DefaultAzureCredentialBuilder tenantId(String tenantId)

设置要通过 DefaultAzureCredential进行身份验证的用户的租户 ID。

DefaultAzureCredentialBuilder workloadIdentityClientId(String clientId)

指定要用于 AKS 工作负载标识身份验证的 Azure AD 应用的客户端 ID。

方法继承自 CredentialBuilderBase

方法继承自 java.lang.Object

构造函数详细信息

DefaultAzureCredentialBuilder

public DefaultAzureCredentialBuilder()

创建 DefaultAzureCredentialBuilder 的实例。

方法详细信息

additionallyAllowedTenants

public DefaultAzureCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)

对于多租户应用程序, 指定凭据可能为其获取令牌的其他租户。 添加通配符值“*”以允许凭据为安装应用程序的任何租户获取令牌。

Parameters:

additionallyAllowedTenants - 其他允许的租户。

Returns:

此生成器的更新实例,其中设置了指定的租户 ID。

additionallyAllowedTenants

public DefaultAzureCredentialBuilder additionallyAllowedTenants(List additionallyAllowedTenants)

对于多租户应用程序, 指定凭据可能为其获取令牌的其他租户。 添加通配符值“*”以允许凭据为安装应用程序的任何租户获取令牌。

Parameters:

additionallyAllowedTenants - 其他允许的租户。

Returns:

此生成器的更新实例,其中设置了指定的租户 ID。

authorityHost

public DefaultAzureCredentialBuilder authorityHost(String authorityHost)

指定要获取令牌的 Azure Active Directory 终结点。

Parameters:

authorityHost - Azure Active Directory 终结点

Returns:

此生成器的更新实例,其中设置了指定的颁发机构主机。

build

public DefaultAzureCredential build()

使用配置的选项集创建新的 DefaultAzureCredential

Returns:

具有 DefaultAzureCredential 当前配置的 。

credentialProcessTimeout

public DefaultAzureCredentialBuilder credentialProcessTimeout(Duration credentialProcessTimeout)

指定 Duration 依赖于单独进程调用的开发人员凭据 ((例如 Azure CLI) )的超时。

Parameters:

credentialProcessTimeout - 要 Duration 等待的 。

Returns:

此生成器的更新实例,具有指定的超时。

disableInstanceDiscovery

public DefaultAzureCredentialBuilder disableInstanceDiscovery()

禁用设置,该设置确定在尝试进行身份验证时是否执行实例发现。 这将完全禁用实例发现和颁发机构验证。 此功能适用于无法访问元数据终结点的方案,例如在私有云或 Azure Stack 中。 实例发现过程需要从 https://login.microsoft.com/ 中检索颁发机构元数据以验证颁发机构。 利用此 API 可禁用颁发机构的验证。 因此,确保配置的颁发机构主机有效且可信至关重要。

Returns:

此生成器的更新实例,其中禁用了实例发现。

executorService

public DefaultAzureCredentialBuilder executorService(ExecutorService executorService)

指定要用于执行身份验证请求的 ExecutorService。 开发人员负责维护 ExecutorService 的生命周期。

如果未配置此配置, common fork join pool 则将使用 ,它也会与其他应用程序任务共享。 如果公共池大量用于其他任务,身份验证请求可能会耗尽,应考虑设置此执行程序服务。

如果 Azure SDK 客户端不再使用 TokenCredential 并且应在应用程序退出之前关闭,则可以安全地关闭执行程序服务和 。

Parameters:

executorService - 用于执行身份验证请求的执行程序服务。

Returns:

此生成器的更新实例,其中设置了指定的执行程序服务。

intelliJKeePassDatabasePath

public DefaultAzureCredentialBuilder intelliJKeePassDatabasePath(String databasePath)

指定用于读取用于 IntelliJ 插件的 Azure 工具包的缓存凭据的 KeePass 数据库路径。 databasePath在 Windows 平台上需要 。 对于 macOS 和 Linux 平台,将分别访问本机密钥链/密钥环以检索缓存的凭据。

此路径可以位于 IntelliJ IDE 中。 Windows:文件 -> 设置 -> 外观 & 行为 -> 系统设置 -> 密码。

Parameters:

databasePath - KeePass 数据库的路径。

Returns:

此生成器的更新实例,其中设置了指定的 KeePass 数据库路径。

managedIdentityClientId

public DefaultAzureCredentialBuilder managedIdentityClientId(String clientId)

指定此凭据在使用托管标识的环境中运行时的用户分配标识或系统分配标识的客户端 ID。 如果未设置,将使用AZURE_CLIENT_ID环境变量中的值。 如果两者均未设置,则默认值为 null,并且仅适用于系统分配的托管标识,而不适用于用户分配的托管标识。 只能指定 managedIdentityClientId 和 managedIdentityResourceId 中的一个。

Parameters:

clientId - 客户端 ID

Returns:

DefaultAzureCredentialBuilder 本身

managedIdentityResourceId

public DefaultAzureCredentialBuilder managedIdentityResourceId(String resourceId)

指定此凭据在使用托管标识的环境中运行时的用户分配标识或系统分配标识的资源 ID。 如果未设置,将使用AZURE_CLIENT_ID环境变量中的值。 如果两者均未设置,则默认值为 null,并且仅适用于系统分配的托管标识,而不适用于用户分配的托管标识。 只能指定 managedIdentityResourceId 和 managedIdentityClientId 中的一个。

Parameters:

resourceId - 资源 ID

Returns:

DefaultAzureCredentialBuilder 本身

tenantId

public DefaultAzureCredentialBuilder tenantId(String tenantId)

设置要通过 DefaultAzureCredential进行身份验证的用户的租户 ID。 如果未设置,将使用AZURE_TENANT_ID环境变量中的值。 如果两者均未设置,则默认值为 null,并将向其默认租户验证用户身份。

Parameters:

tenantId - 要设置的租户 ID。

Returns:

此生成器的更新实例,其中设置了指定的租户 ID。

workloadIdentityClientId

public DefaultAzureCredentialBuilder workloadIdentityClientId(String clientId)

指定要用于 AKS 工作负载标识身份验证的 Azure AD 应用的客户端 ID。 如果未设置, managedIdentityClientId(String clientId) 则使用 。 如果未设置这两个值,则将使用AZURE_CLIENT_ID环境变量中的值。 如果未设置任何值,则默认值为 null,并且不会尝试工作负载标识身份验证。

Parameters:

clientId - 客户端 ID

Returns:

DefaultAzureCredentialBuilder 本身

适用于