11 SAML конфигурисање са Microsoft Entra ID-ијем

Преглед

Овај одељак пружа смернице за конфигурисање јединственог пријављивања и додељивања корисника у Zabbix-у из Microsoft Entra ID-а (раније Microsoft Azure Active Directory) користећи SAML 2.0 аутентификацију.

Microsoft Entra ID configuration

Креирање апликације

1. Пријавите се у Microsoft Entra администраторски центар на Microsoft Entra ID. У сврху тестирања, можете креирати бесплатан пробни налог у Microsoft Entra ID.

2. У Microsoft Entra администраторском центру изаберите Апликације -> Пословне апликације -> Нова апликација -> Креирајте сопствену апликацију.

3. Додајте назив своје апликације и изаберите опцију Интегришите било коју другу апликацију.... Након тога, кликните на Креирај.

Подешавање јединственог пријављивања
  1. На страници ваше апликације идите на Подешавање јединственог пријављивања и кликните на Почетак рада. Затим изаберите SAML.

  2. Уредите Основну SAML конфигурацију:

  • У Идентификатор (ИД ентитета) поставите јединствено име да бисте идентификовали своју апликацију за Microsoft Entra ID, на пример, zabbix;
  • У URL одговора (URL услуге за кориснике тврдње) поставите крајњу тачку Zabbix јединственог пријављивања: https://<путања-до-zabbix-ui>/index_sso.php?acs:

Имајте на уму да је „https“ обавезно. Да би ово функционисало са Zabbix-ом, потребно је додати у conf/zabbix.conf.php следећи ред:

$SSO['SETTINGS'] = ['use_proxy_headers' => true];

3. Измените Атрибуте и тврдње. Морате додати све атрибуте које желите да проследите Zabbix-у (user_name, user_lastname, user_email, user_mobile, groups).

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

  • Кликните на Додај нови захтев да бисте додали атрибут:

  • Кликните на Додај захтев групе да бисте додали атрибут за прослеђивање група Zabbix-у:

Важно је у овом захтеву да се имена група (а не ИД-ови група) прослеђују Zabbix-у помоћу изабраног Изворног атрибута. У ​​супротном, JIT обезбеђивање корисника неће правилно функционисати.

4. У SAML сертификатима преузмите Base64 сертификат који је обезбедио Entra ID и ставите га у conf/certs Zabbix кориснички интерфејс инсталације.

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

chmod 644 entra.cer.

Уверите се да conf/zabbix.conf.php садржи ред:

$SSO['IDP_CERT'] = 'conf/certs/entra.cer';

5. Користите вредности из Подеси <назив ваше апликације> у Entra ID-у да бисте конфигурисали Zabbix SAML аутентификацију (погледајте следећи одељак):

Конфигурација Zabbix-а

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

Zabbix field Setup field in Entra ID Sample value
*IdP entity ID** Microsoft Entra идентификатор
SSO service URL URL за пријаву
SLO service URL URL за одјаву
SP entity ID Идентификатор (ID ентитета)
Username attribute Прилагођени атрибут (потврда) user_email
Group name attribute Прилагођени атрибут (потврда) groups
User name attribute Прилагођени атрибут (потврда) user_name
User last name attribute Прилагођени атрибут (потврда) user_lastname

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

Мапирање медија је опционо. Кликните на Ажурирај да бисте сачували ова подешавања.

Осигуравање корисника SCIM-а

  1. На страници ваше апликације Entra ID, из главног менија отворите страницу Осигуравање. Кликните на Почетак рада, а затим изаберите Аутоматски режим осигуравања:
  • У Tenant URL, подесите следећу вредност: https://<путања-до-zabbix-ui>/api_scim.php
  • У Secret token, унесите Zabbix API токен са дозволама супер администратора.
  • Кликните на Test connection да бисте видели да ли је веза успостављена.

  1. Сада можете додати све атрибуте који ће бити прослеђени са SCIM-ом у Zabbix. Да бисте то урадили, кликните на Мапирања, а затим на Обезбеди кориснике Microsoft Entra ID-а.

На дну листе Мапирање атрибута, омогућите Прикажи напредне опције, а затим кликните на Уреди листу атрибута за customappsso.

На дну листе атрибута, додајте сопствене атрибуте типа 'String':

Сачувајте листу.

3. Сада можете додати мапирања за додате атрибуте. На дну листе Мапирање атрибута кликните на Додај ново мапирање и креирајте мапирања као што је приказано испод:

Када се додају сва мапирања, сачувајте листу мапирања.

4. Као предуслов за обезбеђивање корисника у Zabbix-у, морате имати конфигурисане кориснике и групе у Entra ID-у.

Да бисте то урадили, идите у Microsoft Entra admin center, а затим додајте кориснике/групе на одговарајућим страницама Корисници и Групе.

5. Када се корисници и групе креирају у Entra ID-у, можете отићи у мени Корисници и групе ваше апликације и додати их у апликацију.

6. Идите у мени Provisioning ваше апликације и кликните на Start provisioning да бисте омогућили корисницима Zabbix.

Имајте на уму да захтев Users PATCH у Entra ID-у не подржава промене у медијима.

Authentication request signing

It is possible to configure Entra ID to validate the signature of signed authentication requests.

To make this work, create public/private keys:

openssl req -x509 -newkey rsa:4096 -keyout /usr/share/zabbix/conf/certs/request-sign.key -out /usr/share/zabbix/conf/certs/request-sign.pem -sha256 -days 1825 -nodes

Assign permissions:

chown apache /usr/share/zabbix/conf/certs/request-sign.key 
       chmod 400 /usr/share/zabbix/conf/certs/request-sign.key

Update Zabbix frontend configuration by adding:

$SSO['SP_KEY'] = 'conf/certs/request-sign.key';
       $SSO['SP_CERT'] = 'conf/certs/request-sign.crt';

Troubleshooting

Authentication issues may occur with MicroSoft Edge browsers when a user, trying to login to Zabbix via SAML, is already logged in with the MicroSoft Edge profile. As a sign of such issue the user may be able to log in to Zabbix using MicroSoft Edge in private mode.

To avoid authentication issues in this case it may be necessary to set requestedAuthnContext to "false" in the Zabbix frontend configuration file (zabbix.conf.php).

$SSO['SETTINGS'] = [
           'security' => [
               'requestedAuthnContext' => false
           ]
       ];