Direkt zum Inhalt

Wie erlaube ich Quick Suite 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 Quick Suite aus zulässt.

Kurzbeschreibung

Wenn der Amazon-S3-Bucket eine Ablehnungsrichtlinie verwendet, überschreibt diese Richtlinie alle S3-Berechtigungen, die du in der Quick-Suite-Konsole angibst. Damit Quick Suite auf den S3-Bucket zugreifen kann, füge der Ablehnungsrichtlinie die Amazon-QuickSight-Servicerolle (aws-quicksight-service-role-v0) als Ausnahme hinzu.

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Führe die folgenden Schritte aus:

  1. Vergewissere dich, dass Amazon Quick Suite berechtigt ist, auf den S3-Bucket zuzugreifen.

  2. Um die eindeutige ID für die Rolle aws-quicksight-service-role-v0 abzurufen, führe den AWS-CLI-Befehl get-role aus:

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

    Hinweis: Du kannst auch den GetRole-API-Aufruf von AWS Identity and Access Management (IAM) verwenden. Die ID ist für jedes Quick-Suite-Konto eindeutig.

  3. (Optional) Wenn du eine Ausnahme für IAM-Benutzer hinzufügen möchtest, führe den AWS-CLI-Befehl get-user aus, um die eindeutige ID des Benutzers zu ermitteln:

    aws iam get-user --user-name example-username

    Hinweis: Ersetze example-username durch den IAM-Benutzernamen.

  4. Öffne die Amazon S3-Konsole.

  5. Wähle deinen S3-Bucket aus.

  6. Wähle die Registerkarte Berechtigungen aus.

  7. Wähle unter Bucket-Richtlinie die Option Bearbeiten aus.

  8. Gib eine Bucket-Richtlinie ein, die dem folgenden Beispiel ähnelt:

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

    Hinweis: Ersetze examplebucketname durch deinen S3-Bucket-Namen und AROAEXAMPLEID durch deine eindeutige ID. Wenn du eine Ausnahme für einen IAM-Benutzer hinzufügen möchtest, ersetze AIDAEXAMPLEUSERID durch die eindeutige ID des IAM-Benutzers. Die Richtlinie des IAM-Benutzers muss auch eine Erlauben-Anweisung für den S3-Bucket enthalten.

Wenn du die QuickSight-Servicerolle und den/die IAM-Benutzer:in löschst, wirst du vom Bucket ausgeschlossen. Um dieses Problem zu lösen, melde dich als Root-Benutzer:in des AWS-Kontos an und verwende dann den AWS-CLI-Befehl delete-bucket-policy, um die Bucket-Richtlinie zu löschen.

Ähnliche Informationen

So beschränkst du den Amazon-S3-Bucket-Zugriff auf eine bestimmte IAM-Rolle