Что такое Azure RBAC?
В вопросах управления удостоверениями и доступом большинство организаций, планирующих использовать общедоступное облако, сталкиваются с двумя проблемами:
- Как гарантировать, что после увольнения сотрудники будут утрачивать доступ к ресурсам в облаке.
- Как обеспечить необходимый баланс между автономностью и централизованным управлением. Например, проектные группы должны иметь возможность создавать в облаке виртуальные машины и управлять ими, а также осуществлять централизованный контроль за сетями, которые такие виртуальные машины используют для взаимодействия с другими ресурсами.
Идентификатор Microsoft Entra и управление доступом на основе ролей Azure (Azure RBAC) упрощают выполнение этих целей.
Подписки Azure
Сначала помните, что каждая подписка Azure связана с одним каталогом Microsoft Entra. Пользователи, группы и приложения из этого каталога могут управлять ресурсами в подписке Azure. Подписки используют идентификатор Microsoft Entra для единого входа и управления доступом. Вы можете расширить локальная служба Active Directory в облако с помощью Microsoft Entra Connect. С помощью этого компонента ваши сотрудники могут управлять собственными подписками Azure, используя существующие рабочие удостоверения. При отключении учетной записи локальная служба Active Directory она автоматически теряет доступ ко всем подпискам Azure, подключенным к идентификатору Microsoft Entra.
Что такое Azure RBAC?
Управление доступом на основе ролей Azure (Azure RBAC) — это система авторизации, основанная на Azure Resource Manager, которая обеспечивает точное управление доступом для ресурсов в Azure. С помощью Azure RBAC вы можете предоставлять пользователям в точности те права доступа, которые необходимы им для работы. Например, с помощью Azure RBAC можно разрешить одному сотруднику управлять виртуальными машинами в подписке, а другому — управлять базами данных SQL в той же подписке.
В следующем видео подробно описывается Azure RBAC:
Доступ можно предоставить путем назначения соответствующей роли Azure пользователям, группам и приложениям в определенной области. Областью назначения роли может быть группа управления, подписка, группа ресурсов или отдельный ресурс. Роли, назначенной в родительской области, предоставляется доступ также к содержащимся в ней дочерним областям. Например, пользователь с доступом к группе ресурсов может управлять всеми ресурсами, которые эта группа содержит, включая веб-сайты, виртуальные машины и подсети. Роль Azure, которую вы назначаете, определяет, какими именно ресурсами пользователь, группа или приложение могут управлять в этой области.
На следующей схеме показано, как роли администратора классической подписки, роли Azure и роли Microsoft Entra связаны на высоком уровне. Роли, назначенные на более высоком уровне, например для всей подписки, наследуются дочерними уровнями, такими как экземпляры службы.
На предыдущей схеме подписка связана только с одним клиентом Microsoft Entra. Кроме того, обратите внимание, что группа ресурсов может иметь несколько ресурсов, но связана только с одной подпиской. Хотя это не очевидно на схеме, ресурс может быть привязан только к одной группе ресурсов.
Какие возможности обеспечивает RBAC Azure?
Azure RBAC позволяет предоставлять доступ к ресурсам Azure, которыми вы управляете. Предположим, вам необходимо управлять доступом к ресурсам в Azure для группы разработчиков, проектно-технической группы и отдела маркетинга. Вы начали получать запросы на доступ, и вам нужно быстро узнать, как работает управление доступом в ресурсах Azure.
Вот некоторые сценарии, которые можно реализовать с помощью Azure RBAC:
- предоставление одному пользователю разрешения на управление виртуальными машинами в подписке, а другому — на управление виртуальными сетями;
- предоставление группе администраторов базы данных разрешения на управление базами данных SQL в подписке;
- предоставление пользователю разрешения на управление всеми ресурсами в группе ресурсов, включая виртуальные машины, веб-сайты и подсети;
- представление приложению доступа ко всем ресурсам в группе ресурсов.
Azure RBAC на портале Azure
В нескольких местах на портале Azure есть область Управление доступом (IAM), также известная под названием Управление удостоверениями и доступом. В ней отображаются все пользователи, у кого есть доступ к этой области, и их роли. С помощью этой же области можно предоставлять и отменять доступ.
Ниже представлен пример области "Управление доступом (IAM)" для группы ресурсов. В этом примере Alain назначена роль оператора резервного копирования для этой группы ресурсов.
Как работает Azure RBAC?
С помощью Azure RBAC можно управлять доступом к ресурсам, создавая назначения ролей, которые определяют применяемые разрешения. Чтобы создать назначение ролей, требуются три элемента: субъект безопасности, определение роли и область действия. Эти три элемента можно представить вопросами "кто", "что" и "где".
1. Субъект безопасности (кто)
Субъект безопасности — это произвольное имя пользователя, группы или приложения, которым необходимо предоставить доступ.
2. Определение роли (что можно сделать)
Определение роли представляет собой коллекцию разрешений. Иногда оно называется просто ролью. Определение роли содержит разрешения, которые может выполнять роль, например чтение, запись и удаление. Роль может быть общей, например "Владелец", или более конкретной, например "Участник виртуальных машин".
В Azure есть несколько встроенных ролей. Ниже перечислены четыре основные встроенные роли.
- Владелец: имеет полный доступ ко всем ресурсам, включая право делегировать доступ другим пользователям
- Участник. Может создавать и управлять всеми типами ресурсов Azure, но не может предоставлять доступ другим пользователям.
- Читатель: может просматривать существующие ресурсы Azure
- Администратор доступа пользователей: позволяет управлять доступом пользователей к ресурсам Azure
Если встроенные роли не соответствуют потребностям вашей организации, вы можете создать собственные пользовательские роли.
3. Область (где)
Область — это уровень, на котором применяется доступ. Это удобно, если вы хотите привлечь какого-либо пользователя к работе над веб-сайтом, но только для одной группы ресурсов.
В Azure область действия можно задать на нескольких уровнях: на уровне группы управления, уровне подписки, группы ресурсов или ресурса. Структура областей строится на отношениях "родитель-потомок". При предоставлении доступа к родительской области дочерние области наследуют эти разрешения. Например, если вы назначаете роль "Участник" группе в области подписки, она наследуется всеми группами ресурсов и ресурсами в подписке.
Назначение ролей
Определив все три элемента, вы можете использовать их в сочетании друг с другом, чтобы предоставить доступ. Назначение ролей — это процесс привязки роли к субъекту безопасности в определенной области в целях предоставления доступа. Чтобы предоставить доступ, нужно создать назначение ролей. Чтобы отменить доступ, нужно удалить назначение ролей.
В приведенном ниже примере группе "Маркетинг" назначена роль "Участник" в области действия группы ресурсов "Продажи".
Azure RBAC позволяет разрешать доступ
Azure RBAC — это модель разрешения . Это означает, что, когда вам назначается роль, Azure RBAC разрешает выполнять определенные действия, такие как чтение, запись или удаление. Таким образом, если одно назначение ролей предоставляет разрешения на чтение для группы ресурсов и другое назначение ролей предоставляет разрешения на запись в одну и ту же группу ресурсов, у вас будут разрешения на чтение и запись в этой группе ресурсов.
В Azure RBAC предусмотрены разрешения NotActions
. Вы можете создать набор недопустимых разрешений с помощью NotActions
. Доступ к роли предоставляется ( действующие разрешения) вычисляется путем вычитания NotActions
операций из операций Actions
. Например, у роли участника есть как свойство Actions
, так и свойство NotActions
. Подстановочный знак (*) в свойстве Actions
указывает, что с его помощью можно выполнять все операции в плоскости управления. Затем вычитаете следующие операции, NotActions
чтобы вычислить действующие разрешения:
- Удаление и назначение ролей
- Создание и назначение ролей.
- Предоставьте вызывающему доступ с правами администратора для области действия клиента.
- Создание или изменение любых артефактов схемы
- Удаление любых артефактов схемы