Salta al contenuto

Come posso configurare l'accesso multi-account da Quick Sight a un bucket Amazon S3 in un altro account?

5 minuti di lettura
0

Desidero utilizzare i dati di un bucket Amazon Simple Storage Service (Amazon S3) in un altro account per creare un set di dati in Amazon Quick Sight.

Breve descrizione

Completa i seguenti passaggi per creare l'accesso multi-account da Amazon Quick Sight (Account A) a un bucket Amazon S3 crittografato in un altro account (Account B):

  1. Aggiorna la policy del bucket S3 nell'Account B (dove risiede il bucket S3).
  2. Aggiungi il bucket S3 come risorsa a cui può accedere il ruolo di servizio per Quick Sight (Account A).
  3. Consenti al ruolo di servizio per Quick Sight di accedere alla chiave del Servizio AWS di gestione delle chiavi (AWS KMS) per il bucket S3.

Nota: questo articolo presuppone che il bucket S3 sia crittografato. È anche consigliabile crittografare il bucket S3 con una chiave AWS KMS. Per ulteriori informazioni su come attivare la crittografia predefinita per Amazon S3, consulta Configuring default encryption.

Risoluzione

Aggiorna la policy del bucket S3 nell'Account B

Per configurare l'accesso multi-account da Quick Sight ad Amazon S3, completa i seguenti passaggi:

  1. Aggiorna la policy del 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 di servizio per Quick Sight 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 per Quick Sight.

Per ottenere l’ARN della 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 ruolo di servizio per Quick Sight:

  1. Apri la console AWS Identity Access Management (AWS IAM) nell'Account A.
  2. Dal pannello di navigazione, scegli Ruoli.
  3. Cerca aws-quicksight-service-role.
  4. Seleziona il ruolo di servizio per Quick Sight 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 di servizio per Quick Sight

Per consentire al ruolo di servizio per Quick Sight di accedere al bucket S3 nell'Account B, completa i seguenti passaggi:

  1. Apri la console Amazon Quick Sight.
  2. Scegli Gestisci Quick Sight.
  3. Scegli Sicurezza e autorizzazioni.
  4. Scegli Aggiungi o rimuovi.
  5. Scegli Dettagli.
  6. Scegli Select S3 buckets (Seleziona i bucket S3).
  7. Scegli la scheda S3 buckets that you can access across AWS (Bucket S3 accessibili in AWS) per verificare che il bucket S3 sia accessibile a Quick Sight.
  8. (Facoltativo) Se il bucket S3 non è presente nell'elenco, aggiungilo in Utilizza un altro bucket.
  9. Scegli Fine.

Consenti al ruolo di servizio per Quick Sight di accedere alla chiave AWS KMS per il bucket S3

Aggiungi la seguente policy IAM in linea al ruolo di servizio per Quick Sight 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 di servizio per Quick Sight di accedere alla chiave AWS KMS nell'Account B. Sostituisci ExampleStmt3 con l’ID dell'istruzione.

Importante: se il ruolo aws-quicksight-s3-consumers-role-v0 esiste nell'Account A, devi collegare al ruolo la policy AWS KMS. La policy AWS KMS decrittografa i dati nel bucket S3. Se invece colleghi la policy del ruolo aggiornata al ruolo di servizio per Quick Sight, potresti ricevere un errore di autorizzazione. Per informazioni sulla risoluzione dell'errore di autorizzazione, consulta Come posso risolvere gli errori di autorizzazione per le risorse AWS in Quick Sight?

Considerazioni aggiuntive

Quando configuri l'accesso multi-account da Quick Sight a un bucket S3 in un altro account, considera quanto segue:

Informazioni correlate

Modifica delle chiavi

I can't connect to Amazon S3 (Non riesco a connettermi ad Amazon S3)

Troubleshooting Amazon Quick Sight (Risoluzione dei problemi di Amazon Quick Sight)

Visualizza la policy di una chiave (console)