gpt4 book ai didi

Azure AD : Assign AppRole to multiple users

转载 作者:行者123 更新时间:2023-12-03 01:39:41 27 4
gpt4 key购买 nike

我在应用程序 list 中创建了一个新的自定义 AppRole,我想将此新的 AppRole 分配给应用程序的所有用户。我对此进行了研究,发现了几个关于如何使用 Powershell 或 Bash 向用户分配新 AppRole 的链接,但我需要使用脚本向所有用户(近 1500 个用户)分配新 AppRole。有谁知道如何做到这一点?

下面是我查看的几个链接,但它将角色分配给单个用户:

https://learn.microsoft.com/en-us/powershell/module/azuread/new-azureaduserapproleassignment?view=azureadps-2.0

https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/assign-user-or-group-access-portal

最佳答案

您已经查看了 Azure 门户和可用的 UI,它不太适合批量操作(一次只能分配一个角色,必须逐一选择用户,没有办法根据某些条件等批量选择用户)

以下选项可能对您有帮助:

  1. 将角色分配给组而不是单个用户

    这需要高级版本的 Azure AD。这不仅对于第一次分配而且对于整体管理来说都更加方便。

  2. 脚本/API 选项(PowerShell、CLI、Azure AD Graph API、Microsoft Graph API)

    想法是循环遍历所有用户(或基于某些条件的所需用户子集)并为他们分配适当的应用角色。

    这是 PowerShell 的示例脚本。

    Connect-AzureAD -TenantId <Your Tenant Id>

    $app_name = "RolesWebApp"
    $app_role_name = "Writer"

    # Get the service principal for the app and app role
    $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }

    $users = Get-AzureADUser -Top 10

    foreach ($user in $users)
    {
    # Assign the user to the app role
    New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId
    $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
    }

看看this SO thread我们在其中讨论了非常相似的内容,并且对每个选项都有更多详细信息。

有关 Microsoft Graph API 的特别说明:

尽管在大多数情况下,建议使用 Microsoft Graph API 而不是 Azure AD Graph API。此特定功能仅在 Beta 端点中可用。因此,不建议将其用于任何生产代码。 Working with appRoleAssignments

关于Azure AD : Assign AppRole to multiple users,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55028463/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com