共用方式為

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

概述

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

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

注意

分配给「所有者」或「用户访问管理员」订阅角色的组的用户或成员,以及在 Microsoft Entra ID 中启用订阅管理的 Microsoft Entra 全局管理员,默认拥有资源管理员权限。 这些管理员可以通过Privileged Identity Management为Azure资源分配角色、配置角色设置,以及审核访问权限。 用户在没有资源管理员权限的情况下无法管理资源的特权身份管理。 查看Azure内置角色列表

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

角色分配条件

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

注意

分配角色时,进行的分配是:

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

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

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

分配角色

按照以下步骤使用户有资格获得Azure资源角色。

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

  2. 浏览到 ID 管理>特权身份管理>Azure 资源

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

    截图,显示如何选择 Azure 资源。

  4. Manage 下,选择 Roles以查看Azure资源的角色列表。

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

    Azure 资源角色的截图。

  6. 选择一个要分配的角色

  7. 选择 “未选择成员 ”链接以打开 “选择成员或组 ”窗格。

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

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

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

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

    添加任务设置窗格的屏幕截图。

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

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

    • 活动分配不要求成员在使用角色之前激活该角色。 被分配为“活跃”状态的成员可立即使用分配给他们的特权。 这种类型的分配也适用于不使用 MICROSOFT ENTRA PIM 的客户。

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

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

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

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

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

  12. 完成后,选择分配

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

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

使用 Azure Resource Manager API 分配角色

Privileged Identity Management 支持 Azure Resource Manager (ARM) API 命令来管理 Azure 资源角色,如 PIM Azure Resource Manager 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. Manage 下,选择 Roles 列出Azure资源的角色。 以下屏幕截图列出了Azure Storage帐户的角色。 选择要更新或删除的角色。

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

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

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

  6. 若要添加或更新条件以优化 Azure 资源访问,请在角色分配的 Condition 列中选择 AddView/Edit

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

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

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

后续步骤