Ir para o conteúdo

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

5 minuto de leitura
0

Quero criar um conjunto de dados no Amazon Quick Sight usando dados de um bucket do Amazon Simple Storage Service (Amazon S3) em outra conta.

Breve descrição

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

  1. Atualize sua política de bucket 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 do Quick Sight (Conta A) pode acessar.
  3. Permita que o perfil de serviço do Quick Sight acesse a chave do AWS Key Management Service (AWS 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 ativar a criptografia padrão para o Amazon S3, consulte Configurando a criptografia padrão.

Resolução

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

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

  1. Atualize a política de bucket 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 Quick Sight 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 seu perfil do Quick Sight.

Para obter seu 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á localizado em Criptografia padrão.

Para obter o ARN do seu perfil de serviço do Quick Sight:

  1. Abra o console do AWS Identity Access Management (IAM) na Conta A.
  2. No painel de navegação, escolha Perfis.
  3. Pesquise por aws-quicksight-service-role.
  4. Selecione seu perfil de serviço do Quick Sight e copie o seu 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 Quick Sight pode acessar

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

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

Permita que o perfil de serviço do Quick Sight 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 Quick Sight 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 Quick Sight acesse sua chave do AWS KMS na Conta B. Substitua ExampleStmt3 pelo ID da declaraçã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 Quick Sight, pode encontrar um erro de permissão. Para obter mais informações sobre como resolver o erro de permissões, consulte Como solucionar erros de permissão de recursos da AWS no Amazon QuickSight?

Outras considerações

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

Informações relacionadas

Edição de chaves

I can't connect to Amazon S3 (Não consigo me conectar ao Amazon S3)

Troubleshooting Amazon Quick Sight (Resolução de problemas do Amazon Quick Sight)

Visualizar uma política de chave (console)