通过


在许可管理中为 access package 更改资源角色

作为访问包的管理者,您可以随时更改访问包中的资源,而无需担心将用户的访问权限预配到新资源,或者从以前的资源中删除他们的访问权限。 本文介绍如何更改现有访问包的资源角色。

此视频概述了如何更改访问包。

检查目录以获取资源

如果需要将组或应用等资源添加到access包,则应检查access包目录中是否有可用的资源。 如果你是access package manager,则不能将资源添加到目录,即使你拥有它们。 你只能使用目录中提供的资源。

  1. 至少以 身份治理管理员 的身份登录到 Microsoft Entra 管理中心

    提示

    可以完成此任务的其他最低特权角色包括目录所有者和Access package manager。

  2. 浏览到 ID 治理>权限管理>访问包

  3. Access 包页面上,打开要检查的 Access 包,以确保其目录中包含必要的资源。

  4. 在左侧菜单中,选择“ 目录 ”,然后打开目录。

  5. 在左侧菜单中,选择“ 资源 ”以查看此目录中的资源列表。

    目录中的资源列表

  6. 如果资源尚未在目录中,并且你是管理员或目录所有者,则可以 将资源添加到目录。 可添加的资源类型包括组、已与目录集成的应用程序和 SharePoint Online 站点。 例如:

    • 组可以是云创建的Microsoft 365 Groups,也可以是云创建的Microsoft Entra 安全组。 无法将源自on-premises Active Directory的组分配为资源,因为其所有者或成员无法在Microsoft Entra ID中更改属性。 若要为使用 AD 安全组成员的应用程序提供访问权限,请在 Microsoft Entra ID 中创建新组,配置 组写回到 AD,并启用该组写入 AD。 Exchange Online 中作为通讯组发起的组也无法在Microsoft Entra ID中修改。
    • 应用程序可以是 Microsoft Entra 的企业应用程序, 例如包括软件即服务(SaaS)应用程序、使用其他目录或数据库的本地部署应用程序,以及您自己的与 Microsoft Entra ID 集成的应用程序。 如果应用程序尚未与 Microsoft Entra 目录集成,请参阅管理环境中应用程序的访问权限govern access将应用程序与 Microsoft Entra ID 集成
    • 站点可以是 SharePoint Online 站点或 SharePoint Online 站点集合。
  7. 如果您是访问包管理员,并且需要将资源添加到目录中,可以请求目录所有者来添加它们。

确定要包含在访问包中的资源角色

资源角色是与资源关联且有资源定义的权限的集合。 如果将每个目录资源中的资源角色添加到您的访问包中,就可以为标识分配相应的资源。 你可以添加由组、团队、应用程序和 SharePoint 站点提供的资源角色。 当用户收到访问包的分配时,他们将被添加到访问包中的所有资源角色。

当他们失去访问包的分配时,将从该访问包中的所有资源角色中被移除。

注意

如果将身份添加到不在权限管理之内的资源,并且它们需要保留访问权限,即使他们后来收到访问包分配并且这些分配随后过期,也不要将资源角色添加到访问包中。

如果希望某些标识接收的资源角色不同于其他标识,那么需要在目录中创建多个访问包,并为每个资源角色单独创建访问包。 例如,如果要将 API 权限赋予代理 ID(预览),则需要将其与成员或来宾用户分开在一个单独的访问包中,因为成员或来宾用户无法被赋予 API 权限。 还可以将访问包标记为不兼容彼此,这样用户身份就无法请求可能导致过多访问的访问包。

具体而言,应用程序可以具有多个应用角色。 将应用程序的应用角色作为资源角色添加到access包时,如果该应用程序具有多个应用角色,则需要在access包中为这些标识指定适当的角色。

注意

如果应用程序具有多个应用角色,并且该应用程序的多个角色位于access包中,则用户将收到所有这些应用程序包含的角色。 如果希望标识仅具有某些应用程序的角色,则需要在目录中为每个应用程序的角色创建单独的访问包,即每个应用程序角色都有单独的访问包。

