Add-SqlAzureAuthenticationContext

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

语法

DefaultAzureCredential Public

Add-SqlAzureAuthenticationContext
    [[-ExcludeCredential] <CredentialType[]>]
    [-DefaultAzureCredential]
    [<CommonParameters>]

DefaultAzureCredential Private

Add-SqlAzureAuthenticationContext
    [[-ExcludeCredential] <CredentialType[]>]
    [-ActiveDirectoryAuthority] <String>
    [-AzureKeyVaultResourceId] <String>
    [[-AzureManagedHsmResourceId] <String>]
    [-DefaultAzureCredential]
    [<CommonParameters>]

Interactive Public

Add-SqlAzureAuthenticationContext
    [-Interactive]
    [<CommonParameters>]

Interactive Private

Add-SqlAzureAuthenticationContext
    [-ActiveDirectoryAuthority] <String>
    [-AzureKeyVaultResourceId] <String>
    [[-AzureManagedHsmResourceId] <String>]
    [-Interactive]
    [<CommonParameters>]

ClientIdSecret Public

Add-SqlAzureAuthenticationContext
    [-ClientID] <String>
    [-Secret] <String>
    [-Tenant] <String>
    [<CommonParameters>]

ClientIdSecret Private

Add-SqlAzureAuthenticationContext
    [-ClientID] <String>
    [-Secret] <String>
    [-Tenant] <String>
    [-ActiveDirectoryAuthority] <String>
    [-AzureKeyVaultResourceId] <String>
    [[-AzureManagedHsmResourceId] <String>]
    [<CommonParameters>]

ClientIdCertificate Public

Add-SqlAzureAuthenticationContext
    [-ClientID] <String>
    [-CertificateThumbprint] <String>
    [-Tenant] <String>
    [<CommonParameters>]

ClientIdCertificate Private

Add-SqlAzureAuthenticationContext
    [-ClientID] <String>
    [-CertificateThumbprint] <String>
    [-Tenant] <String>
    [-ActiveDirectoryAuthority] <String>
    [-AzureKeyVaultResourceId] <String>
    [[-AzureManagedHsmResourceId] <String>]
    [<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 '00001111-aaaa-2222-bbbb-3333cccc4444' -Secret '[Placeholder]' -Tenant '11112222-bbbb-3333-cccc-4444dddd5555'

此命令使用在指定租户中定义的指定客户端 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
默认值:None
支持通配符:False
不显示:False

参数集

DefaultAzureCredential Private
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
Interactive Private
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdSecret Private
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdCertificate Private
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-AzureKeyVaultResourceId

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

DefaultAzureCredential Private
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
Interactive Private
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdSecret Private
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdCertificate Private
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-AzureManagedHsmResourceId

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

DefaultAzureCredential Private
Position:2
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
Interactive Private
Position:2
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdSecret Private
Position:2
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdCertificate Private
Position:2
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-CertificateThumbprint

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

ClientIdCertificate Public
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdCertificate Private
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ClientID

指定应用程序客户端 ID。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

ClientIdSecret Public
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdSecret Private
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdCertificate Public
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdCertificate Private
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DefaultAzureCredential

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

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

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

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

DefaultAzureCredential Public
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
DefaultAzureCredential Private
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ExcludeCredential

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

参数属性

类型:

CredentialType[]

默认值:None
接受的值:EnvironmentCredential, WorkloadIdentityCredential, ManagedIdentityCredential, SharedTokenCacheCredential, VisualStudioCredential, VisualStudioCodeCredential, AzureCliCredential, AzurePowerShellCredential, AzureDeveloperCliCredential, InteractiveBrowserCredential
支持通配符:False
不显示:False

参数集

DefaultAzureCredential Public
Position:1
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
DefaultAzureCredential Private
Position:1
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Interactive

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

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

Interactive Public
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
Interactive Private
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Secret

指定应用程序机密。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

ClientIdSecret Public
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdSecret Private
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Tenant

指定 Azure 中的租户。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

ClientIdSecret Public
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdSecret Private
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdCertificate Public
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
ClientIdCertificate Private
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输出

System.Object