Налаштування автентифікації надавачів послуг

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

1. Загальний опис

Адміністратори реєстру можуть налаштувати тип автентифікації для Кабінету посадової особи. Платформа дозволяє використовувати власний IIT-віджет для автентифікації за допомогою КЕП, або налаштувати інтеграцію із зовнішнім провайдером — id.gov.ua.

Посилання на офіційні ресурси:
  • Інститут інформаційних технологій (IIT): https://iit.com.ua/

  • Інтегрована система електронної ідентифікації (ICEI) ID.GOV.UA: https://id.gov.ua/

Одночасно посадові особи реєстру зможуть використовувати лише один тип автентифікації при вході до Кабінету: або КЕП, або id.gov.ua.

2. Автентифікація за допомогою віджета IIT

  1. Увійдіть до консолі Control Plane як адміністратор реєстру.

    update cluster mgmt 01

  2. Перейдіть до розділу Реєстри, відкрийте необхідний та натисніть Редагувати.

    Налаштування типу автентифікації для надавачів послуг можливе також під час створення реєстру.

    cp id gov ua iit setup 01

    cp id gov ua iit setup 02

  3. Оберіть секцію Кабінет надавача послуг та виконайте налаштування:

    • Вкажіть тип автентифікації — Віджет. Цей тип призначений для автентифікації посадових осіб за допомогою КЕП на формі входу до Кабінету.

      Віджет є типом автентифікації за замовчуванням.
    • Додайте посилання до ресурсу із віджетом. Стандартний IIT-віджет має такий URL: https://eu.iit.com.ua/sign-widget/v20200922/.

      Ви можете використовувати віджет будь-якого провайдера, за іншим посиланням, але в такому разі зверніть увагу на параметр висоти, який конфігурується у наступному полі (див. нижче).

    • Визначте висоту віджета у пікселях, px. За замовчуванням параметр становить 720 px для віджета IIT.

      Збільште, або зменште висоту за потреби. Наприклад, 1000 px. Особливо зверніть на це увагу, якщо використовуєте URL іншого провайдера, щоб віджет КЕП виглядав належним чином у Кабінеті.

    cp registry mgmt 02

  4. Натисніть Підтвердити, щоб зберегти налаштування.

    В результаті формується запит на внесення змін до конфігурації реєстру.

  5. Поверніться до відомостей про реєстр і знайдіть розділ Запити на оновлення.

    cp id gov ua iit setup 3

  6. Відкрийте сформований запит, натиснувши іконку перегляду — 👁.

    Запропоновані зміни зберігаються до конфігурації реєстру у файлі deploy-templates/values.yaml у разі підтвердження.
  7. У новому вікні зіставте 2 версії змін, переконайтеся, що внесені вами дані вірні, та натисніть Підтвердити. Ви також можете відразу відхилити зміни до конфігурації, натиснувши Відхилити.

    У вікні для порівняння можна зручно перевірити 2 версії змін: поточну (ліворуч) та нову (праворуч).

    cp id gov ua iit setup 5

    Посадові особи реєстру зможуть використовувати одночасно лише один тип автентифікації при вході до Кабінету: КЕП або id.gov.ua.

    При перемиканні типу автентифікації, параметри для іншого типу лишаються незмінними. Таким чином одночасно може співіснувати 2 конфігурації, але активною може бути лише одна. При зміні налаштування browserFlow надлишкові ресурси у Helm chart видаляються.

    У нашому прикладі використовується стандартний browserFlow для автентифікації через КЕП — dso-officer-auth-flow.

    У результаті запит набуває статусу Підтверджено, і запускається Jenkins-пайплайн MASTER-Build-<registry-name>, де <registry-name> — назва реєстру. Він застосовує параметри заданої конфігурації.

  8. Зачекайте, доки виконається збірка коду. Це може зайняти до 15 хвилин.

    Ви можете перевірити поточний статус та результат виконання за посиланням CI на інтерфейсі.

    cp id gov ua iit setup 6

    cp id gov ua iit setup 7

    cp id gov ua iit setup 8

    В результаті успішного виконання збірки, задана конфігурація буде застосована до реєстру.

3. Автентифікація за допомогою id.gov.ua

