Управление доступом и правами на платформе Advanced

Платформа Advanced предоставляет систему ролей и политик доступов к ресурсам в облаке для выполнения определенных операций разными проектными командами, динамического распределения ресурсов и повышения безопасности. Логическое разграничение доступов и группировка по проектам возможны с помощью сервисов Identity and Access Management и Enterprise Project Service.

Например, когда внутри одной компании существует несколько архитектурно различающихся облачных систем, то их удобно изолировать друг от друга с помощью IAM-проектов. При этом с помощью EPS можно выдать доступ на редактирование группам разработчиков к отдельным ресурсам в IAM-проектах, группе администраторов предоставить полный доступ ко всем ресурсам во всех IAM-проектах, а тестировщикам обеспечить доступ только на чтение.

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

Об IAM и EPS

Identity and Access Management (IAM)

Система управления пользователями, группами пользователей, ролями и политиками, с помощью которых администратор контролирует доступ к облачным ресурсам. IAM-пользователем может быть сотрудник или приложение в корпоративной инфраструктуре. IAM позволяет создавать проекты, которые предоставляют изолированный доступ к ресурсам для департаментов, проектных команд и другим группам пользователей.

Enterprise Project Service (EPS)

Система управления корпоративными проектами. EPS позволяет гибко настраивать пользовательские политики и управлять доступом к облачным ресурсам на уровне проекта и организации.

Различие этих сервисов в том, что IAM изолирует ресурсы (например, виртуальную машину нельзя добавить в сеть другого проекта), а EPS не изолирует. И более того, EPS позволяет объединять ресурсы из разных IAM-проектов.

Еще одно различие заключается в предоставлении доступа к ресурсам: IAM-проект дает доступ ко всем экземплярам конкретного сервиса (например, ко всем ВМ), а EPS позволяет дать права только на часть ресурсов.

Архитектура решения

../_images/schm__permissions-advanced.svg
Концепция:
  1. Создается два IAM-проекта («System-1» и «System-2») с разными выделенными ресурсами в них. Они взаимодействуют с IAM-проектом («default»), в котором содержатся общие ресурсы первого и второго проекта.

  2. Управление доступами внутри IAM организовано по группам пользователей EPS, которые различаются правами: «System-1-test», «System-1-prod», «System-2-test», «System-2-shared», «System-2-prod» с помощью EPS-проекта.

  3. Допустим, в команде есть роли: девопсы (DevOps), администраторы (Admins), сетевые инженеры (Network Admins), разработчики (Developers), тестировщики (Testers), служба поддержки (Support). Концепция подразумевает, что:

    • Девопсы получат доступ на чтение и изменение всех ресурсов внутри всех систем, но не смогут добавлять или удалять пользователей.

    • Админы будут иметь полные права на тенант.

    • Сетевые инженеры смогут просматривать и изменять ресурсы в своем IAM-проекте.

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

    • Тестировщики смогут только просматривать ресурсы внутри своего проекта.

    • Служба поддержки получит доступ только на на просмотр ресурсов внутри своего IAM-проекта.

Проекты формируются в зависимости от:
  • Назначения ресурсов — общие или конкретная система.

  • Среды — разработка, тестирование, продуктивная.

IAM-проекты на схеме:
  • default — общие для глобальной облачной инфраструктуры ресурсы.

  • System-1 — все ресурсы, относящиеся к первому проекту. Физически изолированы от ресурсов других проектов.

  • System-2 — все ресурсы, относящиеся ко второму проекту. Физически изолированы от ресурсов других проектов.

EPS (Enterprise Project Service) проекты на схеме:
  • default — логическая группировка общих ресурсов.

  • System-1-test — доступ пользователей к тестовой среде проекта «System-1».

  • System-1-prod — доступ пользователей к продуктивной среде проекта «System-1».

  • System-2-test — доступ пользователей к тестовой среде проекта «System-2».

  • System-2-prod — доступ пользователей к продуктивной среде проекта «System-2».

  • System-2-shared — общие ресурсы для команд «System-2-test» и «System-2-prod» нескольких сред проекта «System-2».

Командам предоставляются отдельные права на часть ресурсов IAM-проекта в соответствии с Enterprise-проектами.

Распределение доступов в командах

Сервис

Проект

Роль

Доступ

IAM

System-1

Cloud-admins

Tenant Admin

IAM

System-1

DevOps

ReadAndWrite

IAM

System-1

Сетевые инженеры

IAM ReadOnlyAccess

IAM

System-2

Cloud-admins

Tenant Admin

IAM

System-2

DevOps

ReadAndWrite

IAM

System-2

Сетевые инженеры

IAM ReadOnlyAccess

IAM

default

System-1 Developers

IAM ReadOnlyAccess

IAM

default

System-1 Support

IAM ReadOnlyAccess

IAM

default

System-2 Developers

IAM ReadOnlyAccess

IAM

default

System-2 Support

IAM ReadOnlyAccess

IAM

default

