Personen in meiner Organisation erhalten die Meldung „Externe Anmeldung ist nicht autorisiert“, wenn sie versuchen, auf Amazon zuzugreifen QuickSight - Amazon QuickSight

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Personen in meiner Organisation erhalten die Meldung „Externe Anmeldung ist nicht autorisiert“, wenn sie versuchen, auf Amazon zuzugreifen QuickSight

   Zielgruppe: QuickSight Amazon-Administratoren 

Wenn sich eine Person in Ihrer Organisation QuickSight mit Amazon zusammenschließt AssumeRoleWithWebIdentity, QuickSight ordnet sie einen einzelnen rollenbasierten Benutzer einem einzelnen externen Anmeldenamen zu. In einigen Fällen kann diese Person über ein externes Login (wie Amazon Cognito) authentifiziert werden, das sich von dem ursprünglich zugewiesenen Benutzer unterscheidet. Wenn ja, können sie nicht darauf zugreifen QuickSight und erhalten die folgende unerwartete Fehlermeldung.

Die für den Verbund verwendete externe Anmeldung ist für den QuickSight Benutzer nicht autorisiert.

Weitere Informationen zur Behebung dieses Problems finden Sie in den folgenden Abschnitten:

Warum passiert das?

Sie verwenden einen vereinfachten Amazon Cognito-Flow

Wenn Sie Amazon Cognito für die Verbundverbindung verwenden QuickSight, verwendet das Single Sign-On-Setup (IAMIdentity Center) möglicherweise den CognitoIdentityCredentials API Vorgang, um die Rolle zu übernehmen. QuickSight Diese Methode ordnet alle Benutzer im Amazon Cognito Cognito-Identitätspool einem einzelnen QuickSight Benutzer zu und wird von Amazon QuickSight nicht unterstützt.

Wir empfehlen, stattdessen den AssumeRoleWithWebIdentity API Vorgang zu verwenden, der den Namen der Rollensitzung angibt.

Sie verwenden nicht authentifizierte Amazon Cognito-Benutzer.

Amazon Cognito IAM Identity Center ist für nicht authentifizierte Benutzer im Amazon Cognito Cognito-Identitätspool eingerichtet. Die QuickSight Rollenvertrauensrichtlinie ist wie im folgenden Beispiel eingerichtet.

{ "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" } } } ] }

Dieses Setup ermöglicht es einem temporären Amazon Cognito Cognito-Benutzer, eine Rollensitzung anzunehmen, die einem eindeutigen QuickSight Benutzer zugeordnet ist. Da nicht authentifizierte Identitäten temporär sind, werden sie von nicht unterstützt. QuickSight

Wir empfehlen, dieses Setup nicht zu verwenden. Dieses Setup wird von Amazon nicht unterstützt QuickSight. Stellen Sie für Amazon sicher QuickSight, dass das Amazon Cognito IAM Identity Center authentifizierte Benutzer verwendet.

Sie haben einen Amazon Cognito-Benutzer mit denselben Benutzernamenattributen gelöscht und neu erstellt

In diesem Fall wurde der zugehörige Amazon Cognito Cognito-Benutzer, der dem QuickSight Amazon-Benutzer zugeordnet ist, gelöscht und neu erstellt. Der neu erstellte Amazon Cognito-Benutzer hat ein anderes zugrunde liegendes Thema. Je nachdem, wie der Name der Rollensitzung dem QuickSight Benutzer zugeordnet ist, entspricht der Sitzungsname möglicherweise demselben rollenbasierten Benutzer. QuickSight

Wir empfehlen, dass Sie den QuickSight Benutzer mithilfe des Vorgangs dem aktualisierten Amazon Cognito Cognito-Benutzerbetreff neu zuordnen. UpdateUser API Weitere Informationen finden Sie im folgenden UpdateUser API Beispiel.

Sie ordnen mehrere Amazon Cognito Cognito-Benutzerpools in verschiedenen Identitätspools AWS-Konten zu und mit QuickSight

Die Zuordnung mehrerer Amazon Cognito Cognito-Benutzerpools in verschiedenen AWS-Konten Identitätspools wird von Amazon QuickSight QuickSight nicht unterstützt.

Wie lässt sich dies beheben?

Sie können QuickSight öffentliche API Operationen verwenden, um die externen Anmeldeinformationen für Ihre Benutzer zu aktualisieren. Verwenden Sie die folgenden Optionen, um zu erfahren, wie das geht.

Wird verwendet RegisterUser , um Benutzer mit externen Anmeldeinformationen zu erstellen

Wenn der externe Login-Anbieter Amazon Cognito ist, verwenden Sie den folgenden CLI Code, um Benutzer zu erstellen.

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

Das external-login-id sollte die Identitäts-ID für den Amazon Cognito-Benutzer sein. Wie in folgendem Beispiel gezeigt ist das Format <identity-region>:<cognito-user-sub>.

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

Wenn der externe Login-Anbieter ein benutzerdefinierter OpenID Connect (OIDC) -Anbieter ist, verwenden Sie den folgenden CLI Code, um Benutzer zu erstellen.

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

Im Folgenden wird ein Beispiel gezeigt.

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

Weitere Informationen zur Verwendung von RegisterUser finden Sie RegisterUserin der QuickSight APIAmazon-Referenz. CLI

Wird verwendet DescribeUser , um externe Anmeldeinformationen für Benutzer zu überprüfen

Wenn es sich bei einem Benutzer um einen rollenbasierten Verbundbenutzer eines externen Anmeldeanbieters handelt, verwenden Sie den DescribeUser API Vorgang, um die externen Anmeldeinformationen für diesen Benutzer zu überprüfen, wie im folgenden Code gezeigt.

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

Im Folgenden wird ein Beispiel gezeigt.

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

Das Ergebnis enthält die externen Anmeldeinformationsfelder, falls vorhanden. Im Folgenden sehen Sie ein Beispiel.

{ "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" }

Weitere Informationen zur Verwendung von DescribeUser finden Sie DescribeUserin der QuickSight APIAmazon-Referenz. CLI

Wird verwendet UpdateUser , um externe Anmeldeinformationen für Benutzer zu aktualisieren

In einigen Fällen stellen Sie möglicherweise fest, dass die externen Anmeldeinformationen, die für den Benutzer aus dem DescribeUser-Ergebnis gespeichert wurden, nicht korrekt sind oder die externen Anmeldeinformationen fehlen. Wenn ja, können Sie den UpdateUser API Vorgang verwenden, um ihn zu aktualisieren. Verwenden Sie die folgenden Beispiele.

Verwenden Sie für Amazon Cognito-Benutzer Folgendes.

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

Im Folgenden wird ein Beispiel gezeigt.

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

Verwenden Sie für Benutzer benutzerdefinierter OIDC Anbieter Folgendes.

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

Im Folgenden wird ein Beispiel gezeigt.

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

Wenn Sie die externen Anmeldeinformationen für den Benutzer löschen möchten, verwenden Sie NONE external login federation provider type. Verwenden Sie den folgenden CLI Befehl, um externe Anmeldeinformationen zu löschen.

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

Im Folgenden wird ein Beispiel gezeigt.

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

Weitere Informationen zur Verwendung von UpdateUser finden Sie UpdateUserin der QuickSight APIAmazon-Referenz. CLI