你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用角色管理策略管理每个资源中每个角色的规则

角色管理策略可帮助你管理任何角色资格请求或角色分配请求的规则。 例如,可以设置工作分配处于活动状态的最长持续时间,甚至可以允许永久分配。 可以更新每个分配的通知设置。 还可以为每个角色激活设置审批者。

列出资源的角色管理策略

若要列出角色管理策略,可以使用 角色管理策略 - 范围 REST API 的列表。 若要优化结果,请指定一个范围和可选的筛选器。 若要调用 API,必须具有对指定范围的 Microsoft.Authorization/roleAssignments/read 操作的访问权限。 所有 内置角色 都被授予对此操作的访问权限。

重要

无需创建角色管理策略,因为每个资源中的每个角色都有默认策略

  1. 从下面的请求开始:

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleManagementPolicies?api-version=2020-10-01&$filter={filter}
    
  2. 在 URI 中,将 {scope} 替换为要列出其角色管理策略的范围。

    作用域 类型
    providers/Microsoft.Management/managementGroups/{mg-name} 管理组
    subscriptions/{subscriptionId} 订阅
    subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1 资源组
    subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1 资源
  3. 将“{filter}”替换为筛选角色分配列表时要应用的条件。

    筛选器 说明
    $filter=roleDefinitionId%20eq%20'{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}' 列出资源范围内指定角色定义的角色管理策略。

更新角色管理策略

  1. 选择要更新的规则 () 。 这些是规则的类型 -

    规则类型 说明
    RoleManagementPolicyEnablementRule 启用 MFA、对分配或票证信息进行论证
    RoleManagementPolicyExpirationRule 指定角色分配或激活的最长持续时间
    RoleManagementPolicyNotificationRule 为分配、激活和审批配置电子邮件通知设置
    RoleManagementPolicyApprovalRule 配置角色激活的审批设置
    RoleManagementPolicyAuthenticationContextRule 为条件访问策略配置 ACRS 规则
  2. 使用以下请求:

    PATCH https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyId}?api-version=2020-10-01
    
    {
      "properties": {
        "rules": [
          {
            "isExpirationRequired": false,
            "maximumDuration": "P180D",
            "id": "Expiration_Admin_Eligibility",
            "ruleType": "RoleManagementPolicyExpirationRule",
            "target": {
              "caller": "Admin",
              "operations": [
                "All"
              ],
              "level": "Eligibility",
              "targetObjects": null,
              "inheritableSettings": null,
              "enforcedSettings": null
            }
          },
          {
            "notificationType": "Email",
            "recipientType": "Admin",
            "isDefaultRecipientsEnabled": false,
            "notificationLevel": "Critical",
            "notificationRecipients": [
              "admin_admin_eligible@test.com"
            ],
            "id": "Notification_Admin_Admin_Eligibility",
            "ruleType": "RoleManagementPolicyNotificationRule",
            "target": {
              "caller": "Admin",
              "operations": [
                "All"
              ],
              "level": "Eligibility",
              "targetObjects": null,
              "inheritableSettings": null,
              "enforcedSettings": null
            }
          },
          {
            "enabledRules": [
              "Justification",
              "MultiFactorAuthentication",
              "Ticketing"
            ],
            "id": "Enablement_EndUser_Assignment",
            "ruleType": "RoleManagementPolicyEnablementRule",
            "target": {
              "caller": "EndUser",
              "operations": [
                "All"
              ],
              "level": "Assignment",
              "targetObjects": null,
              "inheritableSettings": null,
              "enforcedSettings": null
            }
          },
          {
            "setting": {
              "isApprovalRequired": true,
              "isApprovalRequiredForExtension": false,
              "isRequestorJustificationRequired": true,
              "approvalMode": "SingleStage",
              "approvalStages": [
                {
                  "approvalStageTimeOutInDays": 1,
                  "isApproverJustificationRequired": true,
                  "escalationTimeInMinutes": 0,
                  "primaryApprovers": [
                    {
                      "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
                      "description": "amansw_new_group",
                      "isBackup": false,
                      "userType": "Group"
                    }
                  ],
                  "isEscalationEnabled": false,
                  "escalationApprovers": null
                }
              ]
            },
            "id": "Approval_EndUser_Assignment",
            "ruleType": "RoleManagementPolicyApprovalRule",
            "target": {
              "caller": "EndUser",
              "operations": [
                "All"
              ],
              "level": "Assignment",
              "targetObjects": null,
              "inheritableSettings": null,
              "enforcedSettings": null
            }
          }
        ]
      }
    }