Como configurar o acesso entre contas do Amazon QuickSight a um bucket do Amazon S3 em outra conta?

5 minuto de leitura
0

Estou tentando criar um conjunto de dados no Amazon QuickSight usando dados de um bucket do Amazon Simple Storage Service (Amazon S3) em outra conta. Como posso fazer isso?

Breve descrição

Conclua as etapas a seguir para criar acesso entre contas do Amazon QuickSight (Conta A) para um bucket criptografado do Amazon S3 em outra conta (Conta B):

  1. Atualize sua política de buckets do S3 na Conta B (onde seu bucket do S3 reside).
  2. Adicione o bucket do S3 como um recurso que o perfil de serviço QuickSight do (Conta A) pode acessar.
  3. Permita que o perfil de serviço do QuickSight acesse a chave do AWS Key Management Service (KMS) para o bucket do S3.

Observação: este artigo pressupõe que seu bucket do S3 esteja criptografado. Também é uma prática recomendada criptografar seu bucket do S3 com uma chave do AWS KMS. Para obter mais informações sobre como habilitar a criptografia padrão para o Amazon S3, consulte Habilitação da criptografia do bucket padrão do Amazon S3.

Resolução

Atualize sua política de buckets do S3 na Conta B

Para configurar o acesso entre contas do QuickSight para o Amazon S3, conclua as seguintes etapas:

1.    Atualize a política de buckets do seu bucket do S3 na Conta B. Por exemplo:

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

Observação: se o perfil aws-quicksight-s3-consumers-role-v0 existir na Conta A, então use esse perfil. Substitua aws-quicksight-service-role-v0 por aws-quicksight-s3-consumers-role-v0 para evitar problemas de conexão com o Amazon S3.

2.    Adicione o perfil de serviço do QuickSight da Conta A à lista de usuários que podem acessar a chave do AWS KMS do bucket do S3:

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

Observação: substitua aws_kms_key_arn pelo ARN da sua chave do AWS KMS e quicksight_role_arn pelo ARN do perfil do QuickSight.

Para obter o ARN da chave do AWS KMS:

  1. Abra o console do Amazon S3.
  2. Acesse o bucket do S3 que contém seu arquivo de dados.
  3. Escolha a guia Propriedades. O ARN da chave do AWS KMS está localizada em Criptografia padrão.

Para obter o ARN do seu perfil de serviço do QuickSight:

  1. Abra o console do AWS Identity Access Management (IAM) na Conta A.
  2. No painel de navegação esquerdo, escolha Perfis.
  3. Pesquise por aws-quicksight-service-role.
  4. Selecione seu perfil de serviço do QuickSight e copie o ARN.

Observação: se o perfil aws-quicksight-s3-consumers-role-v0 existir na Conta A, use esse perfil. Caso contrário, você poderá receber um erro ao tentar se conectar ao Amazon S3.

Adicione o bucket do S3 como um recurso que o perfil de serviço do QuickSight pode acessar

Para permitir que o perfil de serviço do QuickSight acesse o bucket do S3 na Conta B, conclua as seguintes etapas:

  1. Abra seu console do Amazon QuickSight.
  2. Escolha Gerenciar o QuickSight.
  3. Escolha Segurança e permissões.
  4. Escolha Adicionar ou remover.
  5. Escolha Detalhes.
  6. Escolha Selecionar buckets do S3.
  7. Escolha os buckets do S3 que você pode acessar na guia AWS para verificar se seu bucket do S3 está listado para acesso ao QuickSight.
  8. (Opcional) Se seu bucket do S3 não estiver listado, adicione-o em Usar um bucket diferente.
  9. Escolha Concluir.

Permita que o perfil de serviço do QuickSight acesse a chave do AWS KMS para o bucket do S3

Adicione a seguinte política do IAM em linha ao perfil de serviço do QuickSight na Conta 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>"
    }
  ]
}

Observação: a política em linha anterior permite que o perfil de serviço do QuickSight acesse sua chave do AWS KMS na Conta B. Substitua ExampleStmt3 pelo ID da instrução.

Importante: se o perfil aws-quicksight-s3-consumers-role-v0 existir na Conta A, você deverá anexar a política do AWS KMS ao perfil. A política do AWS KMS descriptografa os dados em seu bucket do S3. Se, em vez disso, você anexar a política de perfil atualizada ao seu perfil de serviço do QuickSight, poderá encontrar um erro de permissão. Para obter informações sobre como resolver o erro de permissões, consulte Como solucionar erros de permissão de recursos da AWS no Amazon QuickSight?

Considerações adicionais

Ao configurar o acesso entre contas do QuickSight a um bucket do S3 em outra conta, considere o seguinte:


Informações relacionadas

Edição de chaves

Não consigo me conectar ao Amazon S3

Resolução de problemas do Amazon QuickSight

Visualização de uma política de chave (console)

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos