【AWS】IAMユーザーとは?作成方法やRootユーザーとの違いなどを解説!

AWSを使い始めたばかりの方が最初に戸惑いやすいのが、「IAMユーザーって何?」という疑問ではないでしょうか?

この記事では『IAMユーザー』について、以下の内容を図を用いてわかりやすく解説します。

  • IAMユーザーとは?
    • 「IAMユーザー」と「Rootユーザー」の違い
    • Rootユーザーでしかできないこと
    • IAMユーザーを作成するメリット
  • IAMユーザーの作成手順

IAMユーザーとは?

IAM(Identity and Access Management)ユーザーとは、AWS内で作成できる「作業用のアカウント」です。

たとえば、こんなときにIAMユーザーを作成します。

  • チームのメンバーそれぞれに専用のアカウントを作りたい
  • ある人には「S3」だけ、別の人には「EC2」だけの操作を許可したい
  • 自動化ツールやアプリからAWSにアクセスさせたい

このようにIAMユーザーを使うと、「誰に何を許可するか」を細かく設定できます。そのため、必要な人にだけ必要な操作を許可できて、セキュリティも安心です。

「IAMユーザー」と「Rootユーザー」の違い

AWSアカウントを最初に作成したときに使ったメールアドレスとパスワードでログインするアカウントは「Rootユーザー」と呼ばれます。

このRootユーザーは、AWSのすべてを操作できる強力な権限(管理者権限)を持っています。たとえば、課金設定の変更や、他のユーザーの削除といった操作も可能です。そのぶん、操作ミスや乗っ取りのリスクも高く、万が一不正アクセスされると大きな被害につながります。

そのため、AWSではRootユーザーはなるべく使わず、必要な権限だけを与えた「IAMユーザー」という作業用アカウントで日常の操作を行うことが推奨されています。

RootユーザーとIAMユーザーの違いを以下にまとめます。

項目RootユーザーIAMユーザー
権限全権限(制限なし)必要な権限だけを設定できる
削除できるか削除不可削除可能
多要素認証設定強く推奨強く推奨
使用推奨原則使わない普段の作業で使う

Rootユーザーでしかできないこと

Rootユーザーにしかできない操作は、アカウントの大元に関わる重要な設定です。たとえば、次のようなものがあります。

  • AWSアカウントの解約
  • AWSアカウントのメールアドレスやパスワードの変更
  • クレジットカードなど支払い情報の変更・削除
  • サポートプラン(ベーシック、ビジネスなど)の変更

これらは、AWSの「管理者としての設定」にあたるため、IAMユーザーではできません。そのため、こうした特別な操作をするときだけRootユーザーを使い、日常の作業はIAMユーザーで行うのが基本ルール(ベストプラクティス)です。

IAMユーザーを作成するメリット

IAMユーザーを作成することで、AWSをより安全かつ便利に利用できるようになります。具体的には、次のようなメリットがあります。

  • 権限を細かく設定できる
    • 例えば、Aさんには「サーバーの作成・削除」だけの権限を、Bさんには「サーバーの中身を見る」だけの権限を付与できます。これにより、個々のユーザーに必要な権限だけを与えることができます。
  • 誤操作や不正を防げる
    • 必要最小限の権限を設定することで、うっかりサーバーを削除したり、悪意のある操作があった場合でも被害を最小限に抑えることができます。
  • 操作の記録が残る(ログ管理)
    • IAMユーザーが行った操作はCloudTrailなどで記録され、誰が・いつ・何をしたかが追跡できます。トラブルが起きた際に調査するのに役立ちます。
  • チームでの利用がスムーズ
    • 各メンバーに個別のアカウントと権限を割り当てることで、チーム全体で安全にAWSを利用できます。
  • 自動化もしやすい
    • IAMユーザーに「アクセスキー」を発行することで、プログラムからAWSを操作して自動化処理を行うことが可能です。

IAMユーザーの作成方法

IAMユーザーの作成方法について説明します。

まず、AWSマネジメントコンソールにログインし、上部の検索バーで「IAM」を検索して開きます。

