Wie behebe ich „Zugriff verweigert“-Fehler, wenn ich Athena als Datenquelle in Quicksight verwende?

Letzte Aktualisierung: 29.07.2022

Ich erhalte „Zugriff verweigert“-Fehler, wenn ich versuche, Amazon Athena als Datenquelle in meinem Amazon-QuickSight-Konto zu verwenden. Wie kann ich dies beheben?

Kurzbeschreibung

Im Folgenden werden häufige Gründe für die Fehlermeldung Zugriff verweigert aufgeführt, wenn Sie Amazon Athena als Datenquelle in Amazon QuickSight verwenden:

  • Ihr QuickSight-Konto verfügt nicht über die erforderliche Berechtigung, um auf den Amazon Simple Storage Service (Amazon S3)-Bucket zuzugreifen.
  • Ihre Datendatei ist mit einem AWS Key Management Service (AWS KMS)-Schlüssel verschlüsselt.
  • Ihnen ist nicht die erforderliche AWS Identity and Access Management (IAM)-Berechtigungsrichtlinie zugewiesen.
  • Der Amazon-S3-Bucket existiert nicht. Oder die IAM-Rolle, die zum Abfragen der Daten verwendet wird, verfügt nicht über die erforderlichen S3-Berechtigungen.
  • Ihnen sind nicht die erforderlichen Service-Kontrollrichtlinien (SCPs) zugewiesen. (Für QuickSight-Konten, die AWS Organizations verwenden)
  • Ihr QuickSight-Benutzer oder Ihre QuickSight-Gruppe hat keine AWS-Lake-Formation-Berechtigungen. (Für Athena-Konten, die Lake Formation verwenden)

Hinweis: Bevor Sie mit der Fehlerbehebung beginnen, stellen Sie sicher, dass Sie in Athena auf Ihre Daten zugreifen können.

Auflösung

Wenn Sie beim Ausführen von Befehlen von AWS Command Line Interface (AWS CLI) Fehlermeldungen erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden .

Ihr QuickSight-Konto verfügt nicht über die erforderliche Berechtigung für den Zugriff auf den Amazon-S3-Bucket

Sie erhalten einen Fehler ähnlich dem folgenden:

An error has been thrown from AWS Athena client. Permission denied on S3 path:
sourceErrorMessage: s3:/example bucket/object name

Führen Sie die folgenden Schritte aus, um die Berechtigung für den S3-Bucket zu erhalten:

  1. Öffnen Sie die Amazon-QuickSight-Konsole.
  2. Wählen Sie QuickSight verwalten.
  3. Wählen Sie Sicherheit und Berechtigungen.
  4. Wählen Sie unter QuickSight-Zugriff auf AWS-Services, Verwalten aus.
  5. Wählen Sie in der Liste der AWS-Services Amazon S3 aus.
  6. Wählen Sie S3-Buckets auswählen und wählen Sie dann den S3-Bucket aus, auf den Sie über QuickSight zugreifen möchten.
  7. Wählen Sie Schreibberechtigung für Athena Workgroup und wählen Sie dann Fertigstellen.
  8. Wählen Sie Speichern.

Ihre Datendatei ist mit einem AWS-KMS-Schlüssel verschlüsselt

Wenn Ihre Datendatei mit einem AWS-KMS-Schlüssel verschlüsselt ist, kann Amazon S3 Ihnen den Zugriff auf die Daten verweigern. Um dieses Problem zu beheben, gewähren Sie Ihrer QuickSight-Servicerolle Zugriff auf den AWS-KMS-Schlüssel. Führen Sie die folgenden Schritte aus.

Verwendung von AWS CLI

1.    Suchen Sie mithilfe der IAM-Konsole den ARN der QuickSight-Servicerolle.

2.    Suchen Sie mithilfe der Amazon-S3-Konsole den ARN des AWS-KMS-Schlüssels.
        Gehen Sie zu dem Bucket, der Ihre Datendatei enthält.
        Wählen Sie die Registerkarte Übersicht und suchen Sie die KMS-Schlüssel-ID.

3.    Fügen Sie der KMS-Schlüsselrichtlinie den ARN der QuickSight-Servicerolle hinzu.

4.    Führen Sie den AWS-CLI-Befehl create-grant aus:

aws kms create-grant --key-id aws_kms_key_arn --grantee-principal quicksight_role_arn --operations Decrypt

Hinweis: Ersetzen Sie aws_kms_key_arn durch den ARN Ihres AWS-KMS-Schlüssels und quicksight_role_arn durch den ARN Ihrer QuickSight-Servicerolle.

Verwenden der AWS-KMS-Konsole

Um die QuickSight-Servicerolle zur AWS-KMS-Schlüsselrichtlinie hinzuzufügen, befolgen Sie die Anweisungen unter So ändern Sie eine Schlüsselrichtlinie. Bearbeiten Sie dann die Schlüsselrichtlinie, indem Sie die folgende Berechtigungsrichtlinie hinzufügen:

{
     "Sid": "Allow use of the key",
     "Effect": "Allow",
     "Principal": {
         "AWS": [
              "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-service-role-v0",
              "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-s3-consumers-role-v0"
              ]
         },
         "Action": [
            "kms:Decrypt"
               ],
         "Resource": "*"
}