3.1. Передумови

  1. Виконайте запит до Адміністратора Платформи на формування DNS такого вигляду:

    https://<registry-name>-keycloak.apps.krrt-two.ncr.gov.ua

    де registry-name — назва вашого реєстру в адмін-консолі.

    Зверніть увагу, що домен може відрізнятися залежно від середовища.
  2. Після формування DNS, вам потрібно встановити ваш DNS в налаштуваннях реєстру та зберегти налаштування.

    dns 1

  3. Передайте адміністратору Платформи ключ шифрування для встановлення на стороні Платформи.

    ЄДРПОУ в ключі, що надається адміністратору Платформи для встановлення, має збігатися з ЄДРПОУ компанії, що подає заявку в кабінеті ІСЕІ.
  4. Зареєструйтеся в системі ICEI id.gov.ua. Для цього:

    • Перейдіть за посиланням https://id.gov.ua/connect та укладіть електронний Договір про приєднання до інтегрованої системи електронної ідентифікації (Приклад 2024).

      Укладення договору та інші супутні юридичні й технічні процедури виконуються на стороні id.gov.ua між власником даних (технічним адміністратором реєстру) та ІСЕІ.

      Пояснення до деяких полів при заповненні договору:
      1. Налаштування перенаправлень та ідентифікації:

        • Зворотне посилання (redirect_uri) визначається в інтерфейсі сервісу Keycloak, залежно від ролі користувача: для надавачів послуг — у реалмі officer для специфічного реєстру; для отримувачів послуг — у реалмі id-gov-ua (у розділі Identity Providers).

          Посилання для надавачів послуг стає доступним після налаштування віджета id-gov-ua в консолі Control Plane, у розділі автентифікації надавачів послуг.

      2. Інформація про ключі шифрування:

        • Серійний номер сертифіката шифрування електронної печатки Інформаційної системи визначається за серійним номером ключа шифрування Key-6.dat, який можна переглянути в секреті digital-signature-data (OpenShift-консоль > Workloads > Secrets) вашого реєстру, у файлі allowed-keys.yml.

      3. Доменні імена:

        • Доменне ім’я для сервісу створення та перевірки електронного підпису корелює з доменним ім’ям Кабінету надавача послуг (користувача).

        • Доменне ім’я Інформаційної системи має відповідати посиланню до Keycloak Платформи.

    • АБО подайте заявку на підключення до тестового середовища ІСЕІ (id.gov.ua) на сторінці https://id.gov.ua/connectqa.

      В заявці вкажіть наступне:

      • Доменне ім’я:

        <registry-name>-keycloak.apps.krrt-two.ncr.gov.ua

        де registry-name — назва вашого реєстру в адмін-консолі.

        Зверніть увагу, що ваш домен може відрізнятися залежно від середовища, на якому ви працюєте.
      • redirect_url (для Кабінету отримувача послуг):

        https://<registry-name>-keycloak.apps.krrt-two.ncr.gov.ua/auth/realms/<registry-name>-citizen-portal/broker/registry-id-gov-ua/endpoint

        де registry-name — назва вашого реєстру в адмін-консолі.

      • redirect_url (для Кабінету користувача/надавача послуг):

        https://<registry-name>-keycloak.apps.krrt-two.ncr.gov.ua/auth/realms/<registry-name>-officer-portal/broker/idgovua-officer/endpoint

        де registry-name — назва вашого реєстру в адмін-консолі.

        Заявки для кабінетів подаються на ІСЕІ окремо.
  5. Після реєстрації клієнта (реєстру), отримайте від ICEI ідентифікатор клієнта в системі id.gov.ua (client_id) та пароль (secret).

  6. Використовуйте отримані дані при налаштуванні автентифікації з id.gov.ua в інтерфейсі Control Plane.

