12 Подешавање SAML-ом са Okta-ом

Овај одељак пружа смернице за конфигурисање Okta ради омогућавања аутентификације путем SAML 2.0 протокола и управљања корисницима за Zabbix.

Okta конфигурација

1. Идите на https://developer.okta.com/signup/ и региструјте се/пријавите се на свој налог.

2. У веб интерфејсу Okta идите на Апликације → Апликације.

3. Кликните на Креирај интеграцију апликације.

Изаберите "SAML 2.0" као метод пријаве и кликните на Даље.

4. У општим подешавањима, попуните назив апликације и кликните на Даље.

5. У SAML конфигурацији, унесите доле наведене вредности, затим кликните на Даље.

  • У Опште додајте:
      • URL за једнократну пријаву: http://<your-zabbix-url>/zabbix/index_sso.php?acs
        Обратите пажњу на употребу "http", а не "https", тако да параметар acs не би био уклоњен у захтеву. Поље за потврду
        Користи ово за URL примаоца и одредишни URL* такође треба такође да буде означено.
    • Audience URI (ID ентитета SP): zabbix
      Имајте на уму да ће се ова вредност користити у SAML тврдњи као јединствени идентификатор сервисног провајдера (ако се не поклапа, операција ће бити одбијена). Могуће је навести URL или било који низ података у овом пољу.
    • Подразумевано RelayState:
      Оставите ово поље празним; ако је потребно прилагођено преусмеравање, оно може бити додато у Zabbix у подешавањима Корисници → Корисници.
    • Попуните друга поља према вашим жељама.
  • У Изјаве о атрибутима/Изјаве о атрибутима групе додајте:

Ови изрази атрибута се убацују у SAML тврдње које се деле са Zabbix-ом.

Овде коришћена имена атрибута су произвољни примери. Можете да користите различита имена атрибута, међутим, потребно је да одговарају одговарајућој вредности поља у Заббик SAML подешавањима.

Ако желите да конфигуришете SAML пријављивање у Zabbix-у без JIT провизионисања корисника, тада је потребан само атрибут е-пошта.

Ако планирате да користите шифровану везу, генеришите приватне и јавне сертификате за шифровање, а затим отпремите јавни сертификат у Okta. Образац за отпремање сертификата се појављује када је Шифровање тврдњи подешен на "Шифровано" (кликните на Прикажи напредна подешавања да бисте пронашли овај параметар).

6. На следећој картици изаберите "Ја сам продавац софтвера. Желео бих интегришите моју апликацију са Okta-ом" и притисните "Заврши".

7. Идите на картицу "Задаци" у новокреираној апликацији и кликните на дугме Додели, а затим изаберите "Додели људима" из падајућег менија.

8. У искачућем прозору који се појави доделите апликацију људима које ће користити SAML 2.0 за аутентификацију помоћу Zabbix-а, а затим кликните на Сачувај и врати се.

9. Идите на картицу "Пријава" и кликните на дугме Погледај инструкције подешавања.

упутства за подешавање биће отворена у новој картици; држите ову картицу отвореном док конфигуришете Zabbix.

Zabbix конфигурација

1. У Zabbix-у идите на SAML подешавања и попуните опције конфигурације на основу упутстава за подешавање из Окте:

Zabbix field Setup field in Okta Sample value
* IdP ентитета ID* Издавач добављача идентитета
SSO service URL URL за једнократну пријаву добављача идентитета
Атрибут корисничког имена Име атрибута usrEmail
ID SP ентитета Audience URI zabbix
Атрибут имена групе Име атрибута groups
Атрибут корисничког имена Име атрибута user_name
Атрибут презимена корисника Име атрибута user_lastname

Такође је неопходно конфигурисати мапирање корисничких група и медија.

2. Преузмите сертификат дат у упутствима за подешавање Okta SAML-а у директоријум ui/conf/certs као idp.crt.

Поставите дозволе на 644 покретањем команде:

chmod 644 idp.crt

3. Ако је Assertion Encryption подешен на "Шифровано" у Okta, Поље за потврду "Assertions" параметра Шифровање треба да буде означено у Zabbix-у такође.

4. Притисните дугме "Ажурирај" да бисте сачували ова подешавања.

SCIM провизионисање

1. Да бисте укључили SCIM провизионисање, идите на "Опште" -> "Подешавања апликације" апликације у Окти.

Означите поље за потврду Омогући SCIM провизионисање. Као резултат, појављује се нова картица Провизионисање.

2. Идите на картицу "Провизионисање" да бисте подесили SCIM везу:

  • У основном URL-у конектора SCIM наведите путању до Zabbix корисничког интерфејса и додајте му api_scim.php, тј.:
    https://<your-zabbix-url>/zabbix/api_scim.php
  • Јединствено поље идентификатора за кориснике: email
  • Режим аутентификације: HTTP header
  • У Ауторизацију унесите важећи API токен са супер администраторским привилегијама

Ако користите Apache, можда ћете морати да промените подразумевану Apache конфигурацију у /etc/apache2/apache2.conf додавањем следеће линије:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

У супротном, Apache можда неће послати заглавље ауторизације у захтеву.

3. Кликните на Тест конфигурације конектора да бисте тестирали везу. Ако је све исправно, биће приказана порука о успеху.

4. У "Провизионисање" -> "За апликацију", обавезно означите следећа поља:

  • Креирање корисника
  • Ажурирање корисничких атрибута
  • Деактивирање корисника

Ово ће осигурати да ове врсте захтева буду послате ка Zabbix-у.

5. Уверите се да су сви атрибути дефинисани у SAML-у дефинисани и у SCIM-у. Уређивачу профила за своју апликацију можете приступити у "Провизионисање" -> "За апликацију", тако што ћете кликнути на Иди на мењање профила.

Кликните на Додај атрибут. Унесите вредности за Приказано име, Име променљиве, Спољно име са именом SAML атрибута, на пример, user_name.

Спољни простор имена треба да буде исти као корисничка шема: urn:ietf:params:scim:schemas:core:2.0:User

6. Идите на "Провизионисање" -> "За апликацију" -> "Мапирање атрибута" ваше апликације. Кликните на Прикажи немапиране атрибуте на дну. Појављују се новододати атрибути.

7. Мапирајте сваки додати атрибут.

8. Додајте кориснике на картицу "Задаци". Претходно је потребно додати кориснике у Директоријум -> Људи. Сви ови задаци ће бити послати као захтеви ка Zabbix-у.

9. Додајте групе на картици "Push Groups". Образац мапирања групе корисника у подешавањима Zabbix SAML-а мора да се подудара са групом наведеном овде. Ако нема подударања, корисник се не може креирати у Zabbix-у.

Информације о члановима групе се шаљу сваки пут када се направи нека промена.