在 Privileged Identity Management 中分配 Microsoft Entra 角色

使用 Microsoft Entra ID,全局管理员可以创建永久 Microsoft Entra 管理员角色分配。 可使用 Microsoft Entra 管理中心PowerShell 命令来创建这些角色分配。

Microsoft Entra Privileged Identity Management (PIM) 服务还允许特权角色管理员进行永久管理员角色分配。 此外,特权角色管理员可将用户设置为 Microsoft Entra 管理员角色的合格用户。 符合条件的管理员可在需要时激活角色,在完成任务后,其权限随即失效。

Privileged Identity Management 支持内置的和自定义的 Microsoft Entra 角色。 有关 Microsoft Entra 自定义角色的详细信息,请参阅 Microsoft Entra ID 中的基于角色的访问控制

注意

分配角色时,分配符合以下条件:

  • 分配持续时间不能少于五分钟
  • 分配后五分钟内无法删除

分配角色

遵循以下步骤可使用户符合 Microsoft Entra 管理员角色的条件。

  1. 至少以特权角色管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识治理”>“Privileged Identity Management”>“Microsoft Entra 角色”。

  3. 选择“角色”以查看 Microsoft Entra 权限的角色列表。

    已选择“添加分配”操作的“角色”页的屏幕截图。

  4. 选择“添加分配”以打开“添加分配”页。

  5. 选择“选择角色”以打开“选择角色”页 。

    显示“新建分配”窗格的屏幕截图。

  6. 依次选择要分配的角色、要向角色分配的成员、“下一步”。

    注意

    如果将 Microsoft Entra 内置角色分配给来宾用户,则来宾用户将被提升为具有与成员用户相同的权限。 有关成员和来宾用户默认权限的信息,请参阅 Microsoft Entra ID 中的默认用户权限是什么?

  7. 在“成员身份设置”窗格的“分配类型”列表中,选择“合格”或“活动”。

    • “合格” 分配要求该角色的成员执行某个操作才能使用该角色。 操作可能包括执行多重身份验证 (MFA) 检查、提供业务理由或请求获得指定审批者的批准。

    • “活动” 分配不要求成员执行任何操作便可使用该角色。 分配为“活动”的成员始终具有分配给该角色的权限。

  8. 若要指定特定分配持续时间,请添加开始和结束日期与时间框。 完成后,选择“分配”以创建新的角色分配。

    • “永久”分配没有到期日期。 对于经常需要角色权限的永久工作人员,请使用此选项。

    • “有时限”分配将会在指定时间段结束时过期。 此选项用于临时或合同制工作人员,例如,项目结束日期和时间已知的工作人员。

    显示“成员身份设置 - 日期和时间”的屏幕截图。

  9. 分配角色后,将显示分配状态通知。

    显示新分配通知的屏幕截图。

向角色分配受限范围

对于某些角色,所授予权限的范围可以限制为单个管理单元、服务主体或应用程序。 若要分配范围为一个管理单元的角色,则可参考此过程。 有关支持管理单元范围的角色列表,请参阅分配范围限定为一个管理单元的角色。 此功能目前正在向 Microsoft Entra 组织推出。

  1. 至少以特权角色管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“角色和管理员”>“角色和管理员”

  3. 选择“用户管理员”。

    显示在门户中打开角色时,可以使用“添加分配”命令的屏幕截图。

  4. 选择“添加分配”。

    显示如果角色支持范围,可以选择一个范围的屏幕截图。

  5. 在“添加分配”页上,你可以:

    • 选择要分配给角色的用户或组
    • 选择角色范围(本例中为管理单元)
    • 对于范围,选择一个管理单元

有关创建管理单元的详细信息,请参阅添加和删除管理单元

使用 Microsoft Graph API 分配角色

有关适用于 PIM 的 Microsoft Graph API 的详细信息,请参阅通过 Privileged Identity Management (PIM) API 进行角色管理概述

有关使用 PIM API 所需的权限,请参阅了解 Privileged Identity Management API

符合条件,无结束日期

下面是示例 HTTP 请求,用于创建无结束日期的符合条件的分配。 有关 API 命令的详细信息,包括 C# 和 JavaScript 等语言中的请求示例,请参阅创建 roleEligibilityScheduleRequests

HTTP 请求

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleEligibilityScheduleRequests
Content-Type: application/json

{
    "action": "adminAssign",
    "justification": "Permanently assign the Global Reader to the auditor",
    "roleDefinitionId": "f2ef992c-3afb-46b9-b7cf-a126ee74c451",
    "directoryScopeId": "/",
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "scheduleInfo": {
        "startDateTime": "2022-04-10T00:00:00Z",
        "expiration": {
            "type": "noExpiration"
        }
    }
}

HTTP 响应