DevOps

IAM ReadOnlyAccess

IAM

default

Сетевые инженеры

ReadAndWrite

EPS

System-1-test

Developers

Full Access

EPS

System-1-test

Support

Full Access

EPS

System-1-prod

Developers

IAM ReadOnlyAccess

EPS

System-1-prod

Support

ReadAndWrite

EPS

System-2-test

Developers

Full Access

EPS

System-2-test

Support

Full Access

EPS

System-2-prod

Developers

ReadAndWrite

EPS

System-2-prod

Support

IAM ReadOnlyAccess

EPS

System-2-shared

Developers

Full Access

EPS

System-2-shared

Support

Full Access

Перед началом работы

Для примера работы с проектом используются предварительно настроенные ресурсы платформы Advanced:

Внимание

Перед реализацией схемы распределения доступов по нескольким проектам IAM убедитесь, что квота позволяет создавать проекты. В ином случае обратись за расширением квоты в службу поддержки.

Размер квоты можно посмотреть в разделе My Quotas:

  1. В консоли управления нажмите на значок Кнопка Квота (My Quotas) в правом верхнем углу окна.

  2. Найдите сервис Identity and Access Management и посмотрите квоту.

Создание двух проектов с помощью IAM

Создадим два IAM-проекта с ресурсами:

  1. Войдите в консоль управления в роли администратора.

  2. В меню выберите Management & Deployment → Identity and Access Management.

  3. На вкладке Users создайте пользователей, если они ранее не были созданы.

  4. В панели слева выберите Projects и нажмите Create Project.

  5. Дайте название проекту и сохраните его. В нашем примере это «System-1».

  6. В панели слева выберите Users Groups и нажмите Create User Group.

  7. Введите название группы (например, «Cloud-аdmins») и нажмите OK.

  8. Нажмите на название группы, чтобы добавить разрешения и пользователей в нее.

    1. На вкладке Permissions нажмите Assign Permissions.

    2. Отметьте разрешение с полным доступом к ресурсам — Tenant Administrator.

    3. Нажмите OK.

    4. Перейдите на вкладку Users и нажмите Add.

    5. Отметьте всех пользователей, которые будут находиться в группе администраторов.

    6. Нажмите OK.

    Повторите данные действия с группами пользователей — Developers, Network Admins. Дайте соответствующие разрешения для них.

Первый проект создан, создайте второй проект. В нашем примере он называется «System-2».

Разграничение доступов с помощью EPS

Для разграничения доступов по средам создадим пять групп пользователей. Это тестовая и продуктивная среда для System-1, а также тестовая, продуктивная и общая среда для System-2.

  1. Войдите в консоль управления в роли администратора.

  2. В шапке профиля Advanced, в правом верхнем углу, найдите ваш логин и нажмите на стрелку вниз.

  3. В выпадающем меню выберите Enterprise Management.

  4. В правом верхнем углу нажмите на кнопку Create Enterprise Project.

  5. Откроется окно с двумя полями для заполнения:

    • Name — назовите проект. В нашем примере название — «System-1-test».

    • Description — описание.

  6. После создания нажмите на название нового EPS, чтобы настроить группы пользователей и разрешения для них:

    1. В настройках EPS перейдите на вкладку Permissions.

    2. Нажмите Assign Permissions.

    3. Выберите группу пользователей, созданную ранее в проекте IAM. В нашем примере такие группы называются «Developers» и «Support». Так как доступы у этих групп одинаковые, то их можно добавить в один EPS-проект.

    4. Нажмите Next и настройте политику. Для данной группы в этом примере используется «Full Access».

    5. Для сохранения настроек нажмите OK.

Теперь пользователи из групп «Developers» и «Support» имеют полный доступ для работы с ресурсами «System-1-test». При входе в проект пользователи из этих групп будут видеть все ресурсы и у них будет возможность создать, изменить или удалить экземпляр ресурса.

Создайте продуктивную среду для «System-1-prod», где для пользователей среды будет отдельный доступ.

  1. По аналогии с первым EPS-проектом создайте еще один. В нашем примере он будет называться «System-1-prod».

  2. После создания нажмите на название нового EPS, чтобы настроить группы пользователей и разрешения для них:

    1. В настройках EPS перейдите на вкладку Permissions.

    2. Нажмите Assign Permissions.

    3. Выберите группу пользователей, созданную ранее в проекте IAM «Developers».

    4. Нажмите Next и настройте политику. Для данной группы в этом примере используется «ReadAndWrite».

    5. Для сохранения настроек нажмите OK.

Повторите эти действия для других проектов (в примере это «System-2» и «default»). После этого ресурсы в проектах будут разграничены, а пользователи в разных контурах будут иметь только те права, которые задал администратор.

В этом примере показано, как можно структурировать доступы к нескольким проектам с разграниченными средами ресурсов с помощью IAM, а также, как назначить разрешения только на необходимые действия с ресурсами для каждой группы пользователей в зависимости от роли.