Le persone della mia organizzazione ricevono il messaggio «Accesso esterno non autorizzato» quando tentano di accedere ad Amazon QuickSight - Amazon QuickSight

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à.

Le persone della mia organizzazione ricevono il messaggio «Accesso esterno non autorizzato» quando tentano di accedere ad Amazon QuickSight

   Destinatari: QuickSight amministratori di Amazon 

Quando un individuo della tua organizzazione si federa in Amazon QuickSight utilizzando AssumeRoleWithWebIdentity, QuickSight associa un singolo utente basato sui ruoli a un unico accesso esterno. In alcuni casi, quella persona potrebbe essere autenticata tramite un accesso esterno (come Amazon Cognito) diverso dall'utente originariamente mappato. In tal caso, non possono accedere QuickSight e ricevere il seguente messaggio di errore imprevisto.

L'accesso esterno utilizzato per la federazione non è autorizzato per l' QuickSight utente.

Per informazioni su come risolvere questo problema, consulta le sezioni seguenti:

Perché succede?

Stai utilizzando un flusso semplificato di Amazon Cognito

Se utilizzi Amazon Cognito per la federazione QuickSight, la configurazione Single Sign-on (IAM Identity Center) potrebbe utilizzare l'operazione CognitoIdentityCredentials API per assumere il ruolo. QuickSight Questo metodo associa tutti gli utenti del pool di identità di Amazon Cognito a un singolo QuickSight utente e non è supportato da Amazon. QuickSight

Ti consigliamo di utilizzare invece l'operazione API AssumeRoleWithWebIdentity, che specifica il nome della sessione del ruolo.

Stai utilizzando utenti Amazon Cognito non autenticati

Il Centro identità IAM di Amazon Cognito è configurato per gli utenti non autenticati nel pool di identità di Amazon Cognito. La policy di fiducia dei QuickSight ruoli è configurata come nell'esempio seguente.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-west-2:cognito-pool-id" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] }

Questa configurazione consente a un utente temporaneo di Amazon Cognito di assumere una sessione di ruolo mappata a un utente unico. QuickSight Poiché le identità non autenticate sono temporanee, non sono supportate da. QuickSight

Ti consigliamo di non utilizzare questa configurazione, che non è supportata da Amazon QuickSight. Per Amazon QuickSight, assicurati che Amazon Cognito IAM Identity Center utilizzi utenti autenticati.

Hai eliminato e ricreato un utente Amazon Cognito con gli attributi dello stesso nome utente

In questo caso, l'utente Amazon Cognito associato mappato all' QuickSight utente Amazon è stato eliminato e ricreato. L'utente Amazon Cognito appena creato ha un oggetto sottostante diverso. A seconda di come il nome della sessione di ruolo viene mappato all'QuickSight utente, il nome della sessione potrebbe corrispondere allo stesso utente basato sul ruolo. QuickSight

Ti consigliamo di rimappare l' QuickSight utente sull'oggetto utente aggiornato di Amazon Cognito utilizzando UpdateUser l'operazione API. Per ulteriori informazioni, consulta il seguente esempio di UpdateUser API.

Stai mappando più pool di utenti Amazon Cognito in Account AWS un unico pool di identità e con QuickSight

La mappatura di più pool di utenti Amazon Cognito in Account AWS un unico pool di identità non è QuickSight supportata da Amazon. QuickSight

Come posso risolvere il problema?

Puoi utilizzare le operazioni API QuickSight pubbliche per aggiornare le informazioni di accesso esterne per i tuoi utenti. Utilizza gli esempi seguenti per scoprire come.

Utilizzate RegisterUser per creare utenti con informazioni di accesso esterne

Se il provider di accesso esterno è Amazon Cognito, utilizza il seguente codice CLI per creare gli utenti.

aws quicksight register-user --aws-account-id account-id --namespace namespace --email user-email --user-role user-role --identity-type IAM --iam-arn arn:aws:iam::account-id:role/cognito-associated-iam-role --session-name cognito-username --external-login-federation-provider-type COGNITO --external-login-id cognito-identity-id --region identity-region

external-login-id dovrebbe essere l'ID di identità dell'utente Amazon Cognito. Il formato è <identity-region>:<cognito-user-sub>, come riportato nel seguente esempio.

aws quicksight register-user --aws-account-id 111222333 --namespace default --email cognito-user@amazon.com --user-role ADMIN --identity-type IAM --iam-arn arn:aws:iam::111222333:role/CognitoQuickSightRole --session-name cognito-user --external-login-federation-provider-type COGNITO --external-login-id us-east-1:12345678-1234-1234-abc1-a1b1234567 --region us-east-1

Se il provider di accesso esterno è un provider OpenID Connect (OIDC) personalizzato, utilizza il seguente codice CLI per creare gli utenti.

aws quicksight register-user --aws-account-id account-id --namespace namespace --email user-email --user-role user-role --identity-type IAM --iam-arn arn:aws:iam::account-id:role/identity-provider-associated-iam-role --session-name identity-username --external-login-federation-provider-type CUSTOM_OIDC --custom-federation-provider-url custom-identity-provider-url --external-login-id custom-provider-identity-id --region identity-region

