我正在为 Azure Entra ID (Azure AD) 服务准备自动化。我需要将 SPN 添加到此注册应用程序的 Ownets(请参阅屏幕截图)。
从 Azure Portal GUI 中没有选项可以做到这一点,但使用 Powershell 和旧版 AzureAD 模块我可以做到这一点,AzureAD 模块很快就会被弃用,所以我必须使用 Microsoft.Graph。在Ms文档中我可以找到命令
New-MgApplicationOwnerByRef
,但我不确定我必须在这里传递什么ID,代码来自下面的文档:
$NewOwner = @{
"@odata.id"= "https://graph.microsoft.com/v1.0/directoryObjects/{075b32dd-edb7-47cf-89ef-f3f733683a3f}"
}
New-MgApplicationOwnerByRef -ApplicationId 'f6b30057-7095-4e2c-89f8-224149f591b7' -BodyParameter $NewOwner
我应该在
"@odata.id"
中输入什么ID,是SPN对象ID吗?应该将什么传递给参数-ApplicationId
?
要将服务主体添加为 Azure AD 应用程序注册的所有者,您可以运行以下 PowerShell 脚本:
Import-Module Microsoft.Graph.Applications
Connect-MgGraph -Scopes "Application.ReadWrite.All"
$params = @{
"@odata.id" = "https://graph.microsoft.com/v1.0/directoryObjects/{spObjId}"
}
$applicationId = "appregObjId"
New-MgApplicationOwnerByRef -ApplicationId $applicationId -BodyParameter $params
回复:
为了确认这一点,我在门户中检查了相同的内容,其中服务主体成功添加为应用程序注册的所有者,如下所示:
在您的情况下,您需要为"@odata.id"
传递
SPN对象ID,可以在企业应用程序中找到,如下所示:
对于
-ApplicationId
参数,您需要传递App注册的对象ID,可以在这里找到: