Ir para o conteúdo

Como faço para permitir o acesso do Quick Suite a um bucket do S3 com uma política de negação?

3 minuto de leitura
0

Quero ter certeza de que minha política de bucket do Amazon Simple Storage Service (Amazon S3) permite o acesso do Amazon Quick Suite.

Breve descrição

Se o seu bucket do Amazon S3 usar uma política de Negação, ela substituirá todas as permissões do S3 que você especificar no console do Quick Suite. Para permitir que o Quick Suite acesse o bucket do S3, adicione o perfil de serviço do Amazon Quick Sight (aws-quicksight-service-role-v0) como uma exceção em sua política de Negação.

Resolução

Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Conclua as etapas a seguir:

  1. Confirme se o Quick Suite tem permissão para acessar o bucket do S3.

  2. Para obter o ID exclusivo do perfil aws-quicksight-service-role-v0, execute o comando get-role da AWS CLI:

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

    Observação: também é possível usar a chamada de API GetRole do AWS Identity and Access Management (AWS IAM). O ID é exclusivo para cada conta do Quick Suite.

  3. (Opcional) Se você quiser adicionar uma exceção para um usuário do IAM, execute o comando get-user da AWS CLI para encontrar o ID exclusivo do usuário:

    aws iam get-user --user-name example-username

    Observação: substitua example-username pelo nome de usuário do IAM.

  4. Abra o console do Amazon S3.

  5. Selecione seu bucket do S3.

  6. Clique na guia Permissões.

  7. Em Política de bucket, selecione Editar.

  8. Insira uma política de bucket semelhante à seguinte:

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

    Observação: substitua examplebucketname pelo nome do seu bucket do S3 e AROAEXAMPLEID pelo seu ID exclusivo. Para adicionar uma exceção para um usuário do IAM, substitua AIDAEXAMPLEUSERID pelo ID exclusivo do usuário do IAM. A política de usuário do IAM também deve conter uma declaração Permitir para o bucket do S3.

Se você excluir o perfil de serviço do Amazon Quick Sight e o usuário do IAM, o acesso ao bucket será bloqueado. Para resolver esse problema, faça login como usuário-raiz da conta da AWS e, em seguida, use o comando delete-bucket-policy da AWS CLI para excluir a política de bucket.

Informações relacionadas

How to restrict Amazon S3 bucket access to a specific IAM role (Como restringir o acesso ao bucket do Amazon S3 a um perfil do IAM específico)