AWSでIAMユーザーを作成する方法

awsのロゴ AWS

本記事ではAWSでIAMユーザーを作成する方法と、IAMユーザを作成する理由について解説します。現在ルートユーザーを使用して普段の作業を行っている方は新たにIAMユーザーを作成してIAMユーザーで作業をするようにしてください。

IAMユーザーとは

IAMユーザーとは何かという話ですが、AWSのドキュメントでは以下のように説明されています。

AWS Identity and Access Management (IAM) のユーザーとは、AWS で作成したエンティティのことです。IAM ユーザーは、AWS とやり取りするために IAM ユーザーを使用する人間のユーザーまたはワークロードを表します。AWS のユーザーは名前と認証情報で構成されます。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users.html

つまり、AWSを利用する際に使用するユーザーのことです。IAMユーザーの中には人間がログインして使用する代わりに、システムにIAMユーザーの認証情報を与えてシステムが利用する場合もあります。今回は人間がログインして使用することを想定して解説していきます。

IAMユーザの権限について

IAMユーザーを作成する目的について

IAMユーザーを作成する目的は、ユーザーごとに与える権限を変えることによって必要最低限の権限の付与でユーザーを管理することです。例えば、EC2インスタンスの情報を確認する必要があるが、EC2インスタンスの停止や削除は行わないユーザーがいるとします。そのユーザーにもEC2インスタンスの停止や削除の権限を与えてしまうと、誤って削除してしまう可能性が発生します。そういった可能性を防ぐために、このユーザーにはEC2インスタンスの参照権限のみを与えて、作成や削除をできないようにします。

IAMリソースについて

IAMの権限について理解するには、IAMユーザー以外のIAMリソースについて理解する必要があります。
IAMリソースは、主に以下の4種類あります。

  • ポリシー
  • ロール
  • ユーザー
  • ユーザーグループ
IAMポリシー

IAMポリシーはIAMリソースの最小単位です。IAMポリシーで権限を作成することができます。
基本的なポリシーはAWSによってあらかじめ用意されていますが、自分で作成することもできます。
以下はAWSが用意しているAmazonEC2ReadOnlyAccessというポリシーです。名前の通り、EC2インスタンスの読み取り権限のみを所有しています。
詳しくは解説しませんが、こちらのようなJSONファイルを記述することで自分でポリシーをカスタマイズすることもできます。

IAMロール

IAMロールはEC2インスタンスやLambdaなどのAWSリソースに権限を与える際に使います。IAMロールにIAMポリシーをアタッチすることによって、IAMロールに権限を付与することができます。そして、付与したIAMロールをEC2インスタンスなどのAWSリソースにアタッチすることによって、AWSリソースに権限を付与することができます。

IAMユーザー

上で解説した通り、AWSを利用する際に使用するユーザーのことです。IAMロールと同じようにIAMポリシーをIAMユーザーにアタッチすることで権限を付与することができます。
また、後述するIAMユーザグループに追加することで権限を付与する方法もあります。

IAMユーザーグループ

名前の通りIAMユーザーのグループを作成することができます。グループに権限を与えることができるので、個別のIAMユーザーに権限を与える必要なく、グループに所属させるだけで権限の制御が簡単にできます。多くの場合で、IAMユーザーに直接ポリシーをアタッチせずに、グループによる権限制御が採用されています。

実際にマネコンで作成してみた

今回は初めてAWSアカウントを作成したシナリオを想定して、ルートユーザを用いてAWSに関するすべての権限を持ったユーザを作成していきます。

IAMグループ作成

早速IAMユーザを作成!と行きたいのですが、先にユーザが所属するグループを作成します。ユーザに直接ポリシーをアタッチすることもできるのですが、グループにポリシーをアタッチすることで今後同じ権限を持ったユーザを作成したいときに、グループに追加するだけでよくなるので管理がしやすくなります。

それでは、実際にIAMグループを作成していきます。
まず、画面上部の検索窓で「IAM」で検索してIAMの管理画面に遷移します。その後、左ペインの「ユーザグループ」をクリックして、画像の画面に遷移し、「グループの作成」をクリックしてください。

