Como conceder a um usuário acesso apenas a um determinado bucket por meio do console do Amazon S3?
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
Vídeos relacionados
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 3 anos