多要素認証とは
一般的なユーザID、パスワード以外の第三の情報と合わせて認証する仕組み。
詳しくはこちらを参照
AWSコンソールのユーザについて
AWSコンソールの管理ユーザの位置づけには以下の二つがある
・ルートユーザ:
文字通り、root権限を持った最上位のユーザアカウント
・IAMユーザ
ルートユーザが作成した運用上の管理者アカウント
IAMユーザ権限で基本的な作業を行い、何か問題があったり、IAMユーザの権限を操作したい場合にルートユーザを利用する環境が望ましい。
ルートユーザはAWS契約をするときのメールアドレス、パスワードでログイン可能なため、まずはIAMユーザの作成について記載。
IAMユーザの作成
詳細な手順はこちらを参照
作成イメージは以下の通り
①ユーザを作成
②作成したユーザに対してロールを割り当てる
※ロールは既存のロールでも自分で作成しても問題ない
ここでは自分で作成してイメージをつかむ。
③ロールを作成し、何を許可したいかポリシーを決める
ロールとポリシーの関係は以下のイメージ
※AmazonSSMManagedInstanceCoreについて
上記のポリシーを許可することで、ざっくりEC2とS3にはフル機能を操作できる
作成したIAMユーザを多要素認証(MFA)できるようにする
IAMダッシュボードを開くと以下のような画面が表示されているはずだ。
筆者は既にrootユーザに対してMFA化しているため、rootユーザにはエラーは表示されていない
ここではスマートフォンのアプリ(Google)を第三の認証情報として記載する
①Google Authenticatorをスマホにインストール
②"MFAを追加"→"MFAデバイスの割り当て"→"QRコードの表示"をクリック
③Google Authenticatorを起動し、QRコードを読み取る
④スマホの画面上に、ランダムな6つの数字が表示される
⑤その数字をMFAコード1と、MFAコード2に入力する
※MFAコード2には30秒後の別のランダムな数字6桁を入力する
⑥MFA割り当てで完了
これで、AWSコンソールログイン時にユーザID、パスワード、自分のスマホの6桁の数字という3つの要素で認証できるようになる。