Создание политик доступа

Примечание – Изначально по умолчанию для ролей стоит запрет на все и для предоставления прав необходимо создать политики доступа. Предусмотрено два типа моделей политик – по слою API (default model for API) и по слою DATA (default model for DATA).

1. Перейти в раздел «Безопасность» – «Права доступа» – «Модели».

img

2. Перейти в модель «default model for API» – откроется карточка политики по слою API по умолчанию.

img

3. В блоке «Зависимые политики Casbin» нажать кнопку img – откроется форма создания зависимой политики Casbin.

img

4. В поле «Сервис» выбрать тот сервис, доступ к которому должна будет предоставлять создаваемая политика доступа. Например, сервис «Управление документами».

5. В поле «Тип политики» поставить значение «p» (строчная латинская буква p).

6. В поле «Параметр 1» указать субъект запроса на доступ (ранее созданную роль, для которой будет выполняться запрос на предоставление доступа). Пример записи субъекта – «"<наименование роли>" in (r.sub.roles)».

7. В поле «Параметр 2» (Path) указать значение Ant-item эндпоинта – «/*», которое означает, что политика доступа будет обращаться ко всем запросам.

8. В поле «Параметр 3» (HTTP-метод) указать значение «.*», которое означает, что политика доступа будет обращаться ко всем методам. Также можно перечислить все методы – «GET», «POST», «PUT», «PATCH», «DELETE».

Примечание – При указании в полях «Параметр 2» и «Параметр 3» значений «/*» и «.*» соответственно, права будут предоставлены на полный функционал сервисов для выбранной роли. Для предоставления выбранной роли ограниченного функционала необходимо в полях «Параметр 2» и «Параметр 3» указать требуемые эндпоинты и требуемые методы соответственно.

9. В поле «Параметр 4» указать значение «allow», которое означает, что обращение политики доступа к вышеуказанным параметрам разрешено.

img

10. Нажать кнопку «Создать» – политика доступа к выбранному сервису (сервису «Управление документами» (dh-documents-service)) по слою API будет создана.

img

Примечание – Для доступа к любому сервису, выбранному в действии 4, необходимо создать политики доступа по слою API к сервису «Сохраненные запросы» (сервису управления сохранёнными запросами), к сервису «Настройки пользователя» (сервису настроек пользователей) и к сервису «Управление функциональным доступом» (сервису управления правами функционального доступа).

11. В блоке «Зависимые политики Casbin» в графе только что созданной политики доступа нажать кнопку img – откроется форма создания зависимой политики Casbin на основе только что созданной (рисунки ниже).

img
img

12. В поле «Сервис» выбрать значение «Сервис управления сохранёнными запросами».

img

13. Нажать кнопку «Создать» – политика доступа к сервису «Сохраненные запросы» (dh-queries-service) по слою API будет создана.

img

14. В блоке «Зависимые политики Casbin» в графе любой из ранее созданных политик доступа нажать кнопку img – откроется форма создания зависимой политики Casbin на основе ранее созданной.

15. В поле «Сервис» выбрать значение «Сервис настроек пользователей».

img

16. Нажать кнопку «Создать» – политика доступа к сервису «Настройки пользователя» (ldm-user-settings-service) по слою API будет создана.

img

17. В блоке «Зависимые политики Casbin» в графе любой из ранее созданных политик доступа нажать кнопку img – откроется форма создания зависимой политики Casbin на основе ранее созданной.

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

19. В поле «Параметр 3» можно оставить значение «.*», которое означает, что политика доступа будет обращаться ко всем методам. Также допускается указать значение «POST», которое означает, что политика доступа будет обращаться только к методу POST.

img

20. Нажать кнопку «Создать» – политика доступа к сервису «Управление функциональным доступом» (dh-accessrights-service) по слою API будет создана.

img

Примечание – Для доступа к любому сервису, выбранному в действии 4, необходимо создать политики доступа по слою DATA к самому сервису, выбранному в действии 4, и к сервису «Сохраненные запросы» (сервису управления сохранёнными запросами).

21. Перейти в раздел «Безопасность» – «Права доступа» – «Модели».

22. Перейти в модель «default model for DATA» – откроется карточка политики по слою DATA по умолчанию.

img

23. В блоке «Зависимые политики Casbin» нажать кнопку img – откроется форма создания зависимой политики Casbin.

24. В поле «Сервис» выбрать сервис «Управление документами».

25. В поле «Тип политики» поставить значение «p» (строчная латинская буква p).

26. В поле «Параметр 1» указать субъект запроса на доступ (ранее созданную роль, для которой будет выполняться запрос на предоставление доступа). Пример записи субъекта – «"<наименование роли>" in (r.sub.roles)».

27. В поле «Параметр 2» указать наименование класса объектов, для которого будет выполняться политика (класс, созданный в разделе Создание документа) – «r.obj.className == "<наименование класса>"». Также можно разрешить выполнение создаваемой политики для любого класса объектов, для этого необходимо в поле «Параметр 2» указать значение «r.obj.className != ""».

Примечание – Запись «!= ""» означает «не равно пустому значению», т. е. политика будет выполняться для любого значения данного параметра.

28. В поле «Параметр 3» указать значение «.*», которое означает, что политика доступа будет обращаться ко всем методам.

29. В поле «Параметр 4» указать значение «allow», которое означает, что обращение политики доступа к вышеуказанным параметрам разрешено.

img

30. Нажать кнопку «Создать» – политика доступа к сервису «Управление документами» (dh-documents-service) по слою DATA будет создана.

img

31. В блоке «Зависимые политики Casbin» в графе только что созданной политики доступа нажать кнопку img – откроется форма создания зависимой политики Casbin на основе только что созданной.

img

32. В поле «Сервис» выбрать значение «Сервис управления сохранёнными запросами».

33. В поле «Параметр 1» оставить текущее значение – «"<наименование роли>" in (r.sub.roles)».

34. В поле «Параметр 2» указать имена пользователей, для которых будет выполнятся политика, – «r.obj.username != ""» (для всех пользователей).

35. В поле «Параметр 3» оставить текущее значение – «.*».

36. В поле «Параметр 4» оставить текущее значение – «allow».

img

37. Нажать кнопку «Создать» – политика доступа к сервису «Сохраненные запросы» (dh-queries-service) по слою DATA будет создана.

img

Примечание – После того, как будет выполнена настройка доступа для нового пользователя по UI, по API и по DATA для выбранного статического сервиса (в примере – для сервиса «Управление документами»), также необходимо выполнить настройку доступа по API для тех сервисов, к которым будет обращаться выбранный статический сервис для выполнения той или иной функции. Например, для работы с контентом документа, сервис «Управление документами» обращается к сервису «Управление файлами», соответственно, необходимо будет настроить политики доступа по слою API к данному сервису. Это не относится к базовым обязательным настройкам и не рассмотрено в данном документе.