Acesso anônimo ao bucket S3 somente das instâncias do EC2

2

Existe uma maneira de permitir o acesso anônimo a um determinado bucket S3 apenas de minhas instâncias do EC2 (todas elas) em uma única conta da AWS?

  1. Eu sei que posso usar os papéis do IAM, mas descobri que são partes móveis em excesso e complica qualquer script que precise usar a chave de acesso / segredo (por exemplo, reescrever linhas do / etc / apt / * quando alterar). Sem mencionar que não há como anexar funções a instâncias existentes, o que torna ainda mais doloroso.

  2. Também não é possível simplesmente restringir o acesso usando a sub-rede VPC, porque o acesso ao bucket do S3 passa pela interface pública do EC2.

por Alex B 22.01.2014 / 14:17

2 respostas

2

Sim, você anexou uma política de bucket ao bucket da seguinte forma:

{
   "Version":"2012-10-17",
   "Statement":[{
         "Sid":"AddCannedAcl",
         "Effect":"Allow",
         "Principal": {
            "AWS": ["arn:aws:iam::111122223333:root"]
         },
         "Action":[
            "s3:GetObject",
            "s3:GetObjectAcl"
         ],
         "Resource":["arn:aws:s3:::bucket/*"]
      ]
   }]
}

onde 111122223333 é o ID da sua conta

    
por 22.01.2014 / 22:23
2

Desde então, a AWS adicionou endpoints da VPC para acesso ao S3, você pode ler sobre o novo recurso no blog da AWS:

EC2 instances running in private subnets of a VPC can now have controlled access to S3 buckets, objects, and API functions that are in the same region as the VPC. You can use an S3 bucket policy to indicate which VPCs and which VPC Endpoints have access to your S3 buckets.

Espero que ajude,

Aaron

    
por 03.07.2015 / 18:16