Come posso configurare l'accesso tra più account da Amazon QuickSight a un bucket Amazon S3 in un altro account?

5 minuti di lettura
0

Sto cercando di creare un set di dati in Amazon QuickSight utilizzando i dati di un bucket Amazon Simple Storage Service (Amazon S3) in un altro account. Come posso farlo?

Breve descrizione

Completa i seguenti passaggi per creare l'accesso tra più account da Amazon QuickSight (Account A) a un bucket Amazon S3 crittografato in un altro account (Account B):

  1. Aggiorna la policy del tuo bucket S3 nell'Account B (dove risiede il tuo bucket S3).
  2. Aggiungi il bucket S3 come risorsa a cui può accedere il ruolo del servizio QuickSight (Account A).
  3. Consenti al ruolo del servizio QuickSight di accedere alla chiave AWS Key Management Service (KMS) per il bucket S3.

Nota: questo articolo presuppone che il tuo bucket S3 sia crittografato. È anche consigliabile crittografare il tuo bucket S3 con una chiave AWS KMS. Per ulteriori informazioni su come abilitare la crittografia predefinita per Amazon S3, consulta Abilitare la crittografia predefinita del bucket di Amazon S3.

Risoluzione

Aggiorna la policy del tuo bucket S3 nell'Account B

Per configurare l'accesso tra più account da QuickSight ad Amazon S3, completa i seguenti passaggi:

1.    Aggiorna la policy del bucket del tuo bucket S3 nell'Account B. Ad esempio:

{
  "Version": "2012-10-17",
  "Id": "BucketPolicy",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<Account A>:role/service-role/aws-quicksight-service-role-v0"
      },
      "Action": [
        "s3:ListBucket",
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "arn:aws:s3:::cross-account-qstest-bucket",
        "arn:aws:s3:::cross-account-qstest-bucket/*"
      ]
    }
  ]
}

Nota: se il ruolo aws-quicksight-s3-consumers-role-v0 esiste nell'Account A, assicurati piuttosto di utilizzare questo ruolo. Sostituisci aws-quicksight-service-role-v0 con aws-quicksight-s3-consumers-role-v0 per evitare problemi di connessione con Amazon S3.

2.    Aggiungi il ruolo del servizio QuickSight dall'Account A all'elenco di utenti che possono accedere alla chiave AWS KMS del bucket S3:

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

Nota: sostituisci aws_kms_key_arn con l'ARN della tua chiave AWS KMS e quicksight_role_arn con l'ARN del tuo ruolo QuickSight.

Per ottenere l’ARN della tua chiave AWS KMS:

  1. Apri la console Amazon S3.
  2. Vai al bucket S3 che contiene il tuo file di dati.
  3. Scegli la scheda Proprietà. L’ARN della chiave AWS KMS si trova in Crittografia predefinita.

Per ottenere l’ARN del tuo ruolo di servizio QuickSight:

  1. Apri la console AWS Identity Access Management (IAM) nell'Account A.
  2. Nel riquadro di navigazione a sinistra, scegli Ruoli.
  3. Cerca aws-quicksight-service-role.
  4. Seleziona il tuo ruolo di servizio QuickSight e copia il relativo ARN.

Nota: se il ruolo aws-quicksight-s3-consumers-role-v0 esiste nell'account A, assicurati piuttosto di utilizzare questo ruolo. Altrimenti, potresti ricevere un messaggio di errore quando provi a connetterti ad Amazon S3.

Aggiungi il bucket S3 come risorsa a cui può accedere il ruolo del servizio QuickSight

Per consentire al ruolo del servizio QuickSight di accedere al bucket S3 nell'Account B, completa i seguenti passaggi:

  1. Apri la tua console Amazon QuickSight.
  2. Scegli Gestisci QuickSight.
  3. Scegli Sicurezza e autorizzazioni.
  4. Scegli Aggiungi o rimuovi.
  5. Scegli Dettagli.
  6. Scegli Seleziona bucket S3.
  7. Scegli i bucket S3 a cui puoi accedere tramite la scheda AWS per verificare che il tuo bucket S3 sia elencato per l'accesso a QuickSight.
  8. (Facoltativo) Se il tuo bucket S3 non è presente nell'elenco, aggiungi il tuo bucket in Usa un bucket diverso.
  9. Scegli Fine.

Consenti al ruolo del servizio QuickSight di accedere alla chiave AWS KMS per il bucket S3

Aggiungi la seguente policy IAM in linea al ruolo del servizio QuickSight nell'account A:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ExampleStmt3",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt"
        ],
      "Resource": ""arn:aws:kms:us-east-1:<account ID of your S3 bucket>:key/<KEYID>"
    }
  ]
}

Nota: la policy in linea precedente consente al ruolo del servizio QuickSight di accedere alla tua chiave AWS KMS nell'Account B. Sostituisci ExampleStmt3 con l’ID della dichiarazione.

Importante: se il ruolo aws-quicksight-s3-consumers-role-v0 esiste nell'account A, devi allegare la policy AWS KMS al ruolo. La policy AWS KMS decrittografa i dati nel tuo bucket S3. Se invece alleghi la policy del ruolo aggiornata al tuo ruolo del servizio QuickSight, potresti riscontrare un errore di autorizzazione. Per informazioni su come risolvere l'errore di autorizzazione, consulta Come risolvere gli errori di autorizzazione delle risorse AWS in Amazon QuickSight

Considerazioni aggiuntive

Quando configuri l'accesso tra più account da QuickSight a un bucket S3 in un altro account, considera quanto segue:


Informazioni correlate

Modifica delle chiavi

Non riesco a connettermi ad Amazon S3

Troubleshooting Amazon QuickSight

Visualizzazione di una policy delle chiavi (console)

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa