Создание политик доступа¶
Примечание – Изначально по умолчанию для ролей стоит запрет на все и для предоставления прав необходимо создать политики доступа. Предусмотрено два типа моделей политик – по слою API (default model for API) и по слою DATA (default model for DATA).
1. Перейти в раздел «Безопасность» – «Права доступа» – «Модели».
2. Перейти в модель «default model for API» – откроется карточка политики по слою API по умолчанию.
3. В блоке «Зависимые политики Casbin» нажать кнопку
– откроется форма создания зависимой политики Casbin.
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», которое означает, что обращение политики доступа к вышеуказанным параметрам разрешено.
10. Нажать кнопку «Создать» – политика доступа к выбранному сервису (сервису «Управление документами» (dh-documents-service)) по слою API будет создана.
Примечание – Для доступа к любому сервису, выбранному в действии 4, необходимо создать политики доступа по слою API к сервису «Сохраненные запросы» (сервису управления сохранёнными запросами), к сервису «Настройки пользователя» (сервису настроек пользователей) и к сервису «Управление функциональным доступом» (сервису управления правами функционального доступа).
11. В блоке «Зависимые политики Casbin» в графе только что созданной политики доступа нажать кнопку
– откроется форма создания зависимой политики Casbin на основе только что созданной (рисунки ниже).
12. В поле «Сервис» выбрать значение «Сервис управления сохранёнными запросами».
13. Нажать кнопку «Создать» – политика доступа к сервису «Сохраненные запросы» (dh-queries-service) по слою API будет создана.
14. В блоке «Зависимые политики Casbin» в графе любой из ранее созданных политик доступа нажать кнопку
– откроется форма создания зависимой политики Casbin на основе ранее созданной.
15. В поле «Сервис» выбрать значение «Сервис настроек пользователей».
16. Нажать кнопку «Создать» – политика доступа к сервису «Настройки пользователя» (ldm-user-settings-service) по слою API будет создана.
17. В блоке «Зависимые политики Casbin» в графе любой из ранее созданных политик доступа нажать кнопку
– откроется форма создания зависимой политики Casbin на основе ранее созданной.
18. В поле «Сервис» выбрать значение «Сервис управления правами функционального доступа».
19. В поле «Параметр 3» можно оставить значение «.*», которое означает, что политика доступа будет обращаться ко всем методам. Также допускается указать значение «POST», которое означает, что политика доступа будет обращаться только к методу POST.
20. Нажать кнопку «Создать» – политика доступа к сервису «Управление функциональным доступом» (dh-accessrights-service) по слою API будет создана.
Примечание – Для доступа к любому сервису, выбранному в действии 4, необходимо создать политики доступа по слою DATA к самому сервису, выбранному в действии 4, и к сервису «Сохраненные запросы» (сервису управления сохранёнными запросами).
21. Перейти в раздел «Безопасность» – «Права доступа» – «Модели».
22. Перейти в модель «default model for DATA» – откроется карточка политики по слою DATA по умолчанию.
23. В блоке «Зависимые политики Casbin» нажать кнопку
– откроется форма создания зависимой политики 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», которое означает, что обращение политики доступа к вышеуказанным параметрам разрешено.
30. Нажать кнопку «Создать» – политика доступа к сервису «Управление документами» (dh-documents-service) по слою DATA будет создана.
31. В блоке «Зависимые политики Casbin» в графе только что созданной политики доступа нажать кнопку
– откроется форма создания зависимой политики Casbin на основе только что созданной.
32. В поле «Сервис» выбрать значение «Сервис управления сохранёнными запросами».
33. В поле «Параметр 1» оставить текущее значение – «"<наименование роли>" in (r.sub.roles)».
34. В поле «Параметр 2» указать имена пользователей, для которых будет выполнятся политика, – «r.obj.username != ""» (для всех пользователей).
35. В поле «Параметр 3» оставить текущее значение – «.*».
36. В поле «Параметр 4» оставить текущее значение – «allow».
37. Нажать кнопку «Создать» – политика доступа к сервису «Сохраненные запросы» (dh-queries-service) по слою DATA будет создана.
Примечание – После того, как будет выполнена настройка доступа для нового пользователя по UI, по API и по DATA для выбранного статического сервиса (в примере – для сервиса «Управление документами»), также необходимо выполнить настройку доступа по API для тех сервисов, к которым будет обращаться выбранный статический сервис для выполнения той или иной функции. Например, для работы с контентом документа, сервис «Управление документами» обращается к сервису «Управление файлами», соответственно, необходимо будет настроить политики доступа по слою API к данному сервису. Это не относится к базовым обязательным настройкам и не рассмотрено в данном документе.


















