[comment]: # translation:outdated

[comment]: # ({2ac94e21-11206317})
# 11 SAML конфигурисање са Microsoft Entra ID-ијем

[comment]: # ({/2ac94e21-11206317})

[comment]: # ({8babfe4a-d1a8a2fc})
#### Преглед

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

[comment]: # ({/8babfe4a-d1a8a2fc})

[comment]: # ({b4d9f9a1-ed685e3c})
#### Microsoft Entra ID configuration

[comment]: # ({/b4d9f9a1-ed685e3c})

[comment]: # ({42f21e5b-440025da})
##### Креирање апликације

1\. Пријавите се у Microsoft Entra администраторски центар на [Microsoft Entra ID](https://entra.microsoft.com). У сврху тестирања, можете креирати бесплатан пробни налог у Microsoft Entra ID.

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

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

![](../../../../assets/en/manual/appendix/install/entra_create_app.png){width="550"}

[comment]: # ({/42f21e5b-440025da})

[comment]: # ({70c506a8-82aca309})
##### Подешавање јединственог пријављивања

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

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

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

![](../../../../assets/en/manual/appendix/install/entra_basic_saml.png){width="600"}

Имајте на уму да је „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 подешавањима.

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

![](../../../../assets/en/manual/appendix/install/azure_claim.png)

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

![](../../../../assets/en/manual/appendix/install/entra_claim_group.png){width="600"}

Важно је у овом захтеву да се имена група (а не ИД-ови група) прослеђују 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 аутентификацију (погледајте следећи одељак):
![](../../../../assets/en/manual/appendix/install/entra_sso_settings.png){width="550"}

[comment]: # ({/70c506a8-82aca309})

[comment]: # ({e0a5dfda-b1c1c877})
#### Конфигурација Zabbix-а

1\. У Zabbix-у, идите на [SAML подешавања](/manual/web_interface/frontend_sections/users/authentication/saml#setting-up-zabbix) и попуните опције конфигурације на основу конфигурације Entra ID-а:

![](../../../../assets/en/manual/appendix/install/entra_zabbix_conf.png){width="600"}

|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`|

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

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

[comment]: # ({/e0a5dfda-b1c1c877})

[comment]: # ({87b1b3e7-8c2fcfa4})
#### Осигуравање корисника SCIM-а

1. На страници ваше апликације Entra ID, из главног менија отворите страницу Осигуравање. Кликните на *Почетак рада*, а затим изаберите Аутоматски режим осигуравања:

-   У *Tenant URL*, подесите следећу вредност: `https://<путања-до-zabbix-ui>/api_scim.php`
-   У *Secret token*, унесите Zabbix API токен са дозволама супер администратора.
-   Кликните на *Test connection* да бисте видели да ли је веза успостављена.

![](../../../../assets/en/manual/appendix/install/entra_api_connection.png){width="550"}

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

![](../../../../assets/en/manual/appendix/install/entra_scim_mappings_add.png){width="550"}

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

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

![](../../../../assets/en/manual/appendix/install/azure_scim_attrib.png){width="550"}

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

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

![](../../../../assets/en/manual/appendix/install/azure_scim_mapping.png){width="550"}

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

![](../../../../assets/en/manual/appendix/install/azure_scim_mappings.png){width="550"}

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

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

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

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

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

[comment]: # ({/87b1b3e7-8c2fcfa4})

[comment]: # ({new-ff9d0f6b})

#### Authentication request signing

It is possible to configure Entra ID to [validate the signature](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/howto-enforce-signed-saml-authentication) of signed authentication requests.

To make this work, create public/private keys:

```bash
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:

```bash
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:

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

[comment]: # ({/new-ff9d0f6b})

[comment]: # ({new-80731412})

#### 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*).

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

[comment]: # ({/new-80731412})
