Списки доступа

Общие сведения

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

Глобальные списки доступа

Располагаются в отдельном разделе административного интерфейса, позволяют разом ограничить доступ всех пользователей типа администратор или дилер, пример:

       


       Форма состоит из списка IP адресов сетей (с маской сети, если маска не указана, автоматически подставляется 32), а также комментарий к каждому адресу. Оба поля обязательны для заполнения. С помощью кнопок + и - можно добавлять и удалять строки. Для очистки следует удалить все строки с адресами и нажать Apply.

Частные списки доступа

Частный список доступа также возможно задавать для администраторов или дилеров. Задать частный список можно через раздел UserAccess list (колонка) → list

       


частный список доступа, привязанный непосредственно к пользователю

       

        

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

Проверка доступа

  •  при попытке пройти авторизацию в системе, если список доступа не позволяет авторизовать пользователя, ему будет выведено сообщение:

  •  при попытке получить токен через приложение типа trusted - вернется статус 403 с сообщением - unallowed_ip

Варианты использования

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


Ресурсы API

РесурсМетодОписаниеДанные

/admin/admin_global_access_list/

/admin/dealer_global_access_list/

GETПолучить глобальный список доступа для администраторов, дилеров соответственно

либо пустой список [] либо список записей вида:

[{

  "description": "string",

  "id": 0,

  "network_address": "string"

}]

/admin/admin_global_access_list/

/admin/dealer_global_access_list/

PUTИзменить глобальный список доступа

status=200 при успешном изменении списка


/admin/users/{user_id}/access_list/

GETПолучить частный список доступа, для пользователя типа администратор или диллер

либо пустой список [] либо список записей вида:

[{

  "description": "string",

  "id": 0,

  "network_address": "string",

  "user_id": 0

}]

/admin/users/{user_id}/access_list/PUTИзменить частный список доступаstatus=200 при успешном изменении списка

Доверенный IP-адрес

Если был указан неверный адрес в списке доступа, и система не позволяет авторизоваться администратору, в разделе [rest-api] главном конфигурационном файле /etc/ringme/main.cfg предусмотрен параметр trusted_ip. В качестве значения этому параметру можно указать IP адрес, для которого проверка через список доступа осуществляться не будет. Таким образом можно задать адрес, перезапустить сервис API, авторизоваться и прописать правильные адреса в списках доступа.