此外,应用程序还可以依赖安全组来表达权限。 例如,应用程序可能具有单个应用角色User,还检查两个组的成员身份-一个Ordinary Users组和一个Administrative Access组。 应用程序的用户必须是这两个组之一的成员。 如果您希望配置身份可以请求任一权限,那么您需要在目录中放入三个资源:应用程序、组Ordinary Users和组Administrative Access。 然后,在该目录中创建两个access包,并指示每个access包与另一个包不兼容

  • 首先访问包包含两个资源角色:应用程序的角色User和组的成员身份Ordinary Users
  • 第二个具有两个资源角色的访问包,其中包括应用程序的应用角色User和组成员身份Administrative Access

检查是否已将身份分配给资源角色

当管理员将资源角色添加到访问包时,已在该资源角色中的标识若没有分配到该访问包,将仍然保留在资源角色中,但不会被分配到访问包。 例如,如果一个标识是某个组的成员,然后创建一个访问包,并将该组的成员角色添加到访问包中,则该标识不会自动获得该访问包的分配任务。

如果希望具有资源角色成员身份的标识也被分配到访问包,可以使用 Microsoft Entra 管理中心直接将标识分配给访问包,或者通过 Graph 或 PowerShell 批量分配。 然后,分配给访问包的身份也将获得该访问包中其他资源角色的访问权限。 然而,由于这些在资源角色中的标识在被添加到访问包之前就已经拥有访问权限,因此,当他们的访问包分配被移除时,这些标识也会从该资源角色中被移除。

添加资源角色

注意

你需要是具有目录所有者权限的Global Administrator或特权角色管理员,才能将Microsoft Entra 角色添加到目录中。 将Microsoft Entra 角色添加到目录后,标识治理管理员和Access包管理器可以创建包含该Microsoft Entra 角色的access包,以及有权管理access包的其他标识可以将标识分配给该Microsoft Entra 角色。 同样,具有 EntitlementManagement.RW.All 权限的应用程序无法向目录添加Microsoft Entra 角色,除非它们还具有具有必要的权利管理权限的Global Administrator或特权角色管理员角色。

  1. 以身份治理管理员的身份登录 Microsoft Entra 管理中心

    提示

    可以完成此任务的其他最低特权角色包括目录所有者和Access package manager。

  2. 浏览到 ID 管理>权限管理>访问包

  3. 访问包页上,打开要向该访问包添加资源角色的包。

  4. 在左侧菜单中,选择 “资源角色”。

  5. 选择添加资源角色以打开添加资源角色访问包页面。

    Access 包 - 添加资源角色

  6. 根据是要添加 组或团队的成员资格应用程序访问权限SharePoint 网站Microsoft Entra 角色(预览版)API 权限(预览版),或 SAP IAG 访问权限(预览版),执行以下资源角色部分之一中的步骤。

添加组或团队资源角色

在分配访问包时,可以让权限管理自动将身份添加到 Microsoft Teams 中的组或团队中。

  • 当组或团队的成员身份是访问包中的资源角色,并且将用户分配到该访问包时,该用户将作为成员被添加到该组或团队中(如果该用户尚未存在)。
  • 当用户的访问包分配过期时,他们将被从群组或团队中移除,除非他们当前有其他包含相同群组或团队的访问包分配。

可以选择任何 Microsoft Entra 安全组或Microsoft 365组。 具有管理员权限的身份可以将任何组添加到目录中;如果目录所有者也是该组的所有者,他们可以将任何组添加到目录中。 选择组时,请记住以下 Microsoft Entra 约束:

  • 当用户(包括来宾)作为成员添加到组或团队时,他们可以查看该组或团队的所有其他成员。
  • Microsoft Entra ID 无法更改由 Microsoft Entra Connect 从 Windows Server Active Directory 同步的组成员身份,也不能更改在 Exchange Online 中作为通讯组创建的组成员身份。 如果计划管理对使用 AD 安全组的应用程序的访问,请参阅 如何使用权益管理设置组写回
  • 无法通过添加或移除成员来更新动态成员资格组,因此它们不适合用于权利管理。
  • Microsoft 365 组有其他约束,如在管理员的 Microsoft 365 组概述中所述,包括每个组最多 100 个所有者、限制同时访问组会话的成员数量以及每个成员最多可加入 7,000 个组。

