Удаление назначений ролей Azure

Управление доступом на основе ролей Azure (Azure RBAC) — это система авторизации, используемая для управления доступом к ресурсам в Azure. Чтобы удалить доступ для ресурса Azure, необходимо удалить назначение роли. В этой статье объясняется, как удалять назначения ролей с помощью портала Azure, Azure PowerShell, Azure CLI и REST API.

Необходимые компоненты

Для удаления назначений ролей требуются:

Для REST API необходимо использовать следующую версию:

  • 2015-07-01 или более поздней версии.

Дополнительные сведения см. в версиях API REST API Azure RBAC.

Портал Azure

Выполните следующие действия:

  1. Откройте Управление доступом (IAM) для области, например группы управления, подписки, группы ресурсов или отдельного ресурса, чтобы заблокировать доступ.

  2. Щелкните вкладку Назначения ролей, чтобы просмотреть все назначения ролей в этой области.

  3. В списке назначений ролей добавьте флажок рядом с именем субъекта безопасности, для которого нужно удалить назначение ролей.

    Снимок экрана: назначение роли, выбранное для удаления.

  4. Щелкните Удалить.

    Снимок экрана: удаление сообщения о назначении ролей.

  5. В появившемся сообщении об отзыве назначения роли щелкните Да.

    Если появится сообщение о том, что удалить наследуемое назначение роли невозможно, вы пытаетесь удалить назначение в дочерней области. Откройте параметры управления доступом (IAM) для области, в которой была назначена роль, и повторите попытку. Чтобы быстро открыть параметры управления доступом (IAM) для нужной области, найдите столбец Область и щелкните ссылку рядом с элементом (наследуется).

    Снимок экрана: удаление сообщения назначения ролей для наследуемых назначений ролей.

Azure PowerShell

В Azure PowerShell назначения ролей удаляются с помощью командлета Remove-AzRoleAssignment.

В следующем примере удаляется назначение роли участника виртуальной машины от patlong@contoso.com пользователя в группе ресурсов pharma-sales :

PS C:\> Remove-AzRoleAssignment -SignInName patlong@contoso.com `
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceGroupName pharma-sales

Removes the Reader role from the Ann Mack Team group with ID 22222222-2222-2222-2222-222222222222 at a subscription scope.

PS C:\> Remove-AzRoleAssignment -ObjectId 22222222-2222-2222-2222-222222222222 `
-RoleDefinitionName "Reader" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000"

Removes the Billing Reader role from the alain@example.com user at the management group scope.

PS C:\> Remove-AzRoleAssignment -SignInName alain@example.com `
-RoleDefinitionName "Billing Reader" `
-Scope "/providers/Microsoft.Management/managementGroups/marketing-group"

Removes the User Access Administrator role with ID 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 from the principal with ID 33333333-3333-3333-3333-333333333333 at subscription scope with ID 00000000-0000-0000-0000-000000000000.

PS C:\> Remove-AzRoleAssignment -ObjectId 33333333-3333-3333-3333-333333333333 `
-RoleDefinitionId 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 `
-Scope /subscriptions/00000000-0000-0000-0000-000000000000

If you get the error message: "The provided information does not map to a role assignment", make sure that you also specify the -Scope or -ResourceGroupName parameters. For more information, see Troubleshoot Azure RBAC.

Azure CLI

В Azure CLI назначение роли удаляется с помощью команды az role assignment delete.

В следующем примере удаляется назначение роли участника виртуальной машины от patlong@contoso.com пользователя в группе ресурсов pharma-sales :

az role assignment delete --assignee "patlong@contoso.com" \
--role "Virtual Machine Contributor" \
--resource-group "pharma-sales"

Removes the Reader role from the Ann Mack Team group with ID 22222222-2222-2222-2222-222222222222 at a subscription scope.

az role assignment delete --assignee "22222222-2222-2222-2222-222222222222" \
--role "Reader" \
--scope "/subscriptions/00000000-0000-0000-0000-000000000000"

Removes the Billing Reader role from the alain@example.com user at the management group scope.

az role assignment delete --assignee "alain@example.com" \
--role "Billing Reader" \
--scope "/providers/Microsoft.Management/managementGroups/marketing-group"

REST API

В REST API назначение роли удаляется с помощью метода Role Assignments — Delete.

  1. Получите идентификатор (GUID) для назначения роли. Его можно получить при первом создании назначения роли, а также при перечислении назначений ролей.

  2. Можете начать со следующего запроса:

    DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
    
  3. Внутри URI замените {scope} областью для удаления назначения роли.

    Область Тип
    providers/Microsoft.Management/managementGroups/{groupId1} Группа управления
    subscriptions/{subscriptionId1} Подписка
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 Группа ресурсов
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1 Ресурс
  4. Замените {roleAssignmentId} идентификатором GUID для назначения роли.

    Следующий запрос удаляет указанное назначение роли в области подписки:

    DELETE https://management.azure.com/subscriptions/{subscriptionId1}/providers/microsoft.authorization/roleassignments/{roleAssignmentId1}?api-version=2022-04-01
    

    Ниже приведен пример выходных данных:

    {
        "properties": {
            "roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
            "principalId": "{objectId1}",
            "principalType": "User",
            "scope": "/subscriptions/{subscriptionId1}",
            "condition": null,
            "conditionVersion": null,
            "createdOn": "2022-05-06T23:55:24.5379478Z",
            "updatedOn": "2022-05-06T23:55:24.5379478Z",
            "createdBy": "{createdByObjectId1}",
            "updatedBy": "{updatedByObjectId1}",
            "delegatedManagedIdentityResourceId": null,
            "description": null
        },
        "id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
        "type": "Microsoft.Authorization/roleAssignments",
        "name": "{roleAssignmentId1}"
    }
    

    Шаблон ARM

    Удалить назначение роли с помощью шаблона Azure Resource Manager (шаблона ARM) невозможно. Для удаления назначений используйте другие средства, такие как портал Azure, Azure PowerShell, Azure CLI и REST API.