Add-SqlAzureAuthenticationContext

对 Azure 执行身份验证并获取身份验证令牌。

语法

Add-SqlAzureAuthenticationContext
   [-DefaultAzureCredential]
   [[-ExcludeCredential] <CredentialType[]>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Add-SqlAzureAuthenticationContext
   [-DefaultAzureCredential]
   [[-ExcludeCredential] <CredentialType[]>]
   [-ActiveDirectoryAuthority] <String>
   [-AzureKeyVaultResourceId] <String>
   [[-AzureManagedHsmResourceId] <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Add-SqlAzureAuthenticationContext
   [-Interactive]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Add-SqlAzureAuthenticationContext
   [-Interactive]
   [-ActiveDirectoryAuthority] <String>
   [-AzureKeyVaultResourceId] <String>
   [[-AzureManagedHsmResourceId] <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Add-SqlAzureAuthenticationContext
   [-ClientID] <String>
   [-Secret] <String>
   [-Tenant] <String>
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Add-SqlAzureAuthenticationContext
   [-ClientID] <String>
   [-Secret] <String>
   [-Tenant] <String>
   [-ActiveDirectoryAuthority] <String>
   [-AzureKeyVaultResourceId] <String>
   [[-AzureManagedHsmResourceId] <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Add-SqlAzureAuthenticationContext
   [-ClientID] <String>
   [-CertificateThumbprint] <String>
   [-Tenant] <String>
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Add-SqlAzureAuthenticationContext
   [-ClientID] <String>
   [-CertificateThumbprint] <String>
   [-Tenant] <String>
   [-ActiveDirectoryAuthority] <String>
   [-AzureKeyVaultResourceId] <String>
   [[-AzureManagedHsmResourceId] <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]

说明

Add-SqlAzureAuthenticationContext cmdlet 向 Azure 资源管理器验证指定的主体帐户。 将此 cmdlet 与其他与 Azure 资源(例如 Azure Key Vault)交互的 cmdlet 一起使用。

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

示例

示例 1:提示用户输入凭据以向 Azure 资源管理器对用户进行身份验证

Add-SqlAzureAuthenticationContext -Interactive

此命令提示用户输入用户名和密码,然后将用户进行身份验证到 Azure 资源管理器。

示例 2:向 Azure 资源管理器验证用户身份

Add-SqlAzureAuthenticationContext -ClientID 'ad34ca5a-a479-4cf4-b166-a2177b32d33e' -Secret '[Placeholder]' -Tenant '41fb6cc6-96f4-479d-bafd-a2e4810eb100'

此命令使用在指定租户中定义的指定客户端 ID 对应用程序主体执行到 Azure 资源管理器的身份验证。

示例 3:使用 DefaultAzureCredential 向 Azure 资源管理器验证用户身份

Add-SqlAzureAuthenticationContext -DefaultAzureCredential

此命令使用以下凭据类型获取令牌: 如果已启用,将按顺序尝试:EnvironmentCredential、WorkloadIdentityCredential、ManagedIdentityCredential、SharedTokenCacheCredential、VisualStudioCredential、VisualStudioCodeCredential、AzureCliCredential、AzurePowerShellCredential、AzureDeveloperCliCredential、InteractiveBrowserCredential。

示例 4:使用 DefaultAzureCredential 但排除少数凭据类型,以向 Azure 资源管理器对用户进行身份验证

Add-SqlAzureAuthenticationContext -DefaultAzureCredential `
   -ExcludeCredentials EnvironmentCredential, AzureDeveloperCliCredential

此命令按顺序使用以下凭据类型(如果已启用)获取令牌:WorkloadIdentityCredential、ManagedIdentityCredential、SharedTokenCacheCredential、VisualStudioCredential、VisualStudioCodeCredential、AzureCliCredential、AzurePowerShellCredential、InteractiveBrowserCredential。 请注意,EnvironmentCredential、AzureDeveloperCliCredential 已从上述类型中排除。

参数

-ActiveDirectoryAuthority

指定 Azure Active Directory 身份验证的基本颁发机构。 与 Azure PowerShell 环境对象中的 ActiveDirectoryAuthority 属性的值相同。

类型:String
Position:1
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-AzureKeyVaultResourceId

指定 Azure Key Vault 服务的资源 ID。 与 Azure PowerShell 环境对象中的 AzureKeyVaultServiceEndpointResourceId 属性的值相同。

类型:String
Position:2
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-AzureManagedHsmResourceId

指定 Azure 托管 HSM 服务的资源 ID。 当托管 HSM 资源位于 Azure 公有云以外的 Azure 实例中时,请使用此参数替代默认值 https://managedhsm.azure.net

类型:String
Position:2
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CertificateThumbprint

指定要用于标识要使用的证书的指纹。 该 cmdlet 将搜索 CurrentUserLocalMachine 证书存储。

类型:String
Position:1
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ClientID

指定应用程序客户端 ID。

类型:String
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DefaultAzureCredential

指示此 cmdlet 使用 DefaultAzureCredential 获取令牌。 将按顺序尝试以下凭据类型(如果已启用):

  • EnvironmentCredential
  • WorkloadIdentityCredential
  • ManagedIdentityCredential
  • SharedTokenCacheCredential
  • VisualStudioCredential
  • VisualStudioCodeCredential
  • AzureCliCredential
  • AzurePowerShellCredential
  • AzureDeveloperCliCredential
  • InteractiveBrowserCredential

有关每种凭据类型的详细信息,请参阅 DefaultAzureCredential 类

类型:SwitchParameter
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ExcludeCredential

指示 DefaultAzureCredential 应排除在获取令牌时指定的凭据类型列表。

类型:CredentialType[]
接受的值:EnvironmentCredential, WorkloadIdentityCredential, ManagedIdentityCredential, SharedTokenCacheCredential, VisualStudioCredential, VisualStudioCodeCredential, AzureCliCredential, AzurePowerShellCredential, AzureDeveloperCliCredential, InteractiveBrowserCredential
Position:1
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Interactive

指示此 cmdlet 提示用户输入凭据。

类型:SwitchParameter
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ProgressAction

确定 PowerShell 如何响应脚本、cmdlet 或提供程序生成的进度更新,例如由 Write-Progress cmdlet 生成的进度栏。 Write-Progress cmdlet 创建显示命令状态的进度栏。

类型:ActionPreference
别名:proga
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Secret

指定应用程序机密。

类型:String
Position:1
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Tenant

指定 Azure 中的租户。

类型:String
Position:2
默认值:None
必需:True
接受管道输入:False
接受通配符:False

输出

System.Object