下面是响应的示例。 为便于阅读,此处显示的响应对象可能会缩短。

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "42159c11-45a9-4631-97e4-b64abdd42c25",
    "status": "Provisioned",
    "createdDateTime": "2022-05-13T13:40:33.2364309Z",
    "completedDateTime": "2022-05-13T13:40:34.6270851Z",
    "approvalId": null,
    "customData": null,
    "action": "adminAssign",
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "roleDefinitionId": "f2ef992c-3afb-46b9-b7cf-a126ee74c451",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "42159c11-45a9-4631-97e4-b64abdd42c25",
    "justification": "Permanently assign the Global Reader to the auditor",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2022-05-13T13:40:34.6270851Z",
        "recurrence": null,
        "expiration": {
            "type": "noExpiration",
            "endDateTime": null,
            "duration": null
        }
    },
    "ticketInfo": {
        "ticketNumber": null,
        "ticketSystem": null
    }
}

活动并且有时限

下面是示例 HTTP 请求,用于创建有时限的活动分配。 有关 API 命令的详细信息,包括 C# 和 JavaScript 等语言中的请求示例,请参阅创建 roleAssignmentScheduleRequests

HTTP 请求

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests 

{
    "action": "adminAssign",
    "justification": "Assign the Exchange Recipient Administrator to the mail admin",
    "roleDefinitionId": "31392ffb-586c-42d1-9346-e59415a2cc4e",
    "directoryScopeId": "/",
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "scheduleInfo": {
        "startDateTime": "2022-04-10T00:00:00Z",
        "expiration": {
            "type": "afterDuration",
            "duration": "PT3H"
        }
    }
}

HTTP 响应

下面是响应的示例。 为便于阅读,此处显示的响应对象可能会缩短。

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
    "id": "ac643e37-e75c-4b42-960a-b0fc3fbdf4b3",
    "status": "Provisioned",
    "createdDateTime": "2022-05-13T14:01:48.0145711Z",
    "completedDateTime": "2022-05-13T14:01:49.8589701Z",
    "approvalId": null,
    "customData": null,
    "action": "adminAssign",
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "roleDefinitionId": "31392ffb-586c-42d1-9346-e59415a2cc4e",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "ac643e37-e75c-4b42-960a-b0fc3fbdf4b3",
    "justification": "Assign the Exchange Recipient Administrator to the mail admin",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2022-05-13T14:01:49.8589701Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT3H"
        }
    },
    "ticketInfo": {
        "ticketNumber": null,
        "ticketSystem": null
    }
}

更新或删除现有的角色分配

按照以下步骤更新或删除现有的角色分配。 仅限 Microsoft Entra ID P2 或 Microsoft Entra ID 治理许可的客户:请勿通过 Microsoft Entra ID 和 Privileged Identity Management (PIM) 将组作为 Active 分配给角色。 有关详细说明,请参阅已知问题

  1. 至少以特权角色管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识治理”>“Privileged Identity Management”>“Microsoft Entra 角色”。

  3. 选择“角色”以查看 Microsoft Entra ID 的角色列表。

  4. 选择要更新或删除的角色。

  5. 在“合格角色”或“活动角色”选项卡上查找角色分配。

    显示如何更新或删除角色分配的屏幕截图。

  6. 选择“更新”或“删除”以更新或删除角色分配。

通过 Microsoft Graph API 删除符合条件的分配

下面是一个示例 HTTP 请求,用于从主体撤销对角色的合格分配。 有关 API 命令的详细信息,包括 C# 和 JavaScript 等语言中的请求示例,请参阅创建 roleEligibilityScheduleRequests

请求

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleEligibilityScheduleRequests 

{ 
    "action": "AdminRemove", 
    "justification": "abcde", 
    "directoryScopeId": "/", 
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", 
    "roleDefinitionId": "88d8e3e3-8f55-4a1e-953a-9b9898b8876b" 
} 

响应

{ 
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity", 
    "id": "fc7bb2ca-b505-4ca7-ad2a-576d152633de", 
    "status": "Revoked", 
    "createdDateTime": "2021-07-15T20:23:23.85453Z", 
    "completedDateTime": null, 
    "approvalId": null, 
    "customData": null, 
    "action": "AdminRemove", 
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", 
    "roleDefinitionId": "88d8e3e3-8f55-4a1e-953a-9b9898b8876b", 
    "directoryScopeId": "/", 
    "appScopeId": null, 
    "isValidationOnly": false, 
    "targetScheduleId": null, 
    "justification": "test", 
    "scheduleInfo": null, 
    "createdBy": { 
        "application": null, 
        "device": null, 
        "user": { 
            "displayName": null, 
            "id": "5d851eeb-b593-4d43-a78d-c8bd2f5144d2" 
        } 
    }, 
    "ticketInfo": { 
        "ticketNumber": null, 
        "ticketSystem": null 
    } 
} 

后续步骤