如何登录Azure服务主体

问题描述 投票:0回答:4
  1. Connect-AzureRMAccount
    不起作用。我不在乎。我不想经历需要博士学位的过程才能理解为什么 PowerShell 永远不想工作。所以我要用
    Login-AzureRMAccount

  2. 我已遵循文档。当然这还不够,所以我就来了。 https://learn.microsoft.com/en-us/powershell/azure/authenticate-azureps?view=azurermps-6.6.0

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

我在哪里可以找到我的用户ID?我按照另一个关于创建SP的文档说明进行操作,我所做的就是创建一个应用程序。我在 PowerShell 中获得了 SP 对象,它所做的只是给了我 SP 的 NAME 。

现在我明白什么是用户 ID 了。我如何登录?我使用

Login-AzureRmAccount
Add-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.
azure active-directory azure-active-directory azure-authentication service-principal
4个回答
9
投票

尝试以下命令以服务主体身份登录,在我这边工作正常。

$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 

欲了解更多详情,请参阅此类似问题


0
投票

您所说的 userId 是您的服务主体的 Application Id(也称为 ClientID)。


0
投票

以下内容确实应该适合您

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

来源:Microsoft 文档


0
投票

以下是如何使用

Az Powershell
登录:

# Enter Service Principal's Object ID and Secret when prompted 
$Credential = Get-Credential

# Tenant ID
$TenantId = "XXX"
Connect-AzAccount -Credential $Credential -Tenant $TenantId -ServicePrincipal -Subscription $SubscriptionID
© www.soinside.com 2019 - 2024. All rights reserved.