如何在ARM模板中获取AzureAD用户principalId

时间:2020-05-11 14:33:11

标签: azure azure-active-directory arm-template

我想为Azure SQL数据库设置AzureAD管理员。为此,我需要同时设置登录名(电子邮件)和principalId

我不想只传递电子邮件和principalId作为ARM模板输入参数,而是只传递用户电子邮件。然后在模板中,我想通过电子邮件获取用户principalId。对于托管身份,可以这样做:

[reference(resourceId('Microsoft.Web/sites', variables('web-app-name')), '2019-08-01', 'full').identity.principalId]

但是我找不到如何为用户做类似的事情。

2 个答案:

答案 0 :(得分:0)

您可能需要使用脚本来获取ID,然后将其作为参数传递给ARM模板。

例如,您可以使用AzureAD PowerShell模块:https://docs.microsoft.com/en-us/powershell/module/azuread/?view=azureadps-2.0

Get-AzureADUser -Filter "userPrincipalName eq 'jondoe@contoso.com'" 

答案 1 :(得分:0)

它不漂亮,仍处于预览状态,但是ARM templates now have support for executing scripts