Документация VMmanager 6 (администратор)

Ограничение доступа пользователей к платформе

ISPSystem

Вы можете разрешить пользователям платформы авторизоваться только с определённых IP-адресов и подсетей. Для этого:

  1. Создайте в платформе группы пользователей.
  2. Задайте для каждой группы список разрешённых IP-адресов.

Если пользователь платформы находится в группе и пытается авторизоваться с IP-адреса, которого нет в настройках группы, платформа заблокирует доступ пользователя к сервису авторизации.

Если пользователь не состоит ни в одной из групп, он может авторизоваться в платформе с любого IP-адреса.

Управление группами пользователей


Для управления группами перейдите в ПользователиГруппы пользователей.


Интерфейс раздела


Для создания группы:

  1. Нажмите Создать группу.
  2. Укажите параметры группы:
    1. Название.
    2. IP-адреса для доступа к платформе. Список может содержать отдельные IP-адреса, диапазоны и подсети IP-адресов.
  3. Нажмите Сохранить.

Пример создания группы


Чтобы изменить настройки созданной группы, нажмите  или Настроить.

Чтобы удалить группу, нажмите или Удалить.

Чтобы добавить или удалить пользователей из группы:

  1. Нажмите Изменить участников группы.
  2. Выберите пользователей, которых надо добавить.
  3. Снимите отметку у пользователей, которых надо удалить.
  4. Нажмите Сохранить изменения.

Пример изменения участников группы

Управление доступом через API


Для каждой группы пользователей платформа создаёт список управления доступом (ACL). ACL содержит email участников группы и списки разрешённых IP-адресов.

Создание ACL

Чтобы создать ACL:

  1. Получите токен авторизации:

    curl -X POST 'https://domain.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'

    domain.com — доменное имя или IP-адрес сервера с платформой

    admin_email — email администратора платформы

    admin_pass — пароль администратора платформы

    В ответ придёт сообщение вида:

    Пример ответа в JSON
    {
      "confirmed": true,
      "id": "6",
      "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a"
    }

    Сохраните из полученного ответа значение параметра token — токен авторизации.

  2. Выполните запрос:

    curl -H 'x-xsrf-token: <token>' -X POST https://domain.com/auth/v4/acl -d '{"name": "<acl_name>", "ip_list": [<ip>], "members": [<users_id>]}' 

    <token> — токен авторизации

    domain.com — доменное имя сервера с платформой

    <acl_name> — название ACL

    <ip> — список разрешённых IP-адресов. Список может содержать отдельные IP-адреса, диапазоны и подсети IP-адресов. Каждое значение списка должно быть указано в кавычках

    <users_id> — список id пользователей платформы. Каждое значение списка должно быть указано в кавычках

    Обратите внимание!

    id пользователей вы можете посмотреть в интерфейсе платформы в разделе Пользователи .

    Ответ будет содержать id созданного ACL.

    Пример создания ACL
    curl -H 'x-xsrf-token: 4-e9726dd9-61d9-2940-add3-914851d2cb8a' -X POST https://domain.com/auth/v4/acl -d '{"name": "admin1", "ip_list": ["192.0.2.1","192.0.2.10-192.0.2.20","192.0.2.100/28"], "members": ["1","3","7"}' 

    Запрос создаcт ACL с именем admin1. Пользователям с id 1, 3, 7 будет разрешён доступ к платформе с IP-адресов 192.0.2.1, 192.0.2.10-192.0.2.20 и подсети 192.0.2.100/28.

    Пример ответа
    {
      "id": "12"
    }

Просмотр ACL

Чтобы посмотреть все созданные ACL, выполните запрос:

curl -H 'x-xsrf-token: <token>' GET https://domain.com/auth/v4/acl

<token> — токен авторизации

domain.com — доменное имя сервера с платформой

Чтобы посмотреть конкретный ACL, выполните запрос:

curl -H 'x-xsrf-token: <token>' GET https://domain.com/auth/v4/acl/<acl_id>

<token> — токен авторизации

domain.com — доменное имя сервера с платформой

<acl_id> — id созданного ACL

Пример ответа
{
  "ip_list": [
    "192.0.2.1",
    "192.0.2.10-192.0.2.20",
    "192.0.2.100/28"
  ],
  "name": "admin1",
  "users": [
    "user1@example.com",
    "user3@example.com",
	"user7@example.com"
  ]
}

Удаление ACL

Чтобы удалить конкретный ACL, выполните запрос:

curl -H 'x-xsrf-token: <token>' -X DELETE https://domain.com/auth/v4/acl/<acl_id>

<token> — токен авторизации

domain.com — доменное имя сервера с платформой

<acl_id> — id созданного ACL

При успешном удалении ответ будет содержать "true".

Спасибо за ваш отзыв!
Была ли полезна статья?
Уточните, почему:

статья не соответствует названию

статью сложно понять

в статье нет ответа на мой вопрос

рекомендации из статьи не помогли

другая причина

Расскажите, что вам не понравилось в статье: