AWS S3 Bucket Access from EC2

Preciso de ligar um balde S3 para que as minhas instâncias EC2 tenham acesso para guardar ficheiros de imagem. As instâncias EC2 precisam de permissões de leitura / escrita. Não quero tornar o balde S3 publicamente disponível, só quero que as instâncias EC2 tenham acesso a ele.

o outro gotcha é que as minhas instâncias EC2 estão a ser geridas pelo OpsWorks e eu posso ter várias instâncias a serem disparadas dependendo da carga/uso. Se eu fosse restringi-lo por IP, Eu posso nem sempre conhecer o IP as instâncias EC2 ter. Posso restringir pelo VPC?

Tenho de tornar o meu balde S3 activo para hospedagem estática de sites? Eu preciso fazer todos os arquivos no balde público, bem como para que isso funcione?

Author: hiddenicon, 2015-12-03

2 answers

Você não precisa fazer o balde legível publicamente, nem os arquivos legíveis publicamente. O balde e o seu conteúdo podem ser mantidos em privado.

Não restrinja o acesso ao balde com base no endereço IP, em vez de restringi-lo com base no papel IAM que a instância EC2 está a usar.

  1. crie um papel de exemplo IAM EC2 para as suas instâncias EC2.
  2. execute as suas instâncias EC2 usando esse papel.
  3. Dá a este IAM uma política para aceder ao balde S3.

Para exemplo:

{
  "Version": "2012-10-17",
  "Statement":[{
    "Effect": "Allow",
    "Action": "s3:*",
    "Resource": ["arn:aws:s3:::my_bucket",
                 "arn:aws:s3:::my_bucket/*"]
    }
  ]
} 
    Se quiser restringir o acesso ao balde em si, tente uma política de balde S3.

Por exemplo:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": ["arn:aws:iam::111122223333:role/my-ec2-role"]
      },
      "Action": "s3:*",
      "Resource": ["arn:aws:s3:::my_bucket",
                   "arn:aws:s3:::my_bucket/*"]
    }
  ]
}

Informação adicional: http://blogs.aws.amazon.com/security/post/TxPOJBY6FE360K/IAM-policies-and-Bucket-Policies-and-ACLs-Oh-My-Controlling-Access-to-S3-Resourc

 7
Author: Matt Houser, 2017-12-20 01:03:01

O papel IAM é a solução para ti.

Você precisa criar papel com a permissão de acesso s3, se a instância ec2 foi iniciada sem qualquer papel, você tem que reconstruí-lo com esse papel atribuído.

enter image description here

Ver: permitir que as operações da AWS actuem em seu nome

 1
Author: BMW, 2015-12-04 11:01:37