In che modo posso risolvere i problemi relativi all'autenticazione Amazon Cognito con OpenSearch Dashboards?

6 minuti di lettura
0

Sto cercando di accedere a OpenSearch Dashboards utilizzando l'autenticazione Amazon Cognito sul mio cluster del servizio OpenSearch di Amazon. Tuttavia, ricevo un errore o ho riscontrato un problema di accesso.

Risoluzione

La pagina di accesso non viene visualizzata quando si inserisce l'URL di OpenSearch Dasboards

È possibile che si venga reindirizzati dall'URL di OpenSearch Dashboards al pannello di controllo di Dashboards per diversi motivi:

  • È stata utilizzata una policy di accesso al dominio basata su IP che consente all'indirizzo IP pubblico del computer locale di accedere a Dashboards. Assicurati di aggiungere il ruolo autenticato di Amazon Cognito nella policy di accesso al dominio. Se non aggiungi il ruolo autenticato, la policy di accesso si comporterà come una policy normale.
  • Le richieste sono firmate da un utente o ruolo AWS Identity Access Management (IAM) autorizzato. Durante l’accesso all'URL di Dashboards, evita di utilizzare metodi proxy Dashboards per firmare le tue richieste.
  • Il dominio OpenSearch Service si trova in Virtual Private Cloud (VPC) e il dominio ha una policy di accesso aperto. In questo scenario, tutti gli utenti del VPC possono accedere a Dashboards e al dominio senza l'autenticazione Amazon Cognito.

Nota: l'autenticazione Amazon Cognito non è richiesta. Per richiedere l'autenticazione di Amazon Cognito, modifica la policy di accesso al dominio. Per ulteriori informazioni, consulta Configurazione delle policy di accesso.

In caso di reindirizzamento alla pagina di accesso di OpenSearch Dashboards ma non è possibile effettuare l'accesso, significa che Amazon Cognito è configurato in modo errato. Per risolvere questo problema, prendi in considerazione i seguenti approcci:

Errore "Missing Role" (Ruolo mancante)

Se è stato attivato il controllo granulare degli accessi (FGAC) su OpenSearch Dashboards nel dominio del servizio OpenSearch, potresti ricevere questo errore:

"Missing Role
No roles available for this user, please contact your system administrator."

Questo errore si verifica in caso di mancata corrispondenza tra l'utente IAM primario o principale e il ruolo di Amazon Cognito assunto. Il ruolo assunto dal pool di identità Amazon Cognito deve corrispondere al ruolo IAM specificato per l'utente primario o principale.

Per fare in modo che il ruolo IAM dell'utente primario o principale corrisponda al ruolo di Amazon Cognito assunto, completa la seguente procedura:

  1. Apri la console del servizio OpenSearch.

  2. Nel pannello di navigazione, in Cluster gestiti, scegli Domini.

  3. Scegli Operazioni.

  4. Scegli Edit security configuration (Modifica configurazione di sicurezza).

  5. In Fine-grained access control (Controllo granulare degli accessi), scegli Set IAM role (Imposta ruolo IAM) come utente principale o lead user. Assicurati di specificare l'ARN del ruolo di autenticazione Amazon Cognito.

  6. (Facoltativo) Se è stato dimenticato l'ARN dell'utente principale o leader (o altri dettagli di configurazione del ruolo), modifica l'utente principale o l’utente leader. Quando si riconfigura l'utente principale o il lead user, è possibile specificare un nuovo ARN IAM.

  7. Scegliere Invia.

Errore di configurazione del pool di identità non valido

Dopo aver autenticato correttamente il proprio accesso utilizzando Amazon Cognito, è comunque possibile che venga ricevuto questo errore:

com.amazonaws.services.cognitoidentity.model.InvalidIdentityPoolConfigurationException:
Invalid identity pool configuration. Check assigned IAM roles for this pool.
(Service: AmazonCognitoIdentity; Status Code: 400; Error Code:
InvalidIdentityPoolConfigurationException; Request ID:
xxxxx-xxxx-xxxx-xxxx-xxxxx)

