Connect-AzAccount - 如何避免 azure 设备身份验证?
Connect-AzAccount - how to avoid azure device authentication?
我已经安装了 PowerShell 6.1.3 版本并且
我想使用以下 Azure PowerShell 命令连接到 Azure 帐户:
Connect-AzAccount -Tenant <tenantId> -Subscription <subId>
输入此命令后,我收到 url 和一些代码的警告。
然后我必须去 URL 并在那里输入代码。之后,我连接到 Azure 帐户。
有什么方法可以避免这种确认吗?
我也尝试过使用以下命令来做到这一点:
az login -u <username> -p <password>
此命令仅 returns 一些帐户信息(subscriptionId、tenantId 等),但不会安装与此帐户的连接。
您有 2 个选择。
使用凭据登录(需要 Az.Accounts v 1.2.0 或更高版本)
您还可以使用授权连接到 Azure 的 PSCredential
对象登录。获取凭据对象的最简单方法是使用 Get-Credential cmdlet。当 运行 时,此 cmdlet 将提示您输入 username/password 凭据对。
$creds = Get-Credential
Connect-AzAccount -Credential $creds
使用服务主体登录
服务主体是非交互式 Azure 帐户。与其他用户帐户一样,他们的权限通过 Azure Active Directory 进行管理。通过仅授予服务主体所需的权限,您的自动化脚本将保持安全。
要了解如何创建用于 Azure PowerShell 的服务主体,请参阅 Create an Azure service principal with Azure PowerShell。
来源:https://docs.microsoft.com/en-us/powershell/azure/authenticate-azureps?view=azps-1.3.0
1.To使用用户账号登录,尝试如下命令,确保你的账号没有启用MFA(Multi-Factor Authentication)。
$User = "xxx@xxxx.onmicrosoft.com"
$PWord = ConvertTo-SecureString -String "<Password>" -AsPlainText -Force
$tenant = "<tenant id>"
$subscription = "<subscription id>"
$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $User,$PWord
Connect-AzAccount -Credential $Credential -Tenant $tenant -Subscription $subscription
2.You也可以使用服务主体登录,使用如下命令。
$azureAplicationId ="Azure AD Application Id"
$azureTenantId= "Your Tenant Id"
$azurePassword = ConvertTo-SecureString "strong password" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId , $azurePassword)
Connect-AzAccount -Credential $psCred -TenantId $azureTenantId -ServicePrincipal
看到我回答的类似问题 ,它使用旧的 AzureRM
模块,对于 Az
,只需更改最后一行。
如果您不熟悉服务主体,另请参阅:How to: Use the portal to create an Azure AD application and service principal that can access resources, the application id and authentication key 是您需要的 Azure AD Application Id
和 strong password
。
如果启用了多因素,那么下面的逻辑也应该有效
$clientId = "***********************"
$clientSecret = "********************"
$tenantId = "***********************"
$tempPassword = ConvertTo-SecureString "$clientSecret" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($clientId ,
$tempPassword)
Connect-AzAccount -Credential $psCred -TenantId $azureTenantId -ServicePrincipal
我已经安装了 PowerShell 6.1.3 版本并且 我想使用以下 Azure PowerShell 命令连接到 Azure 帐户:
Connect-AzAccount -Tenant <tenantId> -Subscription <subId>
输入此命令后,我收到 url 和一些代码的警告。 然后我必须去 URL 并在那里输入代码。之后,我连接到 Azure 帐户。
有什么方法可以避免这种确认吗?
我也尝试过使用以下命令来做到这一点:
az login -u <username> -p <password>
此命令仅 returns 一些帐户信息(subscriptionId、tenantId 等),但不会安装与此帐户的连接。
您有 2 个选择。
使用凭据登录(需要 Az.Accounts v 1.2.0 或更高版本)
您还可以使用授权连接到 Azure 的 PSCredential
对象登录。获取凭据对象的最简单方法是使用 Get-Credential cmdlet。当 运行 时,此 cmdlet 将提示您输入 username/password 凭据对。
$creds = Get-Credential
Connect-AzAccount -Credential $creds
使用服务主体登录
服务主体是非交互式 Azure 帐户。与其他用户帐户一样,他们的权限通过 Azure Active Directory 进行管理。通过仅授予服务主体所需的权限,您的自动化脚本将保持安全。
要了解如何创建用于 Azure PowerShell 的服务主体,请参阅 Create an Azure service principal with Azure PowerShell。
来源:https://docs.microsoft.com/en-us/powershell/azure/authenticate-azureps?view=azps-1.3.0
1.To使用用户账号登录,尝试如下命令,确保你的账号没有启用MFA(Multi-Factor Authentication)。
$User = "xxx@xxxx.onmicrosoft.com"
$PWord = ConvertTo-SecureString -String "<Password>" -AsPlainText -Force
$tenant = "<tenant id>"
$subscription = "<subscription id>"
$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $User,$PWord
Connect-AzAccount -Credential $Credential -Tenant $tenant -Subscription $subscription
2.You也可以使用服务主体登录,使用如下命令。
$azureAplicationId ="Azure AD Application Id"
$azureTenantId= "Your Tenant Id"
$azurePassword = ConvertTo-SecureString "strong password" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId , $azurePassword)
Connect-AzAccount -Credential $psCred -TenantId $azureTenantId -ServicePrincipal
看到我回答的类似问题 AzureRM
模块,对于 Az
,只需更改最后一行。
如果您不熟悉服务主体,另请参阅:How to: Use the portal to create an Azure AD application and service principal that can access resources, the application id and authentication key 是您需要的 Azure AD Application Id
和 strong password
。
如果启用了多因素,那么下面的逻辑也应该有效
$clientId = "***********************"
$clientSecret = "********************"
$tenantId = "***********************"
$tempPassword = ConvertTo-SecureString "$clientSecret" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($clientId ,
$tempPassword)
Connect-AzAccount -Credential $psCred -TenantId $azureTenantId -ServicePrincipal