AWS / S3 - criar um usuário (por meio do console) para conceder perms de bucket de r / w para um bucket?

1

Eu tenho um bucket do Amazon Web Services S3 que eu quero usar com o aplicativo de sincronização de dados do Android ' FolderSync '.

Para isso, quero definir permissões permanentes no intervalo para um novo usuário.

No console de gerenciamento da AWS, posso criar o usuário, mas as únicas permissões relacionadas ao S3 que posso encontrar para atribuir a esse usuário são:

  • AmazonS3FullAccess ("Fornece acesso total a todos os intervalos por meio do AWS Management Console.")
  • AmazonS3ReadOnlyAccess ("Fornece acesso somente leitura a todos os buckets por meio do AWS Management Console".)

Nenhuma delas soa como o que eu quero (não quero acessar o console para esse usuário e não o quero para 'todos os intervalos').

Se eu não definir nenhuma permissão para esse usuário, recebo uma mensagem de aviso, mas, caso contrário, posso concluir a criação do usuário. Quando eu for para os grupos para atribuir direitos a esse usuário, o novo usuário não aparecerá na lista suspensa (como mostrado abaixo).

Deve haver uma maneira de fazer isso - alguém pode ajudar?

    
por glaucon 02.12.2016 / 03:48

2 respostas

0

O beneficiado pode ser uma conta da AWS ou um dos grupos predefinidos do Amazon S3. Para o seu caso, recomenda-se combinar a política do S3 e a política do IAM com o objetivo de proteger a segurança de seus ativos. Portanto, a concessão de acesso de usuário a um bucket s3 específico deve ser feita da seguinte maneira:

1- Vá para o serviço S3, selecione o seu bucket e edite a permissão: crie uma política personalizada como a seguinte:

{
"Version": "2012-10-17",
"Id": "S3-Account-Permissions",
"Statement": [{
  "Sid": "1",
  "Effect": "Allow",
  "Principal": {"AWS": [{"AWS":"arn:aws:iam::account-number-without-hyphens:user/username"]},
  "Action": "s3:*",
  "Resource": [
    "arn:aws:s3:::mybucket",
    "arn:aws:s3:::mybucket/*"
  ]
}]
}

2- Navegue até o serviço IAM e crie uma política personalizada. Veja como a política deve ser:

{
"Version": "2012-10-17",
"Statement": [
{
  "Effect": "Allow",
  "Action": [
    "s3:*"
  ],
  "Resource": "arn:aws:s3:::mybucket/",
  "Resource": "arn:aws:s3:::mybucket/*"
}
]
}

3- Anexe a política recém-criada ao seu usuário

    
por 20.12.2016 / 17:59
0

A política oferecida em outro comentário não permitirá listar os intervalos nem no console do S3 nem em outros aplicativos que possam mostrar arquivos em intervalos. Esta é uma política do IAM que permite que um usuário acesse apenas um intervalo especificado e restrinja todo o resto.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::bucket",
                "arn:aws:s3:::bucket/*",
            ]
        },
        {
            "Effect": "Deny",
            "NotAction": "s3:*",
            "NotResource": [
                "arn:aws:s3:::bucket",
                "arn:aws:s3:::bucket/*"
            ]
        }
}
    
por 29.12.2016 / 22:34