Questo messaggio di errore si verifica quando Amazon Cognito non dispone delle autorizzazioni idonee per assumere un ruolo IAM per conto dell'utente autenticato. Modifica la relazione di attendibilità per il ruolo IAM:

  1. Aprire la console Amazon IAM.

  2. Scegliere i Ruoli.

  3. Selezionare il tuo ruolo IAM.

  4. Scegliere la scheda Relazioni di fiducia.

  5. Scegliere Modifica relazione di fiducia. Assicurarsi che il proprio pool di identità Amazon Cognito possa assumere il ruolo IAM.

Ad esempio:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "cognito-identity.amazonaws.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "cognito-identity.amazonaws.com:aud": "identity-pool-id"
       },
       "ForAnyValue:StringLike": {
         "cognito-identity.amazonaws.com:amr": "authenticated"
       }
      }
    }
  ]
}
  1. Scegli Update Trust Policy (Aggiorna policy di attendibilità).

Per ulteriori informazioni sull'aggiornamento della policy dei ruoli IAM in cui è abilitato il controllo granulare degli accessi (FGAC), consulta Tutorial: Configurazione di un dominio con un utente master IAM e autenticazione Amazon Cognito.

Errore di mancata corrispondenza reindirizzamento

L'utente potrebbe ricevere il seguente errore quando prova ad accedere a OpenSearch Dashboards sul servizio OpenSearch utilizzando un URL di Dashboards o un URL dell'endpoint personalizzato:

"An error was encountered with the requested page"

Questo errore si verifica quando manca la configurazione dell'URL di richiamata nelle impostazioni del client dell'app di Amazon Cognito.

Per verificare che le impostazioni del client dell'app siano configurate correttamente, segui questi passaggi:

  1. Apri la console Amazon Cognito.

  2. Scegliere Gestisci pool di utenti.

  3. Selezionare il pool di utenti che si desidera modificare.

  4. Sul lato sinistro della console, in App integration (Integrazione delle app), scegli il client dell'applicazione OpenSearch da App client ( Client dell'app).

  5. Verificare che gli URL di richiamata e gli URL di disconnessione siano configurati correttamente. Ad esempio:

<dashboards-endpoint>/_dashboards/app/home

Per un dominio in cui è attivato un endpoint personalizzato, l'URL di richiamata e l'URL di disconnessione avranno un aspetto simile al seguente:

<domain-custom-endpoint>/_dashboards/app/home

Errore del ruolo di autorizzazione del pool di identità Amazon Cognito

Se non riesci ad accedere e non visualizzi OpenSearch Dashboards, è possibile che venga restituito il seguente errore:

User: arn:aws:sts:: 123456789012:assumed-role/Cognito_identitypoolAuth_Role/CognitoIdentityCredentials is not authorized to perform: es:ESHttpGet

Per impostazione predefinita, il ruolo IAM autenticato per i pool di identità non include i privilegi necessari per accedere a Dashboards. Completa la seguente procedura per trovare il nome del ruolo autenticato e aggiungerlo alla policy di accesso del servizio OpenSearch:

  1. Apri la console Amazon Cognito.

  2. Selezionare Gestisci pool di identità.

  3. Nell'angolo in alto a destra della console, scegli Edit identity pool (Modifica pool di identità).

  4. Aggiungi il ruolo autenticato alla policy di accesso al dominio del servizio OpenSearch.

Nota: è consigliabile utilizzare una policy basata sulle risorse per gli utenti autenticati. Il ruolo autenticato controlla in modo specifico l'autenticazione Amazon Cognito per Dashboards. Pertanto, non rimuovere altre risorse dalla politica di accesso al dominio.


Informazioni correlate

Problemi di configurazione comuni

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa