「ハンズオンはじめの一歩: AWS アカウントの作り方 & IAM 基本のキ」を試してみた

AWS Hands-on for Beginners

AWS Hands-on for Beginners」は2020年3月13日に収録された手を動かしながらAWSの各サービスを学習することのできるハンズオン動画コンテンツです。

AWSの学習を始めたいな、でも何から始めればいいのやら…と迷っていたところ、ブログメンターのカックさんから「公式でこういうハンズオンがある」ということを教えていただいたため早速手をつけてみることにしました。

aws.amazon.com

ハンズオンはじめの一歩: AWS アカウントの作り方 & IAM 基本のキ

1番初めのコンテンツは、8ステップでAWSアカウントの作成IAM知識を習得していく作りとなっています。

前提知識の座学と手を動かしながら実際にサービスを扱ってみるハンズオンが交互に入ってくるので、非常にわかりやすく学習することができました。

今回のハンズオンに出てくる用語のまとめ

復習の意味も込めて今回のハンズオンに出てくる用語を簡単にまとめておきます。

IAM:AWSにおける認証の仕組み。AWSは複数のサービスを利用することになるためアクセス権を管理するために必要となる。

IAMユーザー:人に対して与えるIAM。必要最低限の権限をつけて必要な人だけに渡すのが基本運用となる。

IAMロール:サービスやプログラムに与えるIAM。サービスからサービスにアクセスする場合などに使用する。

IAMグループ:ユーザをグループ化する事ができる。グループに対してIAMを与えることで権限を一括管理できる。

IAMポリシー:アクセス権限の定義を行うJSONドキュメント。ユーザー、グループ、ロールに紐付けする。

動画8ステップ

公式のものから各ステップのタイトルを抜き出してみます。
✋のマークがついているものに関しては、ハンズオンで学習する項目となっています。

f:id:osushi_engineer:20200702033308p:plain

各ハンズオンで学んだことまとめ

→アカウントを作成してみる✋(06:45)

動画に沿ってアカウントを作成する。メルアド、電話番号、カード情報があればOK。

→IAMユーザーを作成する✋(12:01)

管理者権限を持ったIAMユーザーを作成する。
管理者権限リソースを持っているので、たとえばS3でバケットを作成する事ができることを確認する。

上記と同じ要領でRead権限のみ持ったIAMユーザー、何も権限を持たないIAMユーザーを作成し管理者権限IAMユーザーで作成したS3バケットを確認する。

f:id:osushi_engineer:20200702031022p:plain

権限の種類によってバケットの表示、作成の可否が切り替わる

Read権限のみ持ったIAMユーザーではバケットをみることはできるが、バケットの作成はできない。何も権限を持たないIAMユーザーではバケットをみることもできないという事がわかり、IAMユーザーによる認証が行えていることがわかった。

→IAMポリシーとIAMグループを作ってみる✋(12:33)

開発者用のIAMポリシーという想定で、EC2の独自ポリシーを作成する。インフラ担当用のポリシーが別に存在し、インフラ担当は新しくEC2のインスタンスを立ち上げられるが開発者にはその権限がなく、インスタンスの一覧表示とインスタンスのStop/Startのみが行えるという運用想定である。


独自ポリシーについては、AWS Policy Generatorというサービスを利用して作成した。

awspolicygen.s3.amazonaws.com

ポリシーについては「ポリシーの作成」において先ほど作成したJSONを設定することで作成できる。

f:id:osushi_engineer:20200702031506p:plain

開発者用のアカウントにログインしEC2を確認し、アクションでStop/Startを試すとアクションの実行が可能なこと、しかしインスタンスの作成に関しては(権限を与えていないので)できないということがわかった。

→IAMロールを試してみる✋(06:58)

EC2にIAMロールを付与しコマンドラインを使ってインスタンスの一覧表示ができるかどうかを試してみる。

最初はIAMロールに権限を付与しない状態でEC2からコマンドラインを叩く→権限がないのでインスタンスの表示ができません。

次にIAMロールに適切な権限を付与してEC2からコマンドラインを叩く→インスタンスの一覧が表示される。

f:id:osushi_engineer:20200702031717p:plain

IAMロールに適切な権限を与えずにインスタンスの参照を行おうとすると、エラーとなる

この2つを試すことにより、IAMロールがサービスやプログラムに権限を与えていることがわかった。

 

Next Action

今回AWS Hands-on for Beginnersを試してみることにより、AWS学習の一歩を効率よく進めることができた。

f:id:osushi_engineer:20200702032317p:plain

Step8ではオススメのNext Actionについても語られている

AWSにはたくさんのサービスが存在し何から始めるかというので迷ってしまっていたので、公式でハンズオン動画やルートを設定していただいているのは非常に助かる。

私は現在スケーラブルとサーバーレス編に興味を持っているので今後もどんどん学習を進めていきたい。

参考

今回記事を書くにあたり補足として以下の本を参考にさせていただきました

amzn.to

AWSのS3については以下の記事でも触れています

osushi-engineer.hatenablog.com