Назад | Перейти на главную страницу

Анонимный доступ к корзине S3 только из моих экземпляров EC2

Есть ли способ позволить анонимный доступ к определенной корзине S3 только из моих экземпляров EC2 (всех из них) в одной учетной записи AWS?

  1. Я знаю, что могу использовать роли IAM, но я обнаружил, что это слишком много движущихся частей и усложняет любые сценарии, которые должны использовать ключ доступа / секретный ключ (например, переписывание строк / etc / apt / * при его изменении). Не говоря уже о том, что нет возможности прикрепить роли к существующим экземплярам, ​​что еще больше усложняет задачу.

  2. Также невозможно просто ограничить доступ с помощью подсети VPC, поскольку доступ к корзине S3 осуществляется через общедоступный интерфейс EC2.

С тех пор AWS добавила конечные точки VPC для доступа к S3, вы можете прочитать о новой функции в блоге AWS: https://aws.amazon.com/blogs/aws/new-vpc-endpoint-for-amazon-s3/

Экземпляры EC2, работающие в частных подсетях VPC, теперь могут иметь контролируемый доступ к сегментам S3, объектам и функциям API, которые находятся в том же регионе, что и VPC. Вы можете использовать политику корзины S3, чтобы указать, какие VPC и какие конечные точки VPC имеют доступ к вашим корзинам S3.

Надеюсь, это поможет,

Аарон

Да, вы прикрепили политику корзины к корзине следующим образом:

{
   "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/*"]
      ]
   }]
}

где 111122223333 это идентификатор вашей учетной записи