Как получить доступ к содержимому корзины s3 через шаблон облачной информации? - PullRequest
0 голосов
/ 01 февраля 2019

В настоящее время я настроил S3 Bucket с одним файлом в нем.У меня также есть шаблон облачной информации, который раскручивает экземпляр ec2 с ролью IAM, которая, по моему мнению, предоставляет доступ к этому S3 Bucket.Как именно я могу получить доступ к этому файлу в моем экземпляре ec2?Я хотел бы, чтобы этот файл присутствовал в экземпляре сразу после завершения развертывания стека.

1 Ответ

0 голосов
/ 02 февраля 2019

Вам необходимо прикрепить роль к вашему экземпляру.Вот пример

AWSTemplateFormatVersion: '2010-09-09'
Description: Attach IAM Role to an EC2
Resources:
  Test:
    Type: AWS::EC2::Instance
    Properties:
      InstanceType:
        Ref: InstanceType
      IamInstanceProfile:
        Ref: ListS3BucketsInstanceProfile
  ListS3BucketsInstanceProfile:
    Type: AWS::IAM::InstanceProfile
    Properties:
      Path: "/"
      Roles:
      - Ref: ListS3BucketsRole
  ListS3BucketsPolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: ListS3BucketsPolicy
      PolicyDocument:
        Statement:
        - Effect: Allow
          Action:
          - s3:List*
          Resource: "*"
      Roles:
      - Ref: ListS3BucketsRole
  ListS3BucketsRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
        - Effect: Allow
          Principal:
            Service:
            - ec2.amazonaws.com
          Action:
          - sts:AssumeRole
      Path: "/"

ListS3BucketsInstanceProfile принимает роль: ListS3BucketsRole.
ListS3BucketsPolicy присоединен к ListS3BucketsRole, что позволяет роли перечислять все объекты s3.

С этим ваш экземпляр EC2 может перечислить файлы на S3

...