Делегирование управления доступом Azure другим пользователям
В Службе управления доступом на основе ролей Azure (Azure RBAC) для предоставления доступа к ресурсам Azure вы назначаете роли Azure. Например, если пользователю необходимо создать веб-сайты в подписке и управлять ими, назначьте роль участника веб-сайта.
Назначение ролей Azure для предоставления доступа к ресурсам Azure является обычной задачей. Администратор может получить несколько запросов на предоставление доступа, которым вы хотите делегировать другому пользователю. Однако вы хотите убедиться, что делегат имеет только разрешения, необходимые им для выполнения своей работы. В этой статье описывается более безопасный способ делегирования управления назначениями ролей другим пользователям в организации.
Почему делегирование управления назначениями ролей?
Ниже приведены некоторые причины, по которым может потребоваться делегировать управление назначениями ролей другим пользователям:
- Вы получаете несколько запросов на назначение ролей в организации.
- Пользователи блокируют ожидание назначения ролей, необходимых им.
- Пользователи в соответствующих отделах, командах или проектах имеют больше знаний о том, кто нуждается в доступе.
- У пользователей есть разрешения на создание ресурсов Azure, но для полного использования этого ресурса требуется дополнительное назначение ролей. Например:
- Пользователи с разрешением на создание виртуальных машин не могут немедленно войти в виртуальную машину без роли входа администратора виртуальной машины или имени входа пользователя виртуальной машины. Вместо отслеживания администратора, чтобы назначить им роль входа, эффективнее, если пользователь может назначить роль входа для себя.
- Разработчик имеет разрешения на создание кластера Служба Azure Kubernetes (AKS) и Реестр контейнеров Azure (ACR), но необходимо назначить роль AcrPull управляемому удостоверению, чтобы он смог извлечь изображения из ACR. Вместо отслеживания администратора, чтобы назначить роль AcrPull, эффективнее, если разработчик может назначить роль самостоятельно.
Как в настоящее время можно делегировать управление назначениями ролей
Роли "Владелец " и "Администратор доступа пользователей" — это встроенные роли, позволяющие пользователям создавать назначения ролей. Члены этих ролей могут решить, кто может иметь разрешения на запись, чтение и удаление для любого ресурса в подписке. Чтобы делегировать управление назначениями ролей другому пользователю, можно назначить пользователю роль "Владелец" или "Администратор доступа пользователей".
На следующей схеме показано, как Алиса может делегировать обязанности по назначению ролей Даре. Инструкции см. в статье "Назначение пользователя в качестве администратора подписки Azure".
- Алиса назначает роль администратора доступа пользователей Даре.
- Dara теперь может назначить любую роль любому пользователю, группе или субъекту-службе в той же области.
Каковы проблемы с текущим методом делегирования?
Ниже приведены основные проблемы с текущим методом делегирования управления назначениями ролей другим пользователям в организации.
- Делегат имеет неограниченный доступ к области назначения ролей. Это нарушает принцип наименьшей привилегии, который предоставляет более широкую область атаки.
- Делегат может назначить любую роль любому пользователю в пределах своей области, включая себя.
- Делегат может назначить роли "Владелец" или "Администратор доступа пользователей" другому пользователю, который затем может назначать роли другим пользователям.
Вместо назначения ролей "Владелец" или "Администратор доступа пользователей" более безопасный метод заключается в том, чтобы ограничить возможность делегата создавать назначения ролей.
Более безопасный метод: делегирование управления назначениями ролей с условиями
Делегирование управления назначениями ролей с условиями — это способ ограничить назначения ролей, которые пользователь может создать. В предыдущем примере Алиса может разрешить Даре создавать некоторые назначения ролей от ее имени, но не все назначения ролей. Например, Алиса может ограничить роли, которыми Дара может назначать и ограничивать субъектов, которыми Дара может назначать роли. Это делегирование с условиями иногда называется ограниченным делегированием и реализуется с помощью условий управления доступом на основе атрибутов Azure (Azure ABAC).
В этом видео представлен обзор делегирования управления назначениями ролей с условиями.
Почему делегирование управления назначениями ролей с условиями?
Ниже приведены некоторые причины, по которым делегирование управления назначениями ролей другим пользователям с условиями является более безопасным:
- Можно ограничить назначения ролей, которые делегат может создать.
- Делегат может запретить другому пользователю назначать роли.
- Вы можете применить соответствие политикам вашей организации с наименьшими привилегиями.
- Вы можете автоматизировать управление ресурсами Azure без предоставления полных разрешений учетной записи службы.
Пример условий
Рассмотрим пример, когда Алиса является администратором с ролью администратора доступа пользователей для подписки. Алиса хочет предоставить Даре возможность назначать определенные роли для определенных групп. Алиса не хочет, чтобы Дара имеет какие-либо другие разрешения на назначение ролей. На следующей схеме показано, как Алиса может делегировать обязанности по назначению ролей Даре с условиями.
- Алиса назначает роль администратора на основе ролей контроль доступа Даре. Алиса добавляет условия, чтобы Дара может назначать только роли участника резервного копирования или средства чтения резервных копий группам маркетинга и продаж.
- Теперь Дара может назначить роли участника резервного копирования или средства чтения резервных копий группам маркетинга и продаж.
- Если Дара пытается назначить другие роли или назначить какие-либо роли разным субъектам (например, пользователю или управляемому удостоверению), назначение роли завершается ошибкой.
Роль администратора на основе ролей контроль доступа
Роль администратора на основе ролей контроль доступа — это встроенная роль, предназначенная для делегирования управления назначениями ролей другим пользователям. Он имеет меньше разрешений, чем администратор доступа пользователей, который следует рекомендациям по наименьшим привилегиям. Роль администратора на основе ролей контроль доступа имеет следующие разрешения:
- Создание назначения роли в указанной области
- Удаление назначения роли в указанной области
- Чтение ресурсов всех типов, кроме секретов
- Создание и обновление запроса в службу поддержки
Способы ограничения назначений ролей
Ниже приведены способы ограничения назначений ролей с условиями. Вы также можете объединить эти условия в соответствии с вашим сценарием.
Ограничение ролей , которые могут быть назначены
Ограничение ролей и типов субъектов (пользователей, групп или субъектов-служб), которые могут быть назначены ролями.
Ограничение ролей и определенных субъектов, которые могут быть назначены ролям .
Указание различных условий для действий назначения ролей и добавления и удаления
Делегирование управления назначениями ролей с условиями
Чтобы делегировать управление назначениями ролей с условиями, вы назначаете роли по мере выполнения, но также добавляете условие в назначение роли.
Определение разрешений, необходимых делегату
- Какие роли могут назначать делегат?
- Какие типы субъектов могут назначать роли делегату?
- Какие субъекты могут назначать роли делегату?
- Можно ли делегировать любые назначения ролей?
Запуск нового назначения роли
Выберите роль администратора на основе ролей контроль доступа
Вы можете выбрать любую роль, включающую
Microsoft.Authorization/roleAssignments/write
действие, но администратор на основе ролей контроль доступа имеет меньше разрешений.Выбор делегата
Выберите пользователя, которому нужно делегировать управление назначениями ролей.
Добавить условие
Существует несколько способов добавления условия. Например, можно использовать шаблон условия в портал Azure, расширенный редактор условий в портал Azure, Azure PowerShell, Azure CLI, Bicep или REST API.
Выберите из списка шаблонов условий. Выберите "Настроить", чтобы указать роли, типы субъектов или субъекты.
Дополнительные сведения см. в статье "Делегирование управления назначениями ролей Azure другим пользователям с условиями".
Назначение роли с условием делегату
После указания условия завершите назначение роли.
Обратитесь к делегату
Сообщите делегату, что теперь они могут назначать роли с условиями.
Встроенные роли с условиями
Роли администратора доступа к данным Key Vault и администратора доступа к данным виртуальных машин (предварительная версия) уже имеют встроенное условие для ограничения назначений ролей.
Роль администратора доступа к данным Key Vault позволяет управлять доступом к секретам, сертификатам и ключам Key Vault. Он предназначен исключительно для управления доступом без возможности назначать привилегированные роли, такие как роли владельца или администратора доступа пользователей. Это позволяет лучше разделить обязанности для таких сценариев, как управление шифрованием неактивных данных в службах данных для дальнейшего соблюдения принципа наименьших привилегий. Условие ограничивает назначения ролей следующими ролями Azure Key Vault:
- Администратор хранилища ключей
- Специалист по сертификатам хранилища ключей
- Специалист по шифрованию хранилища ключей
- Пользователь службы шифрования хранилища ключей
- Пользователь шифрования хранилища ключей
- Читатель Key Vault
- Специалист по секретам хранилища ключей
- Пользователь секретов хранилища ключей
Если вы хотите дополнительно ограничить назначение роли администратора доступа к данным Key Vault, можно добавить собственное условие, чтобы ограничить типы субъектов (пользователей, групп или субъектов-служб) или конкретных субъектов, которые могут быть назначены ролям Key Vault.
Известные проблемы
Ниже приведены известные проблемы, связанные с делегированием управления назначениями ролей с условиями:
- Невозможно делегировать управление назначениями ролей для пользовательских ролей с условиями с помощью управление привилегированными пользователями.
- Нельзя назначать роли с действием данных Microsoft.Storage и условием ABAC, использующим оператор сравнения GUID. Дополнительные сведения см. в статье об устранении неполадок службы Azure RBAC.
Требования к лицензиям
Эта функция бесплатна и доступна в вашей подписке Azure.