在 Privileged Identity Management 中分配 Azure 资源角色

使用 Microsoft Entra Privileged Identity Management (PIM),可以管理内置的 Azure 资源角色和自定义角色,包括(但不限于):

  • “所有者”
  • 用户访问管理员
  • 参与者
  • 安全管理员
  • 安全管理器

注意

默认情况下,分配到“所有者”或“用户访问管理员”订阅角色的用户或组成员以及在 Microsoft Entra ID 中启用订阅管理的 Microsoft Entra 全局管理员具有资源管理员权限。 这些管理员可以对 Azure 资源使用 Privileged Identity Management 来分配角色、配置角色设置,以及审查访问权限。 如果没有资源管理员权限,用户将无法管理资源的 Privileged Identity Management。 查看 Azure 内置角色列表。

Privileged Identity Management 支持内置的和自定义的 Azure 角色。 有关 Azure 自定义角色的详细信息,请参阅 Azure 自定义角色

角色分配条件

可以使用 Azure 基于属性的访问控制 (Azure ABAC) 通过 Azure 资源的 Microsoft Entra PIM 针对符合条件的角色分配添加条件。 使用 Microsoft Entra PIM 时,最终用户必须激活符合条件的角色分配,才能获得执行特定操作的权限。 通过 Microsoft Entra PIM 中的条件,不仅可以使用精细条件来限制用户对资源的角色权限,还可以使用 Microsoft Entra PIM 通过限时设置、审批工作流和审核线索等措施对角色分配进行保护。

注意

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

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

目前,可为以下内置角色添加条件:

有关详细信息,请参阅什么是 Azure 基于属性的访问控制 (Azure ABAC)

分配角色

遵循以下步骤可使用户符合 Azure 资源角色的条件。

  1. 至少以用户访问管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识治理”>“Privileged Identity Management”>“Azure 资源”。

  3. 选择要管理的资源类型。 从“管理组”下拉列表或“订阅”下拉列表开始,然后根据需要进一步选择“资源组”或“资源”。 单击要管理的资源的“选择”按钮以打开其概述页面。

    显示如何选择 Azure 资源的屏幕截图。

  4. 在“管理”下,选择“角色” 以查看 Azure 资源的角色列表。

  5. 选择“添加分配”以打开“添加分配”窗格。

    Azure 资源角色的屏幕截图。

  6. 要分配的角色

  7. 选择无成员选中链接,打开选择成员或组”窗格

    新建分配窗格的屏幕截图。

  8. 选择要向角色分配的成员或组,然后选择选择

    演示如何选择成员或组窗格的屏幕截图。

  9. 在“设置”选项卡的“分配类型”列表中,选择“合格”或“活动” 。

    添加分配设置窗格的屏幕截图。

    Azure 资源的 Microsoft Entra PIM 提供了两种不同的分配类型:

    • 符合条件的分配要求成员在使用角色之前激活该角色。 管理员可以要求角色成员在角色激活之前执行特定的操作,这可能包括执行多重身份验证 (MFA) 检查、提供业务理由,或请求指定的审批者批准。

    • 活动分配不要求成员在使用角色之前激活该角色。 分配为“活动”的用户拥有向其分配的可使用特权。 这种类型的分配也适用于不使用 Microsoft Entra PIM 的客户。

  10. 若要指定特定分配持续时间,请更改开始和结束日期与时间。

  11. 如果角色已使用允许为该角色分配条件的操作进行定义,则可以选择“添加条件”以基于主体用户和资源属性(属于分配的一部分)添加条件。

    新建分配条件窗格的屏幕截图。

    可以在表达式生成器中输入条件。

    从表达式生成的新建分配条件屏幕截图。

  12. 完成后,选择“分配”。

  13. 创建新的角色分配后,会显示状态通知。

    新建分配通知的屏幕截图。

使用 ARM API 分配角色

Privileged Identity Management 支持使用 Azure 资源管理器 (ARM) API 命令来管理 Azure 资源角色,如 PIM ARM API 参考中所述。 有关使用 PIM API 所需的权限,请参阅了解 Privileged Identity Management API

以下示例 HTTP 请求用于创建 Azure 角色的合格分配。

请求

PUT https://management.chinacloudapi.cn/providers/Microsoft.Subscription/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e?api-version=2020-10-01-preview

请求正文

{
  "properties": {
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "roleDefinitionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
    "requestType": "AdminAssign",
    "scheduleInfo": {
      "startDateTime": "2022-07-05T21:00:00.91Z",
      "expiration": {
        "type": "AfterDuration",
        "endDateTime": null,
        "duration": "P365D"
      }
    },
    "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
    "conditionVersion": "1.0"
  }
}

响应

状态代码:201

{
  "properties": {
    "targetRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
    "targetRoleEligibilityScheduleInstanceId": null,
    "scope": "/providers/Microsoft.Subscription/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "roleDefinitionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "principalType": "User",
    "requestType": "AdminAssign",
    "status": "Provisioned",
    "approvalId": null,
    "scheduleInfo": {
      "startDateTime": "2022-07-05T21:00:00.91Z",
      "expiration": {
        "type": "AfterDuration",
        "endDateTime": null,
        "duration": "P365D"
      }
    },
    "ticketInfo": {
      "ticketNumber": null,
      "ticketSystem": null
    },
    "justification": null,
    "requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
    "createdOn": "2022-07-05T21:00:45.91Z",
    "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
    "conditionVersion": "1.0",
    "expandedProperties": {
      "scope": {
        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "displayName": "Pay-As-You-Go",
        "type": "subscription"
      },
      "roleDefinition": {
        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
        "displayName": "Contributor",
        "type": "BuiltInRole"
      },
      "principal": {
        "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
        "displayName": "User Account",
        "email": "user@my-tenant.com",
        "type": "User"
      }
    }
  },
  "name": "64caffb6-55c0-4deb-a585-68e948ea1ad6",
  "id": "/providers/Microsoft.Subscription/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/RoleEligibilityScheduleRequests64caffb6-55c0-4deb-a585-68e948ea1ad6",
  "type": "Microsoft.Authorization/RoleEligibilityScheduleRequests"
}

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

按照以下步骤更新或删除现有的角色分配。

  1. 打开 Microsoft Entra Privileged Identity Management。

  2. 选择“Azure 资源” 。

  3. 选择要管理的资源类型。 从“管理组”下拉列表或“订阅”下拉列表开始,然后根据需要进一步选择“资源组”或“资源”。 单击要管理的资源的“选择”按钮以打开其概述页面。

    显示如何选择 Azure 资源更新的屏幕截图。

  4. 管理下,选择角色列出 Azure 资源的角色。 以下屏幕截图列出了 Azure 存储帐户的角色。 选择要更新或删除的角色。

    显示 Azure 存储帐户角色的屏幕截图。

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

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

  6. 若要添加或更新条件以优化 Azure 资源访问,请在角色分配的“条件”列中选择“添加”或“查看/编辑” 。 目前,只能为 Microsoft Entra PIM 中的存储 Blob 数据所有者、存储 Blob 数据读取者和存储 Blob 数据参与者角色添加条件。

  7. 选择添加表达式删除,更新表达式。 还可以选择添加条件,向角色添加新条件。

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

    有关扩展角色分配的信息,请参阅在 Privileged Identity Management 中扩展或续订 Azure 资源角色

后续步骤