有关详细信息,请参阅 Compare groupsMicrosoft 365 Groups 和 Microsoft Teams

  1. “将资源角色添加到访问包”页上,选择组和团队打开“选择组”窗格。

  2. 选择要包含在访问包中的组和团队。

    访问包 - 添加资源角色 - 选择群组

  3. 选中“选择”。

    选择组或团队后, “子类型 ”列会列出以下子类型之一:

    子类型 描述
    安全性 用于授予资源访问权限。
    分发 用于向一组人员发送通知。
    Microsoft 365 未启用 Teams 功能的 Microsoft 365 组。 可用于公司内外身份之间的协作。
    团队 已启用 Teams 功能的 Microsoft 365 组。 可用于公司内外身份之间的协作。
  4. “角色 ”列表中,选择要分配的角色。 如果 组由 Privileged Identity Management 管理,则符合条件的成员身份(如 Eligible OwnerEligible Member 也是可以选择的选项。

    我们通常会选择“成员”角色。 如果选择“所有者”角色,则标识将成为组的所有者,这允许这些标识添加或删除其他成员或所有者。

    要分配给访问包中组资源的 PIM 角色的可用角色截图。

  5. 选择 “添加”。

    任何已与访问包存在分配关系的标识将在添加到此组或团队后自动成为其成员或所有者。 有关详细信息,请参阅 何时应用更改

注意

如果访问包的过期期限超过 PIM 管理的组中的“Expire 合格分配”策略设置,可能会导致权利管理与 Privileged Identity Management 之间产生不一致,导致身份在 Entitlement Management 显示仍然被分配的情况下失去访问权限。 有关详细信息,请参阅:使用由特权身份管理的组访问包参考

添加应用程序资源角色

你可以让 Microsoft Entra ID 自动将用户标识的访问权分配给 Microsoft Entra 企业应用程序,包括 SaaS 应用程序、本地应用程序以及与 Microsoft Entra ID 集成的组织应用程序,当为用户分配访问包时。 对于通过联合单一登录与Microsoft Entra ID集成的应用程序,Microsoft Entra ID为分配给应用程序的标识颁发联合令牌。

如果应用程序尚未与 Microsoft Entra 目录集成,请参阅管理环境中应用程序的访问权限govern access将应用程序与 Microsoft Entra ID 集成

应用程序可以在其清单中定义多个应用角色,并通过 应用角色 UI 进行管理。 将应用程序的应用角色作为资源角色添加到access包时,如果该应用程序具有多个应用角色,则需要在该access包中为这些标识指定适当的角色。 如果要开发应用程序,您可以阅读有关如何将这些角色添加到您的应用程序的详细信息,请参阅企业应用程序中配置在 SAML 令牌中发布的角色声明的操作方法。 如果您使用 Microsoft 身份验证库,还有一个代码示例,展示如何使用应用角色进行访问控制。

注意

如果应用程序具有多个应用角色,并且该应用程序的多个角色位于access包中,则用户将收到所有这些应用程序包含的角色。 如果希望标识仅具有某些应用程序的角色,则需要在目录中为每个应用程序的角色创建单独的访问包,即每个应用程序角色都有单独的访问包。

应用角色成为访问包的一部分资源后:

  • 当用户被分配到该访问包时,如果该用户尚未存在于该应用角色中,则将其添加到该角色中。 如果应用程序需要属性,则从请求中收集的属性值将被写入用户。
  • 当用户的访问包分配到期时,他们对应用程序的访问权限将被移除,除非他们另外被指派到包含该应用角色的另一个访问包。 如果应用程序需要属性,那么这些属性将从用户中删除。

选择应用程序时,请注意以下事项:

  • 应用程序还可能已将组分配到其应用角色。 可以选择在访问包中添加一个组以替代应用程序及其角色,但是,在“我的访问”门户中,应用程序作为访问包的一部分将对用户不可见。
  • Microsoft Entra 管理中心可能还会显示不能作为应用程序进行选择的服务的服务主体。 具体而言,Exchange OnlineSharePoint Online 是服务,而不是目录中具有资源角色的应用程序,因此它们不能包含在access包中。 相反,请使用基于组的许可为需要access这些服务的用户建立适当的许可证。
  • 仅支持个人Microsoft帐户用户进行身份验证且不支持目录中的组织帐户、没有应用程序角色且无法添加到access包目录的应用程序。
  • 如果访问包适用于代理身份或服务主体,请确保应用程序支持来自这些身份的交互。 如果应用程序向 API 提供 OAuth 权限,请将 API 权限添加到access包,而不是添加应用角色。 有关详细信息,请参阅管理将代理标识分配给应用程序(预览版)。
  1. 将资源角色添加到访问包页上,选择Applications以打开“选择应用程序”窗格。

  2. 选择要包含在access包中的应用程序。

    Access 包 - 添加资源角色 - 选择应用程序

  3. 选中“选择”。

  4. 在“角色”列表中,选择应用程序角色。

    Access 包 - 为应用程序添加资源角色

  5. 选择 “添加”。

    添加访问包时,任何已经分配了访问权限的身份将会被自动授予该应用程序的访问权限。 有关详细信息,请参阅 何时应用更改

添加 SharePoint 站点资源角色

Microsoft Entra ID可以在为SharePoint Online网站或网站集分配访问包时,自动为其分配身份访问权限。

  1. 将资源角色添加到访问包页上,选择 SharePoint 网站以打开“选择 SharePoint Online 网站”窗格。

    Access 包 - 添加资源角色 - 选择 SharePoint 网站 - 门户视图

  2. 选择要包含在access包中的 SharePoint Online 网站。

    访问包 - 添加资源角色 - 选择 SharePoint Online 站点

  3. 选中“选择”。

  4. 在“角色”列表中,选择 SharePoint Online 站点角色。

    Access 包 - 为 SharePoint Online 网站添加资源角色

  5. 选择 “添加”。

    添加此 SharePoint Online 网站时,与访问包有现有分配的任何标识将自动获得访问权限。 有关详细信息,请参阅 何时应用更改

添加 Microsoft Entra 角色分配

当需要为标识提供额外权限以访问组织资源时,可以通过访问包分配 Microsoft Entra 角色来管理这些权限。 通过使用权利管理将 Microsoft Entra 角色分配给员工和来宾,你可以查看用户的权利,以快速确定分配给该用户的角色。 当您将 Microsoft Entra 角色作为资源包含在访问包中时,还可以指定该角色分配是合格还是活动

通过访问包分配 Microsoft Entra 角色,有助于大规模高效地管理角色分配,并优化角色分配的生命周期管理。

注意

建议使用特权身份管理向用户提供及时访问,以执行需要提升权限的任务。 这些权限通过以下文档中标记为“privileged”的 Microsoft Entra 角色提供:Microsoft Entra 内置角色。 用户权限管理更适合为用户分配一组包括Microsoft Entra角色在内的资源,以帮助他们完成工作所需的任务。 分配给访问包的用户通常拥有对资源的长期访问。 虽然我们建议通过特权身份管理来管理高特权角色,但也可以通过Entitlement Management中的访问包来设置这些角色的资格条件。

按照以下步骤将 Microsoft Entra 角色作为资源包含在 access 包中:

  1. 以Global Administrator或特权角色管理员身份,拥有目录所有者权限,登录到Microsoft Entra 管理中心。

  2. 浏览到 ID Governance>Entitlement management>访问包

  3. 在“Access包”页上,打开要向其添加资源角色的access包,然后选择资源角色

  4. 将资源角色添加到访问包页面上,选择 Microsoft Entra 角色(预览版),打开“选择 Microsoft Entra 角色”窗格。

  5. 选择要包含在访问包中的 Microsoft Entra 角色。 为访问包选择角色的屏幕截图。

  6. 在“角色”列表中,选择“符合条件的成员”或“活动成员”。 在 access package 中选择资源角色的屏幕截图。

  7. 选择 “添加”。

注意

如果选择 Eligible,则标识将有资格获得该角色,并且可以使用 Microsoft Entra 管理中心中的Privileged Identity Management激活其分配。 如果选择 Active,则身份将具有活跃角色分配,直到它们无法再访问该访问许可包。 对于标记为“特权”的 Entra 角色,只能选择“符合条件”。 可在此处找到特权角色的列表:Microsoft Entra 内置角色

若要以编程方式添加Microsoft Entra 角色,请参阅:以编程方式将 Microsoft Entra 角色添加为 access 包中的资源

添加 API 权限(预览版)

此资源角色用于将 API 权限分配给服务主体或代理 ID,作为Microsoft Entra 代理 ID 的一部分。

Microsoft Entra 代理 ID 是 Microsoft Agent 365 的一部分。 两者均可通过 Microsoft 365 中的 Frontier 程序获得。 若要access这些功能,必须具有Microsoft 365 Copilot许可证,并为用户启用 Frontier。

按照 Frontier getting started 指南或使用以下步骤检查是否启用了 Frontier:

  1. Billing Administrator 身份登录到 Microsoft 365 admin center
  2. 浏览到 Copilot>设置>用户访问>Copilot Frontier,并确保该功能已为用户启用。 如果未看到这些选项,请与管理员联系,检查 Microsoft 365 Copilot 许可证。

在access包中包含 API 权限之前,请确保access包策略的范围限定为所有服务主体或所有代理 ID,因为用户无法接收 API 权限。 然后选择“API 权限”(预览版)。 选择提供 API 的源应用程序:Microsoft Graph、另一项 Microsoft 功能,或您的组织从其自有应用程序中使用的 API。 如果选择Microsoft Graph,请选择代理是否需要委派权限还是应用程序权限。 然后,选中所需权限的复选框,然后选择“ 更新权限”。

将 API 权限作为资源角色添加到访问包的截图。

注意

由于代理的自主性及其构成的潜在风险,某些高风险Microsoft Graph API权限被显式阻止,以防止滥用或无意access敏感数据。 无法将为代理阻止的 Microsoft Graph 权限中所列的权限分配给代理身份。

添加 SAP IAG 访问权限(预览版)

使用 SAP IAG 进行集成后并将 SAP IAG 作为资源添加到目录中后,可以选择要包含在访问包中的 SAP IAG 访问权限。

  1. 在“资源角色”选项卡中,选择“SAP IAG”。

  2. 在资源表中,可以选择要在access包中包含的特定业务角色,然后选择 Next SAP IAG 资源角色设置的屏幕截图。

以编程方式添加资源角色

可以通过两种方式以编程方式将资源角色添加到访问包中:通过 Microsoft Graph,或者通过适用于 Microsoft Graph 的 PowerShell cmdlet。

使用 Microsoft Graph 将资源角色添加到访问包中

可以使用 Microsoft Graph 将资源角色添加到访问包中。 通过具有委托的 EntitlementManagement.ReadWrite.All 权限的应用程序,相应角色中的用户可以调用 API 来:

  1. 列出目录中的资源 ,并为尚未在目录中的任何资源 创建 accessPackageResourceRequest
  2. 检索目录中每个资源的角色和范围。 然后,在接下来创建 resourceRoleScope 时将会使用此角色列表来选择角色。
  3. 为access包中所需的每个资源角色创建 resourceRoleScope

使用 Microsoft PowerShell 将资源角色添加到访问包中

还可以使用版本 2.1.x 或更高版本的Microsoft Graph PowerShell 身份治理模块中的 cmdlet,将资源角色添加到访问包。

首先,检索你想要包含在访问包中的目录 ID 及其资源和该资源的范围与角色。 使用类似于以下示例的脚本。 这假定目录中有一个应用程序资源。

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"

$catalog = Get-MgEntitlementManagementCatalog -Filter "displayName eq 'Marketing'" -All
if ($catalog -eq $null) { throw "catalog not found" }
$rsc = Get-MgEntitlementManagementCatalogResource -AccessPackageCatalogId $catalog.id -Filter "originSystem eq 'AadApplication'" -ExpandProperty scopes
if ($rsc -eq $null) { throw "resource not found" }
$filt = "(id eq '" + $rsc.Id + "')"
$rrs = Get-MgEntitlementManagementCatalogResource -AccessPackageCatalogId $catalog.id -Filter $filt -ExpandProperty roles,scopes

然后,将该资源中的资源角色分配给access包。 例如,如果您希望将之前返回的资源的第一个资源角色作为访问包的资源角色包含在内,则使用如下所示的脚本。

$apid = "00001111-aaaa-2222-bbbb-3333cccc4444"

$rparams = @{
    role = @{
        id =  $rrs.Roles[0].Id
        displayName =  $rrs.Roles[0].DisplayName
        description =  $rrs.Roles[0].Description
        originSystem =  $rrs.Roles[0].OriginSystem
        originId =  $rrs.Roles[0].OriginId
        resource = @{
            id = $rrs.Id
            originId = $rrs.OriginId
            originSystem = $rrs.OriginSystem
        }
    }
    scope = @{
        id = $rsc.Scopes[0].Id
        originId = $rsc.Scopes[0].OriginId
        originSystem = $rsc.Scopes[0].OriginSystem
    }
}

New-MgEntitlementManagementAccessPackageResourceRoleScope -AccessPackageId $apid -BodyParameter $rparams

如果角色没有 ID,请不要在请求负载中包含id结构的role参数。

有关详细信息,请参阅 使用 PowerShell 在权利管理中为应用程序中单角色创建访问包

删除资源角色

  1. 以身份治理管理员的身份登录 Microsoft Entra 管理中心

    提示

    可以完成此任务的其他最低特权角色包括目录所有者和Access package manager。

  2. 浏览到 ID 管理>权限管理>访问包

  3. 访问包页面上,打开要删除资源角色的访问包。

  4. 在左侧菜单中,选择 “资源角色”。

  5. 在资源角色列表中,找到要删除的资源角色。

  6. 选择省略号 (...),然后选择“ 删除资源角色”。

    当访问包被删除时,任何已有分配的身份对该资源角色的访问权限将会被自动撤销。

应用更改时

在权限管理中,Microsoft Entra ID每天多次处理您的访问包中分配和资源的批量更改。 因此,如果您对访问包进行分配或更改资源角色,在 Microsoft Entra ID 中进行更改可能需要长达 24 小时,以及将这些更改传播到其他 Microsoft 在线服务或连接的 SaaS 应用程序所需的时间。 如果更改仅影响几个对象,则更改可能需要几分钟才能在Microsoft Entra ID中应用,之后其他Microsoft Entra 组件将检测该更改并更新 SaaS 应用程序。 如果更改会影响数千个对象,则应用更改需要花费较长的时间。 例如,如果你有一个包含两个应用程序和100个用户分配的访问包,并且你决定将SharePoint网站角色添加到该访问包中,可能会有延迟,直到所有标识都成为该SharePoint网站角色的一部分。 可以通过 Microsoft Entra 审核日志、Microsoft Entra 预配日志和 SharePoint 站点审核日志来监视进度。

删除团队成员时,也会从Microsoft 365组中删除这些成员。 从团队的聊天功能中移除的操作可能会延迟。 有关详细信息,请参阅 组成员身份

后续步骤