如何登录到Azure服务主体

时间:2018-08-07 05:38:54

标签: azure active-directory azure-active-directory azure-authentication service-principal

  1. Connect-AzureRMAccount不起作用。我不在乎我不想经历需要博士学位的过程,以了解为什么PowerShell永远都不想工作。所以我要使用Login-AzureRMAccount

  2. 我关注了文档。当然这是不够的,所以我在这里。 https://docs.microsoft.com/en-us/powershell/azure/authenticate-azureps?view=azurermps-6.6.0

  

“为了获取服务主体的凭据作为适当的对象,请使用Get-Credential cmdlet。此cmdlet将显示一个对话框,用于在其中输入服务主体用户ID和密码。”

我什至在哪里可以找到我的用户ID?我遵循了有关创建SP的另一文档说明,而我所做的只是创建了一个应用。我在PowerShell中得到了SP对象,它所做的只是给我一个SP的名称。

现在,我了解什么是用户ID。我该如何登录?我使用Login-AzureRmAccountAdd-AzureRMAccount,他们俩都说

$p = Get-Credential
Add-AzureRmAccount -ServicePrincipal -ApplicationId "XXXXXXXXXX" -Credential $p -TenantId "XXXXXXXXXXX"
Add(/Login)-AzureRmAccount : Parameter set cannot be resolved using the specified named parameters.

3 个答案:

答案 0 :(得分:1)

请尝试以下命令以服务主体身份登录,对我而言这很好。

$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)
Add-AzureRmAccount -Credential $psCred -TenantId $azureTenantId  -ServicePrincipal 

enter image description here

有关更多详细信息,请参阅此similar issue

答案 1 :(得分:0)

您所说的userId是服务主体的应用程序ID (也称为 ClientID )。

答案 2 :(得分:0)

以下内容确实适合您

$pscredential = Get-Credential
Connect-AzureRmAccount -ServicePrincipal -ApplicationId  "http://my-app" -Credential $pscredential -TenantId $tenantid

来源:Microsoft Docs