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 将搜索 CurrentUser
和 LocalMachine
证书存储。
类型: | 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