次の方法で共有

在权利管理中更改访问包的资源角色

访问包管理者随时可以更改访问包中的资源,而无需考虑如何预配用户对新资源的访问权限,或者从以前的资源中删除用户的访问权限。 本文介绍如何更改现有访问包的资源角色。

检查资源的目录

如果需要向访问包添加资源,你应检查访问包的目录中是否有所需的资源。 如果你是访问包管理员,则不能将资源添加到目录,即使你拥有这些资源也是如此。 你只能使用目录中提供的资源。

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

    提示

    可以完成此任务的其他最低特权角色包括目录所有者和访问包管理者。

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

  3. 在“访问包”页上,打开要检查的访问包以确保其目录具有必要的资源。

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

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

    目录中的资源列表

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

    • 组可以是云创建的 Microsoft 365 组,或者云创建的 Microsoft Entra 安全组。 无法将源自于本地 Active Directory 的组分配为资源,因为无法在 Microsoft Entra ID 中更改其所有者或成员属性。 若要向标识授予对使用 AD 安全组成员身份的应用程序的访问权限,请在 Microsoft Entra ID 中创建一个新组,配置组写回 AD,并使该组能够写入 AD。 在 Microsoft Entra ID 中也无法修改作为通讯组源自于 Exchange Online 的组。
    • 应用程序可以是 Microsoft Entra 企业应用程序,包括服务型软件 (SaaS) 应用程序,使用不同目录或数据库的本地应用程序,以及你自己的与 Microsoft Entra ID 集成的应用程序。
    • 站点可以是 SharePoint Online 站点或 SharePoint Online 站点集合。
  7. 如果你是访问包管理员并且需要将资源添加到目录,则可以请求目录所有者添加这些资源。

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

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

当他们丢失访问包分配时,他们会被系统从访问包中的所有资源角色中删除。

注意

如果将身份添加到权利管理系统之外的资源,而这些身份需要继续保留访问权限,即使他们以后获得访问包分配并且其访问包分配已过期,也不应将资源角色添加到访问包中。

如果希望某些身份接收到不同于其他身份的资源角色,则需要在目录中创建多个访问包,并为每个资源角色分别创建独立的访问包。 还可以将访问包标记为彼此不兼容,这样身份就无法请求导致访问过多的访问包。

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

注意

如果某个应用程序具有多个应用程序角色,并且该应用程序的多个角色位于一个访问包中,则用户将接收这些应用程序包含的所有角色。 在这种情况下,如果您希望身份只具备应用程序的某些角色,那么您需要在目录中创建多个访问包,并为每个应用程序角色单独设置访问包。

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

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

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

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

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

添加资源角色

注意

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

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

    提示

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

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

  3. 在“访问包”页上,打开要向其中添加资源角色的访问包。

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

  5. 选择“添加资源角色”以打开“将资源角色添加到访问包”页。

    访问包 - 添加资源角色

  6. 根据你是否要添加组或团队的成员身份、对应用程序、SharePoint 站点或 Microsoft Entra 角色(预览版)的访问权限,执行以下某个资源角色部分中的步骤。

添加组或团队资源角色

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

  • 如果某个组或团队的成员身份是作为访问包的一部分的资源角色,而某个用户已分配到该访问包,则该用户作为成员将添加到该组或团队(如果未在其中)。
  • 当用户的访问包分配过期时,将从组或团队中移除他们,除非他们当前拥有包括同一组或团队的其他访问包分配。

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

  • 当用户(包括来宾)作为成员添加到组或团队时,他们可以查看该组或团队的所有其他成员。
  • Microsoft Entra ID 无法更改使用 Microsoft Entra Connect 从 Windows Server Active Directory 同步的组的成员身份,或在 Exchange Online 中作为通讯组创建的组的成员身份。
  • 无法通过添加或移除成员来更新动态成员资格组,因此它们不适合用于权利管理。
  • Microsoft 365 组具有其他约束(如面向管理员的 Microsoft 365 组概述中所述),包括每个组限制为 100 个所有者、可同时访问组会话的成员数限制,以及每个成员限制为 7,000 个组。

有关详细信息,请参阅比较组Microsoft 365 组和 Microsoft Teams

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

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

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

  3. 选择“选择” 。

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

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

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

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

  5. 选择 添加

    添加访问包后,具有现有分配的任何标识将自动成为此组或团队的成员(或所有者)。 有关详细信息,请参阅应用更改时

注意

如果访问包的过期期限超过特权身份管理(PIM)托管组中的“过期合格分配后”策略设置,则可能会导致权限管理和特权身份管理之间出现差异,即使 EM 显示标识仍被分配,标识可能会丢失访问权限。 有关详细信息,请参阅: 使用 Privileged Identity Management 管理的组和访问包参考

添加应用程序资源角色

