Метод «Проверка доступа к объекту»¶
Endpoint: POST {hostname}/dh-accessrights-service/api/v1/dha/accessrights-helper
Метод выполняет проверку доступа к объекту по отфильтрованным политикам. В результате проверки возвращается итоговый результат проверки, описание, идентификатор проверки, по которому можно получить более подробную информацию и статистическая информация/
Более подробное описание метода находится в yaml файле «accessrights_service», который расположен в папке с документацией.
Маппинг параметров запроса
| Входящие параметры | Способ передачи параметров | Требования к заполнению |
|---|---|---|
| activePolicy | Query | Фильтрация политик по активности. Если не передано, признак активности политики игнорируется |
| checkApi | Query | Проверка политики доступа на слой API |
| checkData | Query | Проверка политики доступа на слой DATA |
| checkAcl | Query | Проверка Acl |
| checkAclType | Query | Проверка Acl классов |
| subject: · login · data: ¾ additionalProp1 ¾ additionalProp2 ¾ additionalProp3 |
Body | Логин и атрибуты субъекта |
| object: · uri · data: ¾ additionalProp1 ¾ additionalProp2 ¾ additionalProp3 · serviceName · classCode |
Body | Проверяемый экземпляр объекта |
| action | Body | Действие, на которое проверяется доступ |
| api | Body | HTTP-метод и путь метода сервиса |
Пример запроса:
curl --location 'https://docshouse-docs.k8s.lan.lanit.ru/api/v1/dha/accessrights-helper?activePolicy=true&checkApi=true&checkData=true&checkAcl=true&checkAclType=IN_SERVICE' \
-header 'accept: application/json' \
-header 'Content-Type: application/json' \
-data '{
"subject": {
"login": "admin",
"data": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
}
},
"object": {
"uri": "string",
"data": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
},
"serviceName": "documents-service",
"classCode": "testDoc"
},
"action": "read",
"api": {
"method": "PUT",
"path": "/api/v1/dh-documents-service/api/v1/documents/{id}/versions/{versionId}"
}