Salta al contenuto

Come posso consentire a Quick Suite di accedere a un bucket S3 con una policy di diniego?

2 minuti di lettura
0

Desidero assicurarmi che la mia policy di bucket Amazon Simple Storage Service (Amazon S3) consenta l'accesso da Amazon Quick Suite.

Breve descrizione

Se il bucket Amazon S3 utilizza una policy Deny, la policy sovrascrive tutte le autorizzazioni S3 specificate nella console Quick Suite. Per consentire a Quick Suite di accedere al bucket S3, aggiungi come eccezione alla policy Deny il ruolo di servizio Amazon Quick Sight (aws-quicksight-service-role-v0).

Risoluzione

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Completa i seguenti passaggi:

  1. Verifica che Quick Suite abbia l'autorizzazione per accedere al bucket S3.

  2. Per ottenere l'ID univoco per il ruolo aws-quicksight-service-role-v0, esegui il comando AWS CLI get-role:

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

    Nota: puoi anche utilizzare la chiamata API GetRole di AWS Identity and Access Management (AWS IAM). L'ID è univoco per ogni account Quick Suite.

  3. (Facoltativo) Se desideri aggiungere un'eccezione per un utente IAM, esegui il comando AWS CLI get-user per individuare l'ID univoco dell'utente:

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

    Nota: sostituisci example-username con il nome utente IAM.

  4. Apri la console Amazon S3.

  5. Seleziona il bucket S3.

  6. Scegli la scheda Autorizzazioni.

  7. In Policy del bucket, scegli Modifica.

  8. Inserisci una policy di bucket simile alla seguente:

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

    Nota: sostituisci examplebucketname con il nome del tuo bucket S3 e AROAEXAMPLEID con il tuo ID univoco. Se desideri aggiungere un'eccezione per un utente IAM, sostituisci AIDAEXAMPLEUSERID con l'ID univoco dell'utente IAM. La policy dell'utente IAM deve contenere anche un'istruzione Allow per il bucket S3.

Se elimini il ruolo di servizio per Quick Sight e l'utente IAM, sei escluso dal bucket. Per risolvere il problema, accedi come utente root dell'account AWS e utilizza il comando AWS CLI delete-bucket-policy per eliminare la policy di bucket.

Informazioni correlate

How to restrict Amazon S3 bucket access to a specific IAM role (Come limitare a un ruolo IAM specifico l'accesso a un bucket Amazon S3)