Come posso consentire ad Amazon QuickSight di accedere a un bucket S3 con una policy di negazione?

2 minuti di lettura
0

Voglio essere sicuro che la policy del mio bucket Amazon Simple Storage Service (Amazon S3) consenta l'accesso da Amazon QuickSight.

Breve descrizione

Se il tuo bucket Amazon S3 utilizza una policy di negazione, tale policy sovrascrive le autorizzazioni S3 specificate nella console di Amazon QuickSight. Per consentire ad Amazon QuickSight di accedere al bucket S3, aggiungi il ruolo del servizio Amazon QuickSight (aws-quicksight-service-role-v0) come eccezione nella tua policy di negazione.

Risoluzione

1.    Assicurati che Amazon QuickSight sia autorizzato ad accedere al bucket S3.

2.    Usa l'interfaccia a riga di comando di AWS (AWS CLI) o l'API AWS Identity and Access Management (IAM) per ottenere l'ID univoco per il ruolo aws-quicksight-service-role-v0. L'ID è univoco per ogni account Amazon QuickSight. Ad esempio:

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

Nota: se ricevi un errore durante l'esecuzione dei comandi dell'interfaccia a riga di comando di AWS (AWS CLI), assicurati di utilizzare la versione più recente dell'interfaccia a riga di comando di AWS.

3.    Apri la console Amazon S3.

4.    Scegli il bucket a cui desideri accedere con Amazon QuickSight.

5.    Scegli la scheda Autorizzazioni.

6.    Scegli la policy del bucket.

7.    Inserisci una policy del bucket simile a questo esempio. Sostituisci 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. Ad esempio:

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

questa policy di negazione aggiunge eccezioni per il ruolo del servizio Amazon QuickSight e un utente IAM.

Nota: eliminando il ruolo del servizio Amazon QuickSight e l'utente IAM, sarai escluso dal bucket. Per risolvere questo problema, accedi come utente root dell'account AWS, quindi usa il comando delete-bucket-policy per eliminare la policy del bucket.

Informazioni correlate

Come limitare l'accesso al bucket Amazon S3 a un ruolo IAM specifico

AWS UFFICIALE
AWS UFFICIALEAggiornata 9 mesi fa