Дігарама рівнів розділення рівнів доступу і аутентифікації в екосистемі е-Здоровʼя
Передача інформації про аутентифікованого користувача в підлеглий компонент Медичних висновків.
Інформація про аутентифікованого користуавача надається засобами kong API gateway через HTTP заголовки кожного запиту в downstream сервіси, одним з яких є компонент формування медичних висновків.
...
Заголовок | Значення | Використання |
---|---|---|
x-consumer-id | id платформи, через який користувач отримує доступ до екосистеми е-Здоровʼя | Використовується для логування в компоненті медичних висновків |
x-person-id | id користувача, який надсилає запит | Використовується для авторизації доступу до інформації в робочих процесах формування мед висновків |
Загальна модель авторизації доступу до кінцевих точок API засобами kong API gateway
API gateway перевіряє токен користувача, і можливість доступу до конкретної кінцевої точки API шляхом перевірки авторизаваних scope для користувача (user) і МІС (cosumer) шляхом взаємодії з компонентом Auth
Кінцева точка API | Необхідний scope | Коментар |
---|---|---|
POST /patients/composition | composition:create | |
PATCH /patients/composition/{id}/sign | composition:sign | |
PATCH /patients/composition/{id}/cancel | composition:cancel | |
PATCH /patients/composition/{id}/erln | composition:cancel | Тільки для типу TEMP-DISABILITY |
GET /patients/{patient_id}/encounter/{encounter_id}/composition/{id} | composition:read | Потребує виконання правил і перевірки доступу засобами ABAC |
GET /patients/{patientId}/composition | composition:search |
Загальна модель авторизації доступу засобами компоненту медичних висновків
Кінцева точка API | Правило доступу | Коментар |
---|---|---|
POST /patients/composition | Дозволяється Завжди, записуються дані автора | Доступ можливий тільки після перевірки API gateway відповідних scopes раніше |
PATCH /patients/composition/{id}/sign | Дозволяється тільки автору сomposition записаного з x-person-id на етапі створення | -\\- |
PATCH /patients/composition/{id}/cancel | Дозволяється тільки автору сomposition записаного з x-person-id на етапі створення | -\\- |
PATCH /patients/composition/{id}/erln | -\\- | |
GET /patients/{patient_id}/encounter/{encounter_id}/composition/{id} | Дозволяється завжди, перевіряється composition_id і encounter_id, які передані на етапі створення | Потребує виконання правил і перевірки доступу засобами ABAC і API Gateway scopes |
GET /patients/{patientId}/composition | Дозволяється завжди | -\\- |
...