0
0

More than 3 years have passed since last update.

AWS CLIでEC2のIAMRole作成方法

Last updated at Posted at 2021-05-22

CLIでEC2のIAMRoleを作成する際に初心者がハマったポイントの備忘録です。
AWSの公式ドキュメント以外に記事があまり見当たらなかったので、まとめてみました。

コンソールとCLIの違い

CLIでEC2のIAMRoleを作成するにあたって、最初は以下の手順で作成しようとしてました。
Policy作成
Roleの作成
RoleにPolicyをアタッチ

作成時にエラーが出てきて困惑。。。

A client error (MalformedPolicyDocument) occurred when calling the CreateRole operation: Has prohibited field Resource

調べてみると、インスタンスプロファイルを意識しないとCLIでは作成できないっぽい
コンソールでの作成では自動的にインスタンスプロファイルが作成されるとのこと。

インスタンスプロファイルも知らなかったので、調べました。
(知らないことが多すぎる、、、)

作成するIAMRoleはEC2のRoleだよと関連づけるものがインスタンスプロファイルなのだと理解。

CLIでIAMRole作成リベンジ

Policy作成

aws iam create-policy --policy-name hoge-policy --policy-document file://hoge-policy.json --describe "hoge"

Role&EC2の信頼関係作成

aws iam create-role --role-name hoge-role --assume-role-policy-document file://ec2-assume.json

Policyのアタッチ

aws iam put-role-policy --role-name hoge-role --policy-name hoge-policy --policy-document file://hoge-policy.json

インスタンスプロファイルの設定
(インスタンスプロファイル名とロール名が一致しないとエラーになるとの噂も)

aws iam create-instance-profile --instance-profile-name hoge-role
aws iam create-instance-profile --role-name hoge-role --instance-profile-name hoge-role

ここまでコマンドを実行すれば、EC2のIAMRoleが作成できてました!

感想

コンソールで作成できる簡単さに感激した。
記事にして自分のやったこと見直したけど、最初のPolicy作成いるのかな?
Role作成時にPolicyも作っている気がしてきた・・・

参考ページ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0