Azure active directory 通过CLI将成员添加到Azure Enterprise App

Azure active directory 通过CLI将成员添加到Azure Enterprise App,azure-active-directory,azure-cli,az,Azure Active Directory,Azure Cli,Az,我们的Azure AD租户中有一个企业应用程序,用于将用户调配到另一个SaaS平台。目前,它只设置了“仅同步已分配的用户和组”选项,因为我们不希望将整个目录带过来 我的问题很简单,有没有一种方法可以使用az cli(目前已安装2.0.60版)向该企业应用程序添加用户 我查看了以下内容: az ad sp az广告应用程序 az角色分配(似乎仅适用于以下订阅和资源) 我希望可以运行一个简单的角色分配命令,通过upn/objectId将用户添加到企业应用程序中 我的团队中的每个人都在使用Mac,

我们的Azure AD租户中有一个企业应用程序,用于将用户调配到另一个SaaS平台。目前,它只设置了“仅同步已分配的用户和组”选项,因为我们不希望将整个目录带过来

我的问题很简单,有没有一种方法可以使用az cli(目前已安装2.0.60版)向该企业应用程序添加用户

我查看了以下内容:

  • az ad sp
  • az广告应用程序
  • az角色分配(似乎仅适用于以下订阅和资源)
我希望可以运行一个简单的角色分配命令,通过upn/objectId将用户添加到企业应用程序中

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


谢谢

似乎您无法通过Azure CLI实现这一点,我的解决方法是使用powershell实现这一点

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

首先,您需要安装支持powershell core的powershell模块,您可以理解该模块相当于powershell core中的
AzureAD
模块,它们具有相同的用法,它是一个预览版本,有关更多详细信息,请参阅此

然后尝试以下命令,此示例将用户分配给具有默认应用程序角色id的应用程序

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

在门户中签入:

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

$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
$username=“”
$app_role_name=“”
#获取要分配的用户以及应用程序要分配到的服务主体
$user=Get AzureADUser-ObjectId“$username”
$sp=获取AzureADServicePrincipal-过滤器“displayName eq'$app_name'”
$appRole=$sp.AppRoles |其中对象{$\u.DisplayName-eq$app\u role\u name}
#将用户分配到应用程序角色
新AzureADUserAppRoleAssignment-ObjectId$user.ObjectId-PrincipalId$user.ObjectId-ResourceId$sp.ObjectId-Id$appRole.Id

如果有帮助的话,我可以使用“az rest”来完成。我们在这里都使用Mac,powershell core似乎在一些地方出现故障(不支持基于证书的登录,新的AzureADUserAppRoleAssignment cmdlet对我们不起作用。我们使用的是预览版本。Graph API文档也非常错误,因此需要进行一些修改才能获得正确的端点和负载。以下示例:

az rest——方法post——uri$user/Approvalsignments——正文“{\“ApprovleId\”:\“$ApprovleId\”,“$principalId\”:\“$user\”,“resourceId\”:\“$spObjectId\”}”--标题“内容类型=应用程序/json”


如果有人感兴趣,可以发布一个用于设置变量的bash脚本示例吗?

只需确认:您想在屏幕截图中的
用户和组中添加用户或
所有者中添加用户?用户和组对此感兴趣的人应该在此处投票:非常感谢!似乎效果不错,但不幸的是,我似乎无法继续t该模块安装在我的本地客户端上,因为它似乎只是内部PSGallery,但我可以从Azure的云Shell运行该cmdlet。如果用户已经在应用程序中,我也不喜欢该调用的HttpBadRequest,但我可以解决该问题。嘿@brendan foxen-我很感兴趣!我还想知道你的ap自您发布此消息后,方法已向前推进。感谢此方法也适用于组,只需将“用户”替换为组,将“$user”替换为“$group”