如果为用户分配了访问包,则可以让 Microsoft Entra ID 自动分配对 Microsoft Entra 企业应用程序的标识访问权限,包括 SaaS 应用程序、本地应用程序和与 Microsoft Entra ID 集成的组织应用程序。 对于通过联合单一登录与 Microsoft Entra ID 集成的应用程序,Microsoft Entra ID 为分配给应用程序的标识颁发联合凭证。

应用程序可以在其清单中定义多个应用程序角色并通过应用程序角色 UI 进行管理。 将应用程序的应用角色作为资源角色添加到访问包时,如果该应用程序具有多个应用角色,则需要为该访问包中的标识指定适当的角色。 如果使用 Microsoft 身份验证库,则还可以通过代码示例来了解如何使用应用角色进行访问控制。

注意

如果某个应用程序具有多个应用程序角色,并且该应用程序的多个角色位于一个访问包中,则用户将接收这些应用程序包含的所有角色。 在这种情况下,如果您希望身份只具备应用程序的某些角色,那么您需要在目录中创建多个访问包,并为每个应用程序角色单独设置访问包。

一旦应用程序角色成为访问包的资源:

  • 为某个用户分配该访问包时,该用户将添加到该应用程序角色(如果该用户没有该角色)。 如果应用程序需要属性,则从请求中收集的属性值将被写入用户。
  • 当用户的访问包分配过期时,将从应用程序中移除其访问权限,除非他们具有对包括该应用程序角色的其他访问包的分配。 如果应用程序需要属性,那么这些属性将从用户中删除。

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

  • 应用程序还可能已将组分配到其应用角色。 可以选择添加组来取代访问包中的应用程序及其角色,但是,用户在“我的访问权限”门户中看不到作为访问包的一部分的应用程序。
  • Microsoft Entra 管理中心可能还会显示不能作为应用程序进行选择的服务的服务主体。 特别是,Exchange Online 和 SharePoint Online 是服务,而不是在目录中具有资源角色的应用程序,因此它们不能包含在访问包中。 相反,使用基于组的许可为需要访问这些服务的用户建立适当的许可。
  • 如果应用程序仅支持个人 Microsoft 帐户用户进行身份验证但不支持目录中的组织帐户,则其没有应用程序角色,无法添加到访问包目录。
  1. 在“将资源角色添加到访问包”页上,单击“应用程序”以打开“选择应用程序”窗格。

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

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

  3. 选择“选择” 。

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

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

  5. 选择 添加

    当访问包添加时,任何已有访问包分配的身份将自动获得此应用程序的访问权限。 有关详细信息,请参阅应用更改时

添加 SharePoint 站点资源角色

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

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

    访问包 - 添加资源角色 - 选择 SharePoint 站点 - 门户视图

  2. 选择要包含在访问包中的 SharePoint Online 站点。

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

  3. 选择“选择” 。

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

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

  5. 选择 添加

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

添加 Microsoft Entra 角色分配

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

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

注意

建议使用 Privileged Identity Management 为用户提供即时访问权限,以执行需要提升权限的任务。 这些权限通过以下文档中标记为“privileged”的 Microsoft Entra 角色提供:Microsoft Entra 内置角色。 权利管理更适合为用户分配一组资源,其中可以包括完成工作所需的 Microsoft Entra 角色。 分配到访问包的用户往往对资源拥有更长期的访问权限。 虽然我们建议通过 Privileged Identity Management 管理高特权角色,但可以通过权利管理中的访问包为这些角色设置资格。

按照这些步骤,将 Microsoft Entra 角色添加为访问包中的资源:

  1. 以具有目录所有者权限的全局管理员特权角色管理员身份登录到 Microsoft Entra 管理中心

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

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

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

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

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

  7. 选择 添加

注意

如果选择 “符合条件”,则标识将有资格获得该角色,并且可以在 Microsoft Entra 管理中心使用 Privileged Identity Management 激活其分配。 如果选择“活动”,那么身份将保持有效的角色分配状态,直到他们不再能够访问访问包为止。 对于标记为“特权”的 Entra 角色,只能选择“符合条件”。 有关特权角色的列表,请参阅 Microsoft Entra 内置角色

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

以编程方式添加资源角色

可通过两种方式以编程方式将资源角色添加到访问包:Microsoft Graph 和 PowerShell cmdlets for Microsoft Graph。

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

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

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

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

还可以通过适用于 Identity Governance 的 Microsoft Graph PowerShell cmdlet 模块 2.1.x 或更高模块版本中的 cmdlet 在 PowerShell 中将资源角色添加到访问包。

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

Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -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

然后,将该资源中的资源角色分配给相应访问包。 例如,如果希望将先前返回的资源的第一个资源角色添加为访问包的资源角色,可以使用与下方所示类似的脚本。

$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 参数。

删除资源角色

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

    提示

    可以完成此任务的其他最低特权角色包括目录所有者和访问包管理者。

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

  3. 在“访问包”页上,打开要从中删除资源角色的访问包。

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

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

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

    当某个资源角色被删除时,所有已被分配到访问包的标识都将自动失去对该资源角色的访问权限。

应用更改时

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

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

后续步骤