Wie erlaube ich Amazon QuickSight den Zugriff auf einen S3-Bucket mit einer Ablehnungsrichtlinie?

Lesedauer: 2 Minute
0

Ich möchte sicherstellen, dass meine Amazon Simple Storage Service (Amazon S3)-Bucket-Richtlinie den Zugriff von Amazon QuickSight aus zulässt.

Kurzbeschreibung

Wenn Ihr Amazon-S3-Bucket eine Ablehnungsrichtlinie verwendet, überschreibt diese Richtlinie alle S3-Berechtigungen, die Sie in der Amazon QuickSight-Konsole angeben. Damit Amazon QuickSight auf den S3-Bucket zugreifen kann, fügen Sie Ihrer Ablehnungsrichtlinie die Amazon-QuickSight-Servicerolle (aws-quicksight-service-role-v0) als Ausnahme hinzu.

Behebung

1.Vergewissern Sie sich, dass Amazon QuickSight berechtigt ist, auf den S3-Bucket zuzugreifen.

2.Verwenden Sie die AWS-Befehlszeilenschnittstelle (AWS CLI) oder die AWS Identity and Access Management (IAM)-API, um die eindeutige ID für die aws-quicksight-service-role-v0-Rolle abzurufen. Die ID ist für jedes Amazon-QuickSight-Konto einzigartig. Zum Beispiel:

aws iam get-role --role-name aws-quicksight-service-role-v0 --query 'Role.RoleId' --output json
"AROAEXAMPLEID"

Hinweis: Wenn Sie beim Ausführen von Befehlen in AWS CLI eine Fehlermeldung erhalten, stellen Sie sicher, dass Sie die neueste Version von AWS CLI verwenden.

3.Öffnen Sie die Amazon-S3-Konsole.

4.Wählen Sie den Bucket aus, auf den Sie mit Amazon QuickSight zugreifen möchten.

5.Wählen Sie die Ansicht Berechtigungen.

6.Wählen Sie Bucket-Richtlinie.

7.Geben Sie eine Bucket-Richtlinie ähnlich diesem Beispiel ein. Ersetzen Sie AROAEXAMPLEID durch Ihre eindeutige ID. Wenn Sie eine Ausnahme für einen IAM-Benutzer hinzufügen möchten, ersetzen Sie AIDAEXAMPLEUSERID durch die eindeutige ID des IAM-Benutzers. Die Richtlinie des IAM-Benutzers muss auch eine Erlauben-Anweisung für den S3-Bucket enthalten. Zum Beispiel:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::examplebucketname",
        "arn:aws:s3:::examplebucketname/*"
      ],
      "Condition": {
        "StringNotLike": {
          "aws:userid": [
            "AROAEXAMPLEID:*",
            "AIDAEXAMPLEUSERID"
          ]
        }
      }
    }
  ]
}

Diese Ablehnungsrichtlinie fügt Ausnahmen für die Amazon-QuickSight-Servicerolle und einen IAM-Benutzer hinzu.

Hinweis: Wenn Sie die Amazon-QuickSight-Servicerolle und den IAM-Benutzer löschen, werden Sie vom Bucket ausgeschlossen. Um dieses Problem zu lösen, melden Sie sich als Root-Benutzer des AWS-Kontos an und verwenden Sie dann den Befehl delete-bucket-policy, um die Bucket-Richtlinie zu löschen.

Verwandte Informationen

So beschränken Sie den Amazon S3-Bucket-Zugriff auf eine bestimmte IAM-Rolle

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 9 Monaten