AWSのMFA認証設定とIAMユーザー作成

AWSでの2段階認証を行うための設定についての備忘録です。

まず、アカウントを作成した後、MFA(Multi-Factor Authentication)の設定を行います。
MFAはユーザー名とパスワードによる認証に加えて、2要素認証を行う仕組みです。
この設定は、悪意を持った第三者からの不正ログインを防ぐことなどが目的です。
MFAには仮想MFAデバイスとハードウェアMFAデバイスの2種類があり、仮想MFAデバイスはスマートフォンなど(PC用ソフトもあるらしい)にインストールし、使用します。
ハードウェアMFAデバイスはGemalto社製の物理デバイスを購入して利用します。
私は仮想MFAデバイスとして、iPhoneにGoogle Authenticatorをインストールしました。

AWSマネジメントコンソールへログイン
AWSマネジメントコンソールへログインしたら、メニューバーのアカウント名をクリックしてマイセキュリティ資格情報を選択します。

つづいて、表示された画面から “多要素認証” を選択し、”MFAの有効化” ボタンをクリックします。


MFAデバイスの管理ダイアログが表示されますので、仮想MFAデバイスを選択し、”続行”ボタンをクリックします。

仮想MFAデバイスを起動して、認証コード1、2を設定します。”MFAの割り当て”を選択し、正常設定されたことを確認します。

これで設定は完了しましたので、一度サインアウトして、再度サインインして問題がないかを確認します。
サインイン時には仮想MFAデバイス(私の場合iPhoneのAuthenticator)を起動してパスワードログインした後、要求されるMFAコードに、Autenticatorで表示されるコードを入力します。

IAMユーザ-の作成
続いてIAMユーザ-(ユーザーアカウント)の作成を行います。
実際のAWSの操作ではAWSアカウントは使用しません。
AWSアカウントはUNIXなどのrootアカウント的な位置づけでしょうか、通常の操作はこれから設定する、IAMアカウントを使用します。

AWSマネジメントコンソールでサインインします。

表示された画面のメニューバーの”サービス”をクリック後、”IAM”をクリックします。
続いて、ダッシュボードでユーザーを選択し、”ユーザー追加” ボタンをクリックします。
必要事項を入力後、”次のステップ:アクセス権限”をクリックします。

ユーザーをグループに追加を選択し、”グループ作成” ボタンをクリックします。
グループ名を入力し”グループの作成”ボタンをクリックします。

作成したグループを再度選択し、ユーザーを作成します。

続いて、タグを作成します。
タグは、例えば一時的にあるプロジェクトを立ち上げた場合などにその担当者だけで管理したい場合などを想定して作成するものだと思っています。
これはまだ確証があるものではないので、確認が取れ次第ご報告しますということで、許してください。

必要事項を入力して、”次ステップ:確認”をクリックします。
内容を確認して、”ユーザー作成”ボタンをクリックします。
アクセスキーID、シークレットアクセスキーは後々必要となってくるものですので、csvダウンロードするなどして大切に保管し、他人には公開しないようにしてください。
続いて、アクセス権限のポリシーを追加します。
ポリシーにはAWS管理ポリシーとカスタマー管理ポリシーがあります。
AWS管理ポリシーは非常に便利な機能ですが、AWSが自動で更新するため、アカウントの厳密な管理という意味では難があります。
そこで、カスタマー管理ポリシーを利用します。
IAMのダッシュボードから、ポリシーを選択後、”ポリシーの作成”ボタンをクリックします。
カスタマー管理ポリシーですが、既存のAWS管理ポリシーをコピーすることができます。
ここでは、AWS管理ポリシーの”AdoministratorAccess”をコピーします。
“AdministratorAccess”を選択し、”インポート”をクリックします。
複写されたことを確認します。”ポリシーの確認”ボタンをクリックします。
ポリシーの名前と説明を入力し、”ポリシーの作成”ボタンをクリックします。
うまく作成されたようです。ポリシー一覧の2行目に表示されています。
続いて、作成したポリシーをIAMグループに付与したいと思います。
IAMダッシュボードから、グループを選択し、一覧のグループ名から該当するグループ名を選択します。
表示された画面でアクセス許可タグを選択し、”ポリシーのアタッチ”をクリックします。
先ほど作成したカスタマー管理ポリシーを選択し、”ポリシーのアタッチ”をクリックします。
IAMグループにポリシーが付与されたようです。
IAMダッシュボードでユーザーを選択し、一覧から該当ユーザー名をクリックします。
ポリシーが設定されていることを確認します。
ダッシュボードを開くと、IAMパスワードポリシーの適用だけがチェックされていません。
IAMパスワードポリシーの適用を選択し、”パスワードポリシーの管理”ボタンをクリックします。
ダッシュボードでアカウント設定を選択し、”パスワードポリシーを設定する”ボタンをクリックします。
パスワードポリシーを設定し、”変更の保存”ボタンをクリックします。
パスワードポリシーが更新されたことを確認します。
ダッシュボードの項目がすべてチェックされています。
注意が必要なのは、この一連の作業では、IAMアカウントにはMFAは設定されていません。
MFAを設定する場合はAWSアカウントと同様の設定を行う必要があります。
これでやっとAWSの準備作業が終わった???