前回の記事に続き、実際に管理者IAMユーザーを生成してみる。生成した管理者IAMユーザーは、Rootユーザーと同じくAWSサービスを管理するために使用できる。
管理用IAMユーザー作成
IAMユーザー作成画面に移動
上段のナビゲーションバーでIAMを検索し、IAMダッシュボードを開く。
そして、左側のUsersをクリックしてAdd Usersを通して、IAMユーザー追加を開始する。
管理者の役割をするユーザーを追加するため、User nameを[Administrator]と入力し、access typeは[Password - AWS Management Console access]を選択して、AWSのウェブページからログインできるようにする。パスワード設定は自由にしてもかまいませんが、できれば以下のイメージのように設定してIAMユーザーがログイン時にパスワードを変更するように設定する。
グループ作成およびポリシー権限(Policy)の設定
Next: Permissionsをクリックして次のページに移動し、Create groupでAdministrators]と名前を設定する。権限はすべてのサービスおよびリソースにアクセス可能な管理用IAMユーザにするために、Administrator Accessポリシーをチェックしてグループを生成する。
グループ作成が完了したら、Next:Tagsをクリックして次のページに
次はタグの追加画面が表示されるが、必須事項ではないため、Next:Reviewをクリックして進む。
IAMユーザー作成完了
Reviewページを通じて上記のユーザー名とグループ名を確認することができ、確認後に問題なければCreate userでIAMユーザー作成を完了する。以下のようにSuccessが出れば、ユーザー作成が完了。そして、成功メッセージともに与えられたログインURLを通じて、IAMユーザーログインができる。このように生成されたIAMユーザー情報は.csvファイルをダウンロードして共有したり、Send mailでIAMユーザーに伝達することができる。
Account Alias設定
ログインURLは基本的に12桁のAWSアカウントIDに設定されているが、別にAccount Aliasを設定してより簡単にログインURLを使用できる。IAM dashboardの右側にAWS Accountという項目があり、Account AliasのCreateでAliasを指定することができる。このようにAliasを設定すると、会社で環境別にAWSリソースを管理する際にBookmarkを通してより簡単にアクセスできる。
新しい管理者IAMユーザーとしてログイン
渡されたIAMユーザー情報とログインURL
- Account Alias未設定 : http://${12桁のアカウントID}。signin.aws.amaz on.com/console
- Account Alias設定 : https://${自分のAlias}.signin.aws.amazon.com/console
を通じてログインする。そして、最初のログインを実施すれば、自動的にパスワードを変更しろという案内メッセージが出る。
MFA設定
このように生成された管理用IAMユーザーは、安全なログインのために2重認証のためにMFA設定を行うことを推奨(管理用IAMユーザーだけでなく、Rootユーザー、その他開発者用IAMユーザーにもすべて設定することが望ましい)。MFA設定とはスマートフォンまたはその他のデバイスを通じてT-OTP(時間基盤の使い捨て暗号)を発給し、これを通じて2次認証をすることを意味する。様々なOTPアプリがあるが、私がお勧めするのは以下の3つがある。
どのアプリを使っても大きな問題にはならないため、自分の環境に合った適切なOTPアプリの使用を推奨(本稿ではStep Twoを使用するが、ブラウザで手軽に使用したい場合は、Chrome extenstionが無難)する。MFA設定はIAM dashboardにあるAdd MFAをクリックして設定できる。
スクロールを少し下げると、Multi-factor authentication(MFA)項目があり、Assign MF AdeviceのVirtual MFAdeviceをクリックして登録を進めてくれる。
登録が完了するとOTPアプリにT-OTPが生成され、これを2回に分けてMFA code1、2に入力した後、Assign MFAをクリックすると設定が完了。
このように生成された管理者IAMユーザアカウント(Administrator Accessポリシーを持つAdministratorsグループに属しているため、Rootユーザと同様にIAMユーザ管理およびAWSリソース使用、一部特別な場合を除く)ができる。そのため、チーム員にこのIAMユーザーを全て共有するよりは、アカウント所有者になる本人が使用することをお勧めする。