⚙️

5分でわかる!AWS IAM入門!

2023/10/07に公開

はじめに

AWSのIAMについて説明します。
初学者向け、またはこれから学びたいと思っている方向けの記事となります。

IAMとは?

IAM (Identity and Access management) とは、AWSにおいてユーザーとグループを管理するためのサービスです。アイアムと読みます。

AWSアカウントを作成する際、Eメールアドレスとクレジットカード情報を登録することになります。そのときに作成されるアカウントをルートユーザーといいますが、非常に強力な権限を持っています。
そのため、セキュリティの観点からもう少し弱い権限のアカウントを作成し、そのアカウントで必要最低限のサービスを利用できるような仕組みがあればより安全になります。それを実現する仕組みが IAM です。

最小権限の法則

AWSのベストプラクティスとして、最小権限の法則という定義があります。
前述のとおり、ルート権限や不必要な権限が割り当てられている場合、想定外の出来事が起こる可能性があるため、その人(サービス)に必要な権限だけ割り当てるということです。

IAMユーザー

AWSで利用できるアカウントです。ルートアカウントは基本使わず、こちらのアカウントを利用します。

IAMグループ

IAMユーザーをグループ分けする機能です。グルーピングによって得られるメリットは、権限を割り当てやすくなることです。ユーザーひとりひとりに権限を割り当てるより、グループに対して権限を割り当てることにより、管理が楽になるメリットがあります。

IAMポリシー

誰が何を実行できるのかを設定する機能です。
IAMユーザーやIAMグループに対して関連付け(アタッチ)することにより、誰が何を実行できるのかということを制御します。

IAMロール

プログラムやサービスに割り当てる権限となります。

ハンズオン

それでは早速IAMユーザーを作成してみましょう。
前提として、AWSアカウントを作成後、ルートユーザーでログインをします。

AWSのテーマ変更

右上の歯車マークから、テーマ(背景色)を選択できます。
ライトモード、ダークモードが選択できます。ブラウザの拡張機能でテーマを変えるのもよいでしょう。まずは学習しやすい環境を整えます。
ちなみに私はダークモードを選択していますが、ブラウザの拡張機能でダークモードをONにもしています。

IAMユーザーをつくろう!

それでははじめます。

まずは検索ボックスで「IAM」と入力します。画面にIAMが表示されるのでクリックします。

画面左のメニュー「ユーザー」をクリックし、「ユーザーの作成」をクリックします。

ユーザー名を入力します。ここでは「my-first-user」と入力します。
「IAMユーザーを作成します」を選択し、任意のパスワードを入力します。入力後は次へをクリックします。(キャプチャではパスワード再設定にチェックが入っていますが、学習のため外してOKです。)

IAMグループを作成します。「グループを作成」をクリックします。

グループ名を入力します。ここでは「Administrators」と入力します。その後、リストの一番上にある「AdministratorAccess」を選択し、「ユーザーグループを作成」をクリックします。

「次へ」をクリックします。

「ユーザーの作成」をクリックします。

ユーザーが作成されます。

ユーザー名をクリックします。

作成したユーザーの情報を確認することができます。グループ情報やタグ情報等も確認可能です。

エイリアスを変更しよう!

画面左の「ダッシュボード」をクリックします。そうすると画面右に「サインインURL」が表示されますが、数字が表示されていて直感的ではありません。わかりやすくするためにエイリアスを設定します。
アカウントエイリアスの「作成」をクリックします。

エイリアスを入力し、「エイリアスを作成」をクリックします。

一度サインアウトをし、再度サインインをしましょう。
作成したエイリアスとIAMユーザーを入力します。

無事、IAMユーザーでログインできました。

今回は説明していませんが、MFAを設定しておくとより安全に利用できるかと思います。

ルートアカウントの解約

不要になったAWSアカウントの削除についてです。※IAMユーザーの削除ではありません。

画面右上のメニューをクリックし、「アカウント」を選択します。

画面を下までスクロールし、「アカウントを閉じる」をクリックします。

解約後、サインインをすると以下のような画面になります。

さいごに

以上、IAMについて簡単な解説でした。

EC2についてはこちら。
https://zenn.dev/collabostyle/articles/14b36ca9dda656

コラボスタイル Developers

Discussion