「グループの作成」をクリックすると下の画面に遷移するのでユーザグループ名に英数字でグループ名を入力してください。今回はわかりやすく「AdministratorGroup」としています。
また、今回はまだユーザを作成していないのでユーザが表示されていないですが、ここでユーザをグループに追加することもできます。

画面の下の方に、「許可ポリシーを添付」という項目があるので、検索窓で「AdministratorAccess」と検索し、出てきたポリシーにチェックをつけてください。このポリシーはAWSが用意しているポリシーでAWSのすべてのリソースにアクセスすることができます。このポリシーは非常に強力で悪用された場合に危険なので、基本管理者以外にはつけない方がいいです。
アタッチしたいポリシーにチェックをつけ終わったら画面右下に「グループを作成」というボタンがあるのでクリックしてください。

下の画像のように、ユーザグループが作成されていれば成功です。

IAMユーザ作成

それではIAMユーザを作成していきます。左ペインの「ユーザ」をクリックして下の画面に遷移して「ユーザの作成」をクリックします。(画像ではすでにユーザが作成されていますが、気にしないで下さい…)

以下の画面に遷移するのでユーザ名に好きな名前を英数記号で入力します。今回はマネコンへのアクセスをするユーザを作成したいので、「AWSマネジメントコンソールへのユーザーアクセスを提供する」にチェックを入れます。
チェックを入れると「ユーザにコンソールアクセスを提供していますか?」と聞かれるので「IAMユーザを作成します」を選択します。AWSの推奨は「Identity Center」でユーザを指定する方法なのですが、少し複雑なので、今回はIAMユーザーを作成します。

「IAMユーザーを作成します」を選択すると、パスワードを設定する画面が出てきます。
自分で自分が使用するIAMユーザを作成する場合は「カスタムパスワード」を設定し、「ユーザは次回のサインイン時に新しいパスワードを作成する必要があります」のチェックを外す方法でも大丈夫です。そうすることでサインイン時にカスタムパスワードでサインインすることができます。
今回は、機能の紹介のために「自動生成されたパスワード」「ユーザは次回の…」にチェックを入れて作成していきます。こうすることで、サインイン時にユーザ自身がパスワードを設定することができるので、ユーザ作成者がパスワードを知ることなくユーザを作成することができます。

「次へ」を押すと下の画面に遷移するので、「ユーザをグループに追加」を選択して、先ほど作成したグループにチェックを入れます。こうすることで、ユーザグループにユーザを追加することができます。

「次へ」をクリックすると確認画面に遷移します。ここで設定した内容があっているかを確認します。赤枠で囲った「IAMUserChangePassword」というポリシーはパスワードを設定する際に「ユーザは次回の…」にチェックを入れた場合にアタッチされます。これは、ユーザ自身でパスワードを変えることができる権限を与えたものです。

「ユーザの作成」をクリックすると下の画面に遷移します。
「コンソールサインインURL」と「ユーザー名」は後から確認ができますが、「コンソールパスワード」はこの画面でしか確認ができないので、コピペするか「.csvファイルをダウンロード」をクリックしてcsvファイルとしてダウンロードしてください。

これでIAMユーザの作成が完了しました!!
ログインを確かめる場合は、サインアウトしてから再度サインインを行ってください。
下の画面で「IAMユーザー」を選択し、アカウントIDを入力してください。

「次へ」をクリックすると下の画面に遷移するので、「アカウントID」、「ユーザー名」に先ほど作成したIAMユーザー名、「パスワード」にコピペしたかcsvファイルで出力したパスワードを入力します。
これでマネコンの画面に遷移することができます!!

まとめ

本記事ではAWSでIAMユーザを作成する方法を紹介いたしました。ルートユーザの使用はセキュリティ的に問題があるので、使用している場合はすぐにIAMユーザを作成して使用するようにしましょう!!

コメント

タイトルとURLをコピーしました