Como conceder a um usuário acesso apenas a um determinado bucket por meio do console do Amazon S3?

3 minuto de leitura
0

Quero conceder a um usuário do console Amazon Simple Storage Service (Amazon S3) acesso a um bucket ou uma pasta (prefixo). No entanto, não quero que o usuário veja outros compartimentos na conta ou outras pastas dentro do bucket.

Breve descrição

Altere as permissões do AWS Identity and Access Management (IAM) de um usuário para limitar o acesso do console do Amazon S3 do usuário a um determinado bucket ou pasta (prefixo):

1.    Remova a permissão para a ação s3:ListAllMyBuckets.

2.    Adicione permissão a s3:ListBucket somente para o bucket ou pasta que você deseja que o usuário acesse. Para permitir que o usuário carregue e baixe objetos do bucket ou da pasta, você também deve incluir s3:PutObject e s3:GetObject.

Resolução

1.    Abra o console do IAM.

2.    Selecione o usuário ou o perfil do IAM ao qual você deseja restringir o acesso.

3.     Na guia Permissões do usuário ou perfil do IAM, expanda cada política para ver seu documento de política JSON.

4.    No documento de política JSON, pesquise a política que concede ao usuário permissão para a ação s3:ListAllMyBuckets ou para as ações s3:* (todas as ações do S3).

5.    Modifique a política para remover a permissão da ação s3:ListAllMyBuckets.

Observação: Se uma política de usuário anexada permitir acesso s3:* ou Full Admin com o recurso "*", a política incluirá as permissões s3:ListAllMyBuckets. Remova o recurso "*". Em seguida, use um dos exemplos de políticas a seguir.

6.    Adicione permissão a s3:ListBucket somente para o bucket ou pasta que você deseja que o usuário acesse do console.

O exemplo de política a seguir é para acesso a um bucket do S3:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
    }
  ]
}

A política permite que o usuário execute as ações s3:ListBucket, s3:PutObject e s3:GetObject somente em DOC-EXAMPLE-BUCKET.

O exemplo de política a seguir concede acesso a uma pasta. A política permite que o usuário execute as ações s3:ListBucket, s3:ListBucketVersions, s3:PutObject, s3:GetObject e s3:GetObjectVersion somente em folder2 em DOC-EXAMPLE-BUCKET. Use s3:ListBucketVersions, s3:GetObjectVersion e s3:GetBucketVersioning somente se o bucket tiver versionamento e você quiser que os usuários tenham acesso às versões anteriores dos objetos.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowUsersToAccessFolder2Only",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/folder1/folder2/*"
      ]
    },
    {
      "Sid": "AllowListOfBucketOnlyOnPrefix",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:ListBucketVersions"
      ],
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET"
      ],
      "Condition": {
        "StringLike": {
          "s3:prefix": [
            "folder1/folder2/*"
          ]
        }
      }
    },
    {
      "Sid": "AllowListVersionOnObjectDetails",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketVersioning"
      ],
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET"
      ]
    }
  ]
}

7.    Forneça ao usuário um link direto do console para o bucket ou pasta do S3.

Aviso: Depois de alterar essas permissões, o usuário recebe um erro de acesso negado ao acessar o console principal do Amazon S3. O usuário deve usar um link direto do console para acessar o bucket ou a pasta. 

O link a seguir é um exemplo de um link direto do console para um bucket do S3:

https://s3.console.aws.amazon.com/s3/buckets/DOC-EXAMPLE-BUCKET/

O link a seguir é um exemplo de um link direto do console para uma pasta:

https://s3.console.aws.amazon.com/s3/buckets/DOC-EXAMPLE-BUCKET/folder1/folder2/

Informações relacionadas

Exemplos de política de usuário

AWS OFICIAL
AWS OFICIALAtualizada há um ano