IAMユーザーの作成方法01

左側のナビゲーションペインから「ユーザー」をクリックし、その後「ユーザーの作成」をクリックします。

IAMユーザーの作成方法02

以下のユーザーの詳細を指定し、「次へ」をクリックします。

  • ユーザー名
    • 任意のユーザー名を入力します(ここでは「test_user」とします)。
  • AWSマネジメントコンソールへのユーザーアクセスを提供する
    • チェックを入れます。
  • コンソールのパスワード
    • 「自動生成パスワード」にチェックを入れます。自動生成されたパスワードはIAMユーザーを作成した後に表示することができます。
    • パスワードを自分で設定したい場合はカスタムパスワードを選択します。
  • ユーザーは次回のサインイン時に新しいパスワードを作成する必要があります
    • チェックを入れます。
IAMユーザーの作成方法03

ポリシーを直接アタッチする」にチェックを入れます。許可ポリシーでは「AdministratorAccess」にチェックを入れます。その後「次へ」をクリックします。

IAMユーザーの作成方法04

「AdministratorAccess」はほぼ全てのAWSサービスにアクセス可能な「管理者権限」です。今回は練習用のためこのポリシーを使いますが、実務では必要最低限の権限だけを与えるのが安全です。

設定した内容が正しいことを確認して「ユーザーの作成」をクリックします(タグ項目がありますが、タグのユースケースは本記事では割愛します)。

IAMユーザーの作成方法05

ユーザーの作成が完了すると、以下の内容が表示されます。パスワードを確認できる画面はここだけなので、注意してください(csvファイルにダウンロードしておくことをおすすめします)。これらの内容を「csvファイルにダウンロード or メモ」して、「ユーザーリストに戻る」をクリックします。

  • マネジメントコンソールにログインするためのURL
    • https://アカウントID.signin.aws.amazon.com/console)
  • ユーザー名
    • 今回の場合は「test_user」
  • パスワード
    • 今回の場合は自動生成されたパスワード
IAMユーザーの作成方法06

【補足】「csvファイルをダウンロード」をクリックした場合

csvファイルをダウンロード」をクリックすると、以下に示すように、「マネジメントコンソールにログインするためのURL」、「ユーザー名」、「パスワード」が記載されたcsvファイルをダウンロードすることができます。

IAMユーザーの作成方法07

【補足】「Eメールでのサインイン手順」をクリックした場合

Eメールでのサインイン手順」をクリックすると、「マネジメントコンソールにログインするためのURL」と「ユーザー名」が記載されたメールを送信することができます。これは、作成したIAMユーザーの情報を誰かと共有する時などに使用します。なお、メールにはパスワードは記載されていないので、csvファイルをダウンロードしておくことをおすすめします。

IAMユーザーの作成が完了しました。

IAMユーザーの作成方法08

では、実際に今回作成したIAMユーザーでログインしてみましょう。マネジメントコンソールにログインするためのURLにアクセスし、「IAMユーザー名」と「パスワード」を入力し、「サインイン」をクリックします。

  • アカウントID: デフォルトのまま
  • IAMユーザー名: csvファイルの「ユーザー名」を入力
  • パスワード: csvファイルの「パスワード」を入力
IAMユーザーの作成方法09

今回、サインイン時に新しいパスワードを作成するように設定しましたので、パスワードのリセット画面が表示されます。古いパスワードと新しいパスワードを入力して、「パスワード変更の確認」をクリックします。

IAMユーザーの作成方法10

新しいパスワードを設定しました。次に、「サインインを続行」をクリックします。

IAMユーザーの作成方法11

IAMユーザーでログインすることができました。

IAMユーザーの作成方法12

本記事のまとめ

この記事では『IAMユーザーの作成方法』を説明しました。

IAMユーザーを作成することで、AWSをより安全かつ効率的に使うことができます。Rootユーザーは必要なときだけに使い、普段の作業はIAMユーザーで行いましょう。

少しでも参考になれば幸いです!お読み頂きありがとうございました。

スポンサーリンク