Di seguito è riportato un esempio.

aws quicksight register-user --aws-account-id 111222333 --namespace default --email identity-user@amazon.com --user-role ADMIN --identity-type IAM --iam-arn arn:aws:iam::111222333:role/CustomIdentityQuickSightRole --session-name identity-user --external-login-federation-provider-type CUSTOM_OIDC --custom-federation-provider-url idp.us-east-1.amazonaws.com/us-east-1_ABCDE --external-login-id 12345678-1234-1234-abc1-a1b1234567 --region us-east-1

Per ulteriori informazioni sull'utilizzo RegisterUser nella CLI, consulta Amazon QuickSight API RegisterUserReference.

Utilizzalo DescribeUser per controllare le informazioni di accesso esterne per gli utenti

Se un utente è un utente federato basato sui ruoli di un provider di accesso esterno, utilizza l'operazione API DescribeUser per verificare le relative informazioni di accesso esterne, come mostrato nel codice seguente.

aws quicksight describe-user --aws-account-id account-id --namespace namespace --user-name identity-provider-associated-iam-role/identity-username --region identity-region

Di seguito è riportato un esempio.

aws quicksight describe-user --aws-account-id 111222333 --namespace default --user-name IdentityQuickSightRole/user --region us-west-2

Il risultato contiene i campi di informazioni di accesso esterni, se presenti. Di seguito è riportato un esempio.

{ "Status": 200, "User": { "Arn": "arn:aws:quicksight:us-east-1:111222333:user-default-IdentityQuickSightRole-user", "UserName": "IdentityQuickSightRole-user", "Email": "user@amazon.com", "Role": "ADMIN", "IdentityType": "IAM", "Active": true, "PrincipalId": "federated-iam-AROAAAAAAAAAAAAAA:user", "ExternalLoginFederationProviderType": "COGNITO", "ExternalLoginFederationProviderUrl": "cognito-identity.amazonaws.com", "ExternalLoginId": "us-east-1:123abc-1234-123a-b123-12345678a" }, "RequestId": "12345678-1234-1234-abc1-a1b1234567" }

Per ulteriori informazioni sull'utilizzo DescribeUser nella CLI, consulta Amazon QuickSight API DescribeUserReference.

Utilizza UpdateUser per aggiornare le informazioni di accesso esterne per gli utenti

In alcuni casi, potresti scoprire che le informazioni di accesso esterne salvate per l'utente dal risultato DescribeUser non sono corrette o non contengono le informazioni di accesso esterne. In tal caso, puoi utilizzare l'operazione API UpdateUser per aggiornarle. Fai riferimento agli esempi riportati di seguito.

Per gli utenti di Amazon Cognito, usa quanto segue.

aws quicksight update-user --aws-account-id account-id --namespace namespace --user-name cognito-associated-iam-role/cognito-username --email user-email --role user-role --external-login-federation-provider-type COGNITO --external-login-id cognito-identity-id --region identity-region

Di seguito è riportato un esempio.

aws quicksight update-user --aws-account-id 111222333 --namespace default --user-name CognitoQuickSightRole/cognito-user --email cognito-user@amazon.com --role ADMIN --external-login-federation-provider-type COGNITO --external-login-id us-east-1:12345678-1234-1234-abc1-a1b1234567 --region us-west-2

Per gli utenti di provider OIDC personalizzati, usa quanto segue.

aws quicksight update-user --aws-account-id account-id --namespace namespace --user-name identity-provider-associated-iam-role/identity-username --email user-email --role user-role --external-login-federation-provider-type CUSTOM_OIDC --custom-federation-provider-url custom-identity-provider-url --external-login-id custom-provider-identity-id --region identity-region

Di seguito è riportato un esempio.

aws quicksight update-user --aws-account-id 111222333 --namespace default --user-name IdentityQuickSightRole/user --email user@amazon.com --role ADMIN --external-login-federation-provider-type CUSTOM_OIDC --custom-federation-provider-url idp.us-east-1.amazonaws.com/us-east-1_ABCDE --external-login-id 123abc-1234-123a-b123-12345678a --region us-west-2

Se desideri eliminare le informazioni di accesso esterne per l'utente, usa NONE external login federation provider type. Utilizza il seguente comando della CLI per eliminare le informazioni di accesso esterne.

aws quicksight update-user --aws-account-id account-id --namespace namespace --user-name identity-provider-associated-iam-role/identity-username --email user-email --role user-role --external-login-federation-provider-type NONE --region identity-region

Di seguito è riportato un esempio.

aws quicksight update-user --aws-account-id 111222333 --namespace default --user-name CognitoQuickSightRole/cognito-user --email cognito-user@amazon.com --role ADMIN --external-login-federation-provider-type NONE --region us-west-2

Per ulteriori informazioni sull'utilizzo UpdateUser nella CLI, consulta l'Amazon QuickSight API UpdateUserReference.