Hinweis: Ersetzen Sie aws_account_id mit der ID Ihres AWS-Kontos.

Ihnen ist nicht die erforderliche IAM-Berechtigungsrichtlinie zugewiesen

Sie können auch die Fehlermeldung Zugriff verweigert erhalten, wenn Ihnen nicht die erforderliche IAM-Berechtigungsrichtlinie zugewiesen wurde. Führen Sie die folgenden Schritte aus, um zu überprüfen, welche Richtlinien Ihnen zugewiesen sind:

  1. Öffnen Sie die Amazon-QuickSight-Konsole.
  2. Wählen Sie QuickSight verwalten.
  3. Wählen Sie Sicherheit und Berechtigungen.
  4. Wählen Sie IAM-Richtlinienzuweisungen.
  5. Überprüfen Sie, ob IAM-Richtlinienzuweisungen für den Zugriff auf Athena vorhanden sind.
  6. Stellen Sie sicher, dass die Richtlinie Ihren Zugriff auf S3 oder Athena nicht einschränkt.

Wenn es eine Richtlinie gibt, die Ihren Zugriff auf S3 oder Athena einschränkt, bitten Sie Ihren QuickSight-Administrator, die Richtlinie zu ändern. Wenn Sie der Administrator sind, deaktivieren Sie die IAM-Richtlinienzuweisung und bearbeiten Sie die Richtlinie so, dass sie S3- und Athena-Berechtigungen enthält. Weitere Informationen finden Sie unter Festlegen des differenzierten Zugriffs auf AWS-Services über IAM.

Der S3-Bucket existiert nicht. Oder die IAM-Rolle, die zum Abfragen der Daten verwendet wird, verfügt nicht über die erforderlichen S3-Berechtigungen

Sie erhalten folgende Fehlermeldung:

Unable to verify/create output bucket

Informationen zur Behebung des oben genannten Fehlers finden Sie unter Wie behebe ich den Fehler „Ausgabe-Bucket kann nicht überprüft/erstellt werden“ in Amazon Athena?

Wenn der Bucket nicht existiert, fügen Sie den gültigen S3-Bucket hinzu. Wählen Sie in der Amazon-QuickSight-Konsole Amazon S3 aus der Liste der AWS-Services aus. Wählen Sie dann den S3-Bucket aus, der für den Speicherort der Abfrageergebnisse verwendet wird.

Ihnen sind nicht die erforderlichen SCPs zugewiesen

Wenn Sie AWS Organizations verwenden, erhalten Sie möglicherweise eine Fehlermeldung Zugriff verweigert, wenn Ihnen nicht die erforderlichen SCPs zugewiesen sind. Bitten Sie den Administrator von AWS Organizations, in Ihren SCP-Einstellungen die Ihnen zugewiesenen Berechtigungen zu überprüfen. Als Administrator von AWS Organizations erhalten Sie unter Erstellen, Aktualisieren und Löschen von Richtlinien zur Servicesteuerung weitere Informationen.

Ihr QuickSight-Benutzer oder Ihre QuickSight-Gruppe verfügt nicht über Lake Formation

Bei Athena-Konten, die Lake Formation verwenden, wird möglicherweise der folgende Fehler angezeigt:

An error has been thrown from the AWS Athena client. Insufficient permissions to execute the query. Insufficient Lake Formation permission(s)

Um Lake Formation Berechtigungen für QuickSight zu gewähren, müssen Sie ein Lake-Formation-Administrator sein.

Führen Sie die folgenden Schritte aus:

1.    Suchen Sie den ARN für den QuickSight-Benutzer oder die Gruppe.

Führen Sie einen der folgenden AWS-CLI-Befehle aus:

describe-user

aws quicksight describe-user  --user-name user_name  --aws-account-id account_id --namespace default
aws quicksight describe-group --group-name group_name  --aws-account-id account_id --namespace default

Hinweis: Ersetzen Sie in den vorherigen Befehlen user_name durch den Namen Ihres Benutzers, group_name durch den Namen Ihrer Gruppe und account_id durch die ID Ihres Kontos.

2.    Öffnen Sie die Lake-Formation-Konsole.

3.    Wählen Sie Tabellen.

4.    Wählen Sie Aktionen und dann Berechtigungen.

5.    Wählen Sie in der Liste der Prinzipale Gewähren aus.

6.    Geben Sie unter SAML- und Amazon-QuickSight-Benutzer und -Gruppen den QuickSight-Benutzer- oder -Gruppen-ARN ein.
        Zum Beispiel: arn:aws:quicksight:region:accountId:user/namespace/username

7.    Wählen Sie die richtige Datenquelle aus, und wählen Sie dann Alle Tabellen aus. Die Tabellenberechtigungen lauten Auswählen und Beschreiben.

8.    Wählen Sie Gewähren aus.

Nachdem Sie die Berechtigungen erteilt haben, kehren Sie zur QuickSight-Konsole zurück und versuchen Sie erneut, den Datensatz zu erstellen.