温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Add members to Azure Enterprise App through CLI
azure-active-directory azure-cli az

其他 - 通过CLI将成员添加到Azure企业应用程序

发布于 2020-04-22 12:33:00

我们的Azure AD租户中有一个企业应用程序,用于将用户置备到另一个SaaS平台。当前,仅通过选项“仅同步分配的用户和组”进行设置,因为我们不希望将整个目录都移过来。

我的问题很简单,是否可以使用az-cli(当前已安装2.0.60版)将用户添加到该企业应用程序?

我检查了:

  • az ad sp
  • AZ广告应用
  • Az角色分配(似乎仅适用于下面的订阅和资源)

我希望会有一个简单的角色分配命令运行,该命令通过upn / objectId将用户添加到企业应用程序中。

我们团队中的每个人都在使用Mac,如果有更好的支持,我们可以使用PowerShellCore。

谢谢!

查看更多

提问者
kanthael
被浏览
26
Joy Wang 2019-03-27 15:49

看来您无法通过Azure CLI做到这一点,我的解决方法是使用Powershell做到这一点。

我们团队中的每个人都在使用Mac,如果有更好的支持,我们可以使用PowerShellCore。

首先,您需要安装AzureAD.Standard.Preview支持powershell核心powershell模块,您可以了解该模块等同AzureAD于powershell核心中模块,它们具有相同的用法,它是预览版,有关更多详细信息,请参阅此链接

然后尝试New-AzureADUserAppRoleAssignment 如下所示的命令,此示例将用户分配给具有默认应用程序角色ID的应用程序。

New-AzureADUserAppRoleAssignment -ObjectId "<user objectid>" -PrincipalId "<user objectid>" -ResourceId "<service principal objectid(i.e. Enterprise Application objectid)>" -Id ([Guid]::Empty)

在此处输入图片说明

检入门户:

在此处输入图片说明

如果要将用户分配给应用程序中的特定应用程序角色,请尝试以下命令。

$username = "<You user's UPN>"
$app_name = "<Your App's display name>"
$app_role_name = "<App role display name>"

# Get the user to assign, and the service principal for the app to assign to
$user = Get-AzureADUser -ObjectId "$username"
$sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
$appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }

#Assign the user to the app role
New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id