[comment]: # ({236cb9a8-e09cf279})
# 13 Configurazione SAML con Okta

Questa sezione fornisce linee guida per configurare [Okta](https://okta.com) per abilitare l'autenticazione SAML 2.0 e il provisioning degli utenti per Zabbix.

[comment]: # ({/236cb9a8-e09cf279})

[comment]: # ({9295c91d-c8df5f13})
#### Configurazione di Okta

1\. Vai su <https://developer.okta.com/signup/> e registrati/accedi al tuo account.

2\. Nell'interfaccia web di Okta vai su *Applications → Applications*.

3\. Fai clic su *Create App Integration*.

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

Seleziona "SAML 2.0" come metodo di accesso e fai clic su *Next*.

4\. Nelle impostazioni generali, inserisci il nome dell'app e fai clic su *Next*.

5\. Nella configurazione SAML, inserisci i valori indicati di seguito, quindi
fai clic su *Next*.

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

-   In **General** aggiungi:
    -   *Single sign-on URL*:
        `http://<your-zabbix-url>/zabbix/index_sso.php?acs`<br>
        Nota l'uso di "http" e non di "https", in modo che il parametro `acs` non venga troncato nella richiesta. Anche la casella *Use this for Recipient URL and Destination URL* deve essere selezionata.
    -   *Audience URI (SP Entity ID)*: `zabbix`<br>
        Nota che questo valore verrà utilizzato all'interno dell'asserzione SAML come identificatore univoco del service provider (se non corrisponde, l'operazione verrà rifiutata). In questo campo è possibile specificare un URL o qualsiasi stringa di dati.
    -   *Default RelayState*:<br>
        Lascia questo campo vuoto; se è necessario un reindirizzamento personalizzato, può essere aggiunto in Zabbix nelle impostazioni *Users → Users*.
    -   Compila gli altri campi in base alle tue preferenze.

-   In **Attribute Statements/Group Attribute Statements** aggiungi:

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

Queste dichiarazioni di attributo vengono inserite nelle asserzioni SAML condivise con Zabbix.

I nomi degli attributi usati qui sono esempi arbitrari. Puoi usare nomi di attributo diversi, tuttavia è necessario che corrispondano al rispettivo valore del campo nelle impostazioni SAML di Zabbix.

Se vuoi configurare l'accesso SAML a Zabbix *senza* il provisioning JIT degli utenti, allora è richiesto solo l'attributo email.

::: noteclassic
 Se prevedi di usare una connessione crittografata, genera i certificati di crittografia privato e pubblico, quindi carica il certificato pubblico su Okta. Il modulo di caricamento del certificato appare quando *Assertion Encryption* è impostato su "Encrypted" (fai clic su *Show Advanced Settings* per trovare questo parametro).
:::

6\. Nella scheda successiva, seleziona "I'm a software vendor. I'd like to
integrate my app with Okta" e premi "Finish".

7\. Vai alla scheda "Assignments" della nuova applicazione creata
e fai clic sul pulsante *Assign*, quindi seleziona "Assign to People" dal menu a discesa.

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

8\. Nel popup che appare, assegna l'app alle persone che utilizzeranno
SAML 2.0 per autenticarsi con Zabbix, quindi fai clic su *Save and go back*.

9\. Vai alla scheda "Sign On" e fai clic sul pulsante *View Setup
Instructions*.

Le **istruzioni** di configurazione si apriranno in una nuova scheda; mantieni aperta questa scheda mentre configuri Zabbix.

[comment]: # ({/9295c91d-c8df5f13})

[comment]: # ({940784da-bdad4ea8})
#### Configurazione di Zabbix

1\. In Zabbix, vai alle [impostazioni SAML](/manual/web_interface/frontend_sections/users/authentication/saml#setting-up-zabbix) e compila le opzioni di configurazione in base alle istruzioni di configurazione di Okta:

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

|Campo Zabbix|Campo di configurazione in Okta|Valore di esempio|
|----|----|--|
|*IdP entity ID*|Identity Provider Issuer| |
|*SSO service URL*|Identity Provider Single Sign-On URL| |
|*Username attribute*|Attribute name|`usrEmail`|
|*SP entity ID*|Audience URI|`zabbix`|
|*Group name attribute*|Attribute name|`groups`|
|*User name attribute*|Attribute name|`user_name`|
|*User last name attribute*|Attribute name|`user_lastname`|

È inoltre necessario configurare la mappatura del gruppo utente e dei media.

2\. Scarica il certificato fornito nelle istruzioni di configurazione SAML di Okta nella cartella *ui/conf/certs* come idp.crt.

Imposta i permessi 644 eseguendo:

    chmod 644 idp.crt

3\. Se *Assertion Encryption* è stato impostato su "Encrypted" in Okta, anche la casella di controllo "Assertions" del parametro *Encrypt* deve essere selezionata in Zabbix.

4\. Premi il pulsante "Update" per salvare queste impostazioni.

[comment]: # ({/940784da-bdad4ea8})

[comment]: # ({87d78e73-ff17ddca})
#### Provisioning SCIM

1\. Per attivare il provisioning SCIM, vai su "General" -> "App Settings" dell'applicazione in Okta.

Seleziona la casella *Enable SCIM provisioning*. Di conseguenza, viene visualizzata una nuova scheda *Provisioning*.

2\. Vai alla scheda "Provisioning" per configurare una connessione SCIM:

-   In *SCIM connector base URL* specifica il percorso del frontend di Zabbix e aggiungi `api_scim.php`, cioè:<br>
    `https://<your-zabbix-url>/zabbix/api_scim.php`
-   *Unique identifier field for users*: `email`
-   *Authentication mode*: `HTTP header`
-   In *Authorization* inserisci un token API valido con diritti di Super admin

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

::: noteimportant
Se riscontri problemi di autenticazione, consulta [Authorization header forwarding](/manual/installation/known_issues#authorization-header-forwarding).
:::

3\. Fai clic su *Test Connector Configuration* per testare la connessione. Se tutto è corretto, verrà visualizzato un messaggio di successo.

4\. In "Provisioning" -> "To App", assicurati di selezionare le seguenti caselle di controllo:

-    Create Users
-    Update User Attributes
-    Deactivate Users

In questo modo, questi tipi di richiesta verranno inviati a Zabbix.

5\. Assicurati che tutti gli attributi definiti in SAML siano definiti anche in SCIM. Puoi accedere all'editor del profilo della tua app in "Provisioning" -> "To App", facendo clic su *Go to Profile Editor*.

Fai clic su *Add Attribute*. Compila i valori di *Display name*, *Variable name*, *External name* con il nome dell'attributo SAML, ad esempio `user_name`.

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

*External namespace* deve essere uguale allo schema utente: `urn:ietf:params:scim:schemas:core:2.0:User`

6\. Vai su "Provisioning" -> "To App" -> "Attribute Mappings" della tua applicazione. Fai clic su *Show Unmapped Attributes* in basso. Gli attributi appena aggiunti appariranno.

7\. Mappa ogni attributo aggiunto.

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

8\. Aggiungi gli utenti nella scheda "Assignments". Gli utenti devono essere stati aggiunti in precedenza in *Directory* -> *People*. Tutte queste assegnazioni verranno inviate come richieste a Zabbix.

9\. Aggiungi i gruppi nella scheda "Push Groups". Il pattern di mappatura dei gruppi utente nelle impostazioni SAML di Zabbix deve corrispondere a un gruppo specificato qui. Se non c'è corrispondenza, l'utente non può essere creato in Zabbix.

Le informazioni sui membri del gruppo vengono inviate ogni volta che viene apportata una modifica.

[comment]: # ({/87d78e73-ff17ddca})
