

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risolvi i problemi relativi a SAML con Connect Customer
<a name="troubleshoot-saml"></a>

Questo articolo spiega come risolvere alcuni dei problemi più comuni riscontrati dai clienti quando utilizzano SAML con Connect Customer.

Se stai risolvendo i problemi di integrazione con altri provider di identità come Okta, Azure AD e altri PingIdentify, vedi [Connect Customer SSO Setup](https://catalog.workshops.aws/workshops/33e6d0e7-f927-4531-abb1-f28a86ba0872/en-US) Workshop. 

## Messaggio di errore: accesso negato. L'account è stato autenticato, ma non è stato applicato a questa applicazione.
<a name="troubleshoot-saml-access-denied"></a>

![Messaggio di errore: accesso negato](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/saml-troubleshooting-access-denied.png)


### Che cosa significa?
<a name="troubleshoot-saml-access-denied-what"></a>

Questo errore indica che l'utente ha effettuato correttamente l'autenticazione tramite SAML nell'endpoint di accesso SAML AWS . Tuttavia, l'utente non poteva trovarsi matched/found all'interno di Connect Customer. Il messaggio generalmente indica di procedere in uno dei seguenti modi: 
+ Il nome utente in Connect Customer non corrisponde all'attributo `RoleSessionName` SAML specificato nella risposta SAML restituita dal provider di identità.
+ L'utente non esiste in Connect Customer.
+ All'utente vengono assegnati due profili separati tramite SSO.

### Risoluzione
<a name="troubleshoot-saml-access-denied-resolution"></a>

Utilizza i seguenti passaggi per verificare l'attributo RoleSessionName SAML specificato nella risposta SAML restituita dal provider di identità, quindi recuperalo e confrontalo con il nome di accesso in Connect Customer. 

1. Esegui un'acquisizione HAR (**H**TTP **AR**chive) per il processo di accesso end-to-end. Questo cattura le richieste di rete dal lato browser. Salva il file HAR con il nome file preferito, ad esempio **saml.har**. 

   Per istruzioni, vedi [Come posso creare un file HAR dal mio browser per un caso di AWS Support?](https://aws.amazon.com/premiumsupport/knowledge-center/support-case-browser-har-file/) 

1. Utilizza un editor di testo per trovare SAMLResponse nel file HAR. Oppure, esegui questi comandi:

   `$ grep -o "SAMLResponse=.*&" azuresaml.har | sed -E 's/SAMLResponse=(.*)&/\1/' > samlresponse.txt`
   + Cerca SAMLresponse nel file HAR e salvalo in un file **samlresponse.txt**.
   + La risposta è codificata URL e il contenuto è codificato Base64.

1. Decodifica la risposta URL e quindi decodifica il contenuto Base64 utilizzando uno strumento di terze parti o uno script semplice. Esempio:

   `$ cat samlresponse.txt | python3 -c "import sys; from urllib.parse import unquote; print(unquote(sys.stdin.read()));" | base64 --decode > samlresponsedecoded.txt`

   Questo script utilizza un semplice comando python per decodificare SAMLResponse dal suo formato codificato URL originale. Quindi decodifica la risposta da Base64 ed emette la risposta SAML in formato testo normale.

1. Controlla la risposta decodificata per l'attributo necessario. Ad esempio, l'immagine seguente mostra come controllare `RoleSessionName`:  
![Il comando grep per controllare rolesessionname.](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/saml-troubleshooting-rolesessionname.png)

1. Verifica se il nome utente restituito dal passaggio precedente esiste come utente nella tua istanza Connect Customer:

   $ aws connect list-users --instance-id [INSTANCE\_ID] \| grep $username
   + Se il grep finale non restituisce un risultato, significa che l'utente non esiste nell'istanza Connect Customer o che è stato creato con un'altra case/capitalization.
   + Se l'istanza Connect Customer ha molti utenti, la risposta della chiamata ListUsers API potrebbe essere suddivisa in pagine. Utilizza il `NextToken` restituito dall'API per recuperare il resto degli utenti. Per ulteriori informazioni, consulta [ListUsers](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListUsers.html).

### Esempio di risposta SAML
<a name="example-samlresponse"></a>

Di seguito è riportata un'immagine da un esempio di risposta SAML. In questo caso, il gestore dell'identità digitale (IdP) è Azure Active Directory (Azure AD).

![un esempio di risposta SAML](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/saml-troubleshooting-saml-response.png)


## Messaggio di errore: Accesso negato, contatta il AWS amministratore dell'account per assistenza.
<a name="troubleshoot-saml-contact-admin"></a>

![Messaggio di errore: accesso negato.](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/saml-troubleshooting-access-denied-admin.png)


### Che cosa significa?
<a name="troubleshoot-saml-bad-request-what"></a>

Il ruolo assunto dall'utente è stato autenticato con successo tramite SAML. Tuttavia, il ruolo non è autorizzato a chiamare l' GetFederationToken API per Connect Customer. Questa chiamata è necessaria per consentire all'utente di accedere all'istanza Connect Customer utilizzando SAML.

### Risoluzione
<a name="troubleshoot-saml-bad-request-resolution"></a>

1. Allega una policy che dispone delle autorizzazioni `connect:GetFederationToken` per il ruolo trovato nel messaggio di errore. Di seguito è riportata una policy di esempio:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Statement1",
               "Effect": "Allow",
               "Action": "connect:GetFederationToken",
               "Resource": [
                   "arn:aws:connect:ap-southeast-2:{{111122223333}}:instance/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/user/${aws:userid}"
               ]
           }
       ]
   }
   ```

------

1. Utilizza la console IAM per allegare la policy. In alternativa, utilizza l'API della policy del ruolo degli allegati, ad esempio:

   `$ aws iam attach-role-policy —role-name [{{ASSUMED_ROLE}}] —policy_arn [{{POLICY_WITH_GETFEDERATIONTOKEN}}]`

## Messaggio di errore: sessione scaduta
<a name="saml-sessionexpired-message"></a>

Se durante l'accesso viene visualizzato il messaggio **Sessione scaduta**, probabilmente è sufficiente aggiornare il token di sessione. Vai al provider di identità ed esegui l'accesso. Aggiorna la pagina Connect Customer. Se il messaggio persiste, contatta il team IT.