3.2. Налаштування

  1. Увійдіть до консолі Control Plane як адміністратор реєстру.

    update cluster mgmt 01

  2. Перейдіть до розділу Реєстри, відкрийте необхідний та натисніть Редагувати.

    Налаштування типу автентифікації для надавачів послуг можливе також під час створення реєстру.

    cp id gov ua iit setup 01

    cp id gov ua iit setup 02

  3. Оберіть секцію Кабінет надавача послуг та виконайте налаштування:

    1. Вкажіть тип автентифікації — id.gov.ua. Цей тип призначений для автентифікації посадових осіб за допомогою зовнішнього провайдера на формі входу до Кабінету.

    2. Додайте посилання до ресурсу. Наприклад, URL може виглядати так: https://test.id.gov.ua?auth_type=dig_sign.

      У query-параметрах запита (в URL після ?) необхідно визначити доступні для посадової особи типи автентифікації через id.gov.ua.

      Можливі значення для параметра auth_type:

      • dig_sign — автентифікація з цифровим підписом;

      • bank_id — автентифікація через BankID;

      • diia_id — автентифікація через Дія.Підпис.

      ❗ Вкажіть лише auth_type=dig_sign, як це показано на прикладі.
      Це обумовлено тим, що методи BankID та Дія.Підпис не передають параметр edrpou, що необхідно для успішної автентифікації посадової особи в системі. Інші параметри, які потрібні для вдалої автентифікації посадової особи — drfo та fullName (детальніше — див. Автентифікація користувачів реєстру та підпис даних).

    3. Вкажіть ідентифікатор клієнта (client_id), отриманий в системі id.gov.ua. Наприклад, він може виглядати так: 17f33242543e4340b690391d6f1d1513.

      Ідентифікатор клієнта в системі id.gov.ua подібний до формату UUID, але визначається без тире (-) між символами.

    4. Вкажіть клієнтський секрет (secret), отриманий в системі id.gov.ua.

      Це може бути будь-який випадково згенерований пароль у системі id.gov.ua.
    5. Оберіть ключ шифрування зі списку доступних (попередньо наданий вами адміністратору Платформи). Ключі шифрування налаштовуються адміністратором Платформи у розділі Керування ключами. Якщо потрібно додати інший ключ шифрування, зверніться до адміністратора.

      Відповідно до політик безпеки, адміністратор реєстру має бачити лише ключі, які дозволені для його реєстру адміністратором Платформи.

      Див. детальніше про налаштування ключів шифрування — Оновлення ключів та сертифікатів цифрового підпису для Платформи.

    cp registry mgmt 01

  4. Натисніть Підтвердити, щоб зберегти налаштування.

    В результаті формується запит на внесення змін до конфігурації реєстру.

  5. Поверніться до відомостей про реєстр і знайдіть розділ Запити на оновлення.

    cp id gov ua iit setup 3

  6. Відкрийте сформований запит, натиснувши іконку перегляду — 👁.

    Запропоновані зміни зберігаються до конфігурації реєстру у файлі deploy-templates/values.yaml у разі підтвердження.
  7. У новому вікні зіставте 2 версії змін, переконайтеся, що внесені вами дані вірні, та натисніть Підтвердити. Ви також можете відразу відхилити зміни до конфігурації, натиснувши Відхилити.

    У вікні для порівняння можна зручно перевірити 2 версії змін: поточну (ліворуч) та нову (праворуч).

    cp id gov ua iit setup 4

    Посадові особи реєстру зможуть використовувати одночасно лише один тип автентифікації при вході до Кабінету: КЕП або id.gov.ua.

    При перемиканні типу автентифікації, параметри для іншого типу лишаються незмінними. Таким чином одночасно може співіснувати 2 конфігурації, але активною може бути лише одна. При зміні налаштування browserFlow надлишкові ресурси у Helm chart видаляються.

    У нашому прикладі використовується browserFlow для автентифікації із переадресацією до зовнішнього провайдера — id-gov-ua-officer-redirector.

    У результаті запит набуває статусу Підтверджено, і запускається Jenkins-пайплайн MASTER-Build-<registry-name>, де <registry-name> — назва реєстру. Він застосовує параметри заданої конфігурації.

  8. Зачекайте, доки виконається збірка коду. Це може зайняти до 15 хвилин.

    Ви можете перевірити поточний статус та результат виконання за посиланням CI на інтерфейсі.

    cp id gov ua iit setup 6

    cp id gov ua iit setup 7

    cp id gov ua iit setup 8

    В результаті успішного виконання збірки, задана конфігурація буде застосована до реєстру.

4. Перевірка результату

Перевірити налаштування тестової авторизації на обраному вами кабінеті користувача ви можете з тестовим ключем, що надається ІСЕІ (id.gov.ua). Тестові ключі можна завантажити на сторінці https://id.gov.ua/connectqa.

Для авторизації в кабінеті офіцера, потрібно попередньо створити користувача-офіцера в Keycloak з відповідною роллю та обов’язково додати атрибути з електронного ключа.

Детальний опис створення користувача доступний на сторінці Створення окремого користувача та надання прав доступу.

Створення користувача для перевірки тестового підключення до ІСЕІ за посиланням.