Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Permissões no S3 para um único usuário

Gostaria de saber como posso configurar as permissões no S3 para que, em vez de deixar os arquivos acessíveis ao público "Principal": "*", eu possa restringir o acesso a apenas um usuário específico criado no IAM utilizando a chave "Principal".

já tentei fazer essa policy no bucket, mas não funcionou:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowReadForSpecificUser", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/my-user" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my-bucket/*" ] } ] }

3 respostas
solução!

Olá, Beatriz!

Para restringir o acesso a um único usuário específico no Amazon S3, você pode configurar a política do bucket utilizando a chave "Principal" com o ARN do usuário IAM que você deseja permitir o acesso. Aqui está um exemplo de como você pode fazer isso:

  1. Identifique o ARN do usuário IAM: Acesse o console do IAM, encontre o usuário específico e copie o ARN dele. O ARN geralmente tem o formato arn:aws:iam::account-id:user/username.

  2. Edite a política do bucket S3: Acesse o console do S3, vá até o bucket que você deseja configurar, clique em "Permissions" e depois em "Bucket Policy". Edite a política para incluir o ARN do usuário IAM na chave "Principal".

Aqui está um exemplo de como a política do bucket pode ficar:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::account-id:user/username"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::rmerces-labs2/*"
        }
    ]
}

Neste exemplo:

  • "Principal": {"AWS": "arn:aws:iam::account-id:user/username"}: Substitua account-id pelo ID da sua conta AWS e username pelo nome do usuário IAM.
  • "Action": "s3:GetObject": Permite que o usuário realize a ação de obter objetos do bucket.
  • "Resource": "arn:aws:s3:::rmerces-labs2/*": Especifica que a permissão se aplica a todos os objetos dentro do bucket rmerces-labs2.

Depois de salvar a política, apenas o usuário IAM especificado terá permissão para acessar os objetos do bucket.

Bons estudos!

Olá, Lucas! Desativei a opção Block all public access (permissões de acesso) e realizei o que me pediu, porém quando logo no usuário que eu criei e vou ao bucket tentar acessar a url do objeto, me retorna isso na página:

AccessDenied

Como posso solucionar?

Olá, Lucas! Desativei a opção Block all public access (permissões de acesso) e realizei o que me pediu, porém quando logo no usuário que eu criei e vou ao bucket tentar acessar a url do objeto, me retorna isso na página:

AccessDenied

Como posso solucionar?