BETA

CloudFormationでEC2にIAMロールを付与する

投稿日:2019-03-17
最終更新:2020-09-19

CloudFormationで作成したEC2から「S3の特定バケットに対してアクセス可能にする」のが今回やりたいことです。
テンプレートファイルに「S3の特定バケットに対してアクセスを許可する」IAMロールを作成しEC2に付与しました。

4 Step

テンプレートファイルに以下の4項目を追記します。

  1. IAMロールの記述
  2. IAMポリシーの記述
  3. IAMインスタンスロールの記述
  4. EC2インスタンスにIAMインスタンスロールを付与

1. IAMロールの記述

IAMユーザーと似ていますが異なる点があります。

  • IAMユーザーはにアクセス権限を付与
  • IAMロールはAWSリソースにアクセス権限を付与

今回アクセス権限を付与したいのはEC2ですので、IAMロールを使用します。

  S3AccessRole:  
    Type: "AWS::IAM::Role"  
      AssumeRolePolicyDocument:  
        Version: "2012-10-17"  
        Statement:   
          -   
            Effect: "Allow"  
            Principal:   
              Service:   
                - "ec2.amazonaws.com"  
            Action:   
              - "sts:AssumeRole"  
      Path: "/"  

2. IAMポリシーの記述

アクセス権限の具体的な内容は、IAMポリシーに記述します。
Roleに先程記述したIAMロールを指定します。

<bucketname>は実際のバケット名に置き換えます。

  S3AccessPolicies:  
    Type: AWS::IAM::Policy  
    Properties:  
      PolicyName: s3access  
      PolicyDocument:  
        Version: '2012-10-17'  
        Statement:  
        - Effect: Allow  
          Action:  
            - "s3:ListAllMyBuckets"  
            - "s3:GetBucketLocation"  
          Resource: "arn:aws:s3:::*"  
        - Effect: Allow  
          Action: "*"  
          Resource:  
            - "arn:aws:s3:::<bucketname>"  
            - "arn:aws:s3:::<bucketname>/*"  
      Roles:  
      - !Ref S3AccessRole  

3. IAMインスタンスプロファイルの記述

EC2インスタンスとロールを紐づけるのに、IAMインスタンスプロファイルを記述します。

  S3AccessInstanceProfile:  
    Type: AWS::IAM::InstanceProfile  
    Properties:  
      Path: "/"  
      Roles:  
      - !Ref S3AccessRole  

4. EC2インスタンスにIAMインスタンスロールを付与

EC2インスタンスにIAMインスタンスプロファイルを付与します。

  Instance:  
    Type: 'AWS::EC2::Instance'  
    Properties:  
      IamInstanceProfile:  
        !Ref S3AccessInstanceProfile  

参考

AWS::IAM::Role - AWS CloudFormation
やーまんぶろぐ

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

役に立つことから立たないことまで日々のアウトプットを綴る

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう