我们的Azure AD租户中有一个企业应用程序,用于将用户置备到另一个SaaS平台。当前,仅通过选项“仅同步分配的用户和组”进行设置,因为我们不希望将整个目录都移过来。
我的问题很简单,是否可以使用az-cli(当前已安装2.0.60版)将用户添加到该企业应用程序?
我检查了:
我希望会有一个简单的角色分配命令运行,该命令通过upn / objectId将用户添加到企业应用程序中。
我们团队中的每个人都在使用Mac,如果有更好的支持,我们可以使用PowerShellCore。
谢谢!
看来您无法通过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
非常感谢!似乎运行良好,但不幸的是,我似乎无法在本地客户端上安装该模块,因为它似乎只是内部PSGallery,但我可以从Azure的Cloud Shell运行该cmdlet。如果用户已经在应用程序中,那么我也不喜欢该调用中的HttpBadRequest,但是我可以解决该问题。