RitoLabo

AWS管理用のIAMユーザ作成とMFA(多要素認証)の導入

  • 公開:
  • 更新:
  • カテゴリ: AWS
  • タグ: AWS,Security,IAM,MFA

AWSを使おうとしてまずAWSアカウントを作成しますが、そのアカウントはいわゆる「rootアカウント」と呼ばれるものであり、そのアカウントに対して全ての権限を有する非常に強力なアカウントになります。普段の操作ではそこまでの権限は不要であり、意図しない誤操作を防ぐためにも、普段使いの管理アカウントは別に作っておくのが安全なAWS運用の基本となります。今回は、管理用のIAMユーザを作成し、MFAを設定するところまで行いたいと思います。

管理用のIAMユーザ作成

まずはIAMページを開きます。 画面左上の「サービス」をクリックし、サービスの一覧を表示させ、中央下部の「セキュリティ、アイデンティティ、コンプライアンス」にある「IAM」をクリックします。

IAMページを開く

「個々のIAMユーザの作成」を選択して、「ユーザの管理」ボタンをクリックします。

「個々のIAMユーザの作成」選択後「ユーザの管理」ボタンをクリック

この時点ではまだIAMユーザーは作成していませんので、一覧には何も表示されていませんね。左上にある「ユーザーを追加」ボタンをクリックします。

「ユーザーを追加」ボタンをクリック

任意のユーザ名を入力し、「AWS マネジメントコンソールへのアクセス」へチェックを入れて、「次のステップ:アクセス権限」ボタンをクリックします。

ユーザ名を入力

ここでいくつかこの画面の設定項目を説明しておきます。

アクセスの種類
「プログラムによるアクセス」にチェックを入れると、AWS API、CLI、SDK などの開発ツールで使用するアクセスキーとシークレットアクセスキーが発行されます。 現在作っているIAMユーザは管理用であり、この部分は使用しないのでチェックはしません。
コンソールのパスワード
「自動生成パスワード」「カスタムパスワード」を選ぶことができます。カスタムでも良いのですが、パスワードポリシーに従ってパスワードを設定する必要があるので少々手間です。 なのでここはひとまず、自動生成を選択しています。
パスワードのリセットが必要
今回の作業でIAMユーザが発行された後初めてのログインを行いますが、その時にパスワードを変更する手順を設けるかどうかの設定です。
例えば、自分以外の人にアカウントを発行する場合などに使いますが、今回は変更の必要がないので、チェックを外しています。

では次の画面へ進みましょう。

グループを作成して権限を設定する

権限設定の画面になったら、「グループの作成」ボタンをクリックします。

グループの作成画面

任意のグループ名を入力(管理用だとわかるネーミングがいいですね)し、ポリシータイプの一番上、「AdministratorAccess」にチェックを入れて「グループの作成」をクリックします。

グループの作成画面

ちなみに、ポリシータイプ「AdministratorAccess」は、管理権限になります。これを選ぶことで、このグループには管理者権限がフルで持てる事になります。

グループの作成が完了すると、以前の画面に戻り、先ほど作ったグループが表示されますので、チェックを入れ、「次のステップ:確認」ボタンをクリックします。

IAMユーザにグループを割り当てる

次へ進むと、確認画面が表示されるので、内容を確認して、「ユーザーの作成」ボタンをクリックします。

ユーザ作成確認画面

これで管理用のIAMユーザが作成されました。ただしまだ安心しないでください!

csvのダウンロード

左下にある「.csvのダウンロード」ボタンをクリックして、IAMユーザ情報を必ずダウンロードしましょう。
このCSVファイルには「ユーザ名」「パスワード」「コンソールURL」が記載されています。
ここでダウンロードしないともう取得できないので、パスワードがわからずログインできない!自体に陥ります。 そうなると、また作り直しなので忘れずにダウンロードしてください。

管理用のIAMユーザへMFAを導入する

次に、先ほど作成した管理用IAMユーザへ、MFAを導入していきます。
まずはIAMページを開きます。
画面左上の「サービス」をクリックし、サービスの一覧を表示させ、中央下部の「セキュリティ、アイデンティティ、コンプライアンス」にある「IAM」をクリックします。

IAMページを開く

IAMページへ移動したら、左側にあるナビゲーションから「ユーザー」をクリックします。

左側にあるナビゲーションから「ユーザー」をクリック

ユーザ一覧ページへ遷移しますので、先ほど追加した管理用IAMユーザーのユーザ名のリンクをクリックします。

管理用IAMユーザーのユーザ名のリンクをクリック

ユーザー概要が表示されますので、「認証情報」のタブをクリックします。

ユーザー概要画面

「MFA デバイスの割り当て:いいえ」のすぐ脇にあるペンのマークをクリックします。

ペンのマークをクリック

MFAデバイスタイプを選択するモーダルが表示されますので、「仮想MFAデバイス」にチェックを入れ、「次のステップ」ボタンをクリックします。

MFAデバイスタイプを選択

QRコードが表示されたら、モバイル端末のアプリを起動して読み込みを行い(アカウントの追加になります)、認証コードを入力してください。
「認証コード 1」「認証コード 2」両方とも入力を行ったら、「仮想MFAの有効化」ボタンをクリックします。

QRコードが表示されたら認証コードを入力

「MFA デバイスは正常に関連付けられました。」と表示が出たら、設定は完了です。

MFA デバイスは正常に関連付けられました

MFA導入確認

それでは、管理用IAMユーザーでログインして、MFAの導入確認を行ってみましょう。
一度rootアカウントをサインアウトしてから行います。IAMユーザ作成時にダウンロードしたCSVファイルに、ログイン用のURLがあるので、そこへアクセスし、必要情報を入力して「サインイン」ボタンをクリックします。

IAMユーザログイン画面

MFAコードの入力を求められますので、モバイルのアプリを起動させ表示されているMFAコード(6桁)を入力し、「送信」ボタンをクリックします。

MFAコード入力画面

マネジメントコンソールが起動したら無事にログイン完了です。
IAMユーザの作成も、MFAの導入も正常に完了です。

ログイン完了

まとめ

いかがだったでしょうか? rootアカウントとは別に管理用のIAMアカウントを作成し運用していく事、そしてrootアカウント、IAMアカウント共に、MFAの導入を行っていく事で、より安全なAWS運用を行っていけると思います。
少しの事でも気を配り、その積み重ねがセキュリティをより強固なものにしていくと思いますので、是非試してみてください。