AWS: AWS入門(IAM編2) - 多要素認証(MFA)を設定してみる

###### 実施環境

 Microsoft Edge 124.0.2478.67 (64bit)
 iOS 16.7.7
 Google Authenticator バージョン 4.1.1

### 0. 概要

前回、 IAM でユーザーを作成しました。
通常、ユーザーのサインインにはパスワードを使用しますが、認証に使用するのがパスワードだけだと、パスワードが漏洩した場合に不正なサインインを許すこととなります。

セキュリティをより強固なものとするために、 AWS では MFA を利用することができます。
今回は、作成したユーザーについて、認証アプリを用いた MFA を適用してみます。
利用できる認証アプリは以下の Web サイトを参照してください。

https://aws.amazon.com/jp/iam/features/mfa/

今回は認証アプリとして、 Google Authenticator を使用します。

![WS000464.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/fe3cf924-3b5e-8327-4212-1d255452ec05.jpeg "0_01")

なお、最新の操作方法は以下の AWS 公式ドキュメントを参照してください。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html

### 1. MFA とは

多要素認証( Multi-Factor Authentication , MFA )とは、複数の認証方法を組み合わせて認証を行うことで安全性を高める手法です。
ただし、同じ種類の認証方法を組み合わせても MFA にはなりません。
異なる種類の認証方法を組み合わせる必要があります。

認証方法の種類には以下の 3 種類があります。

* 知識情報：パスワードや秘密の質問など、必要な情報を知っているかを問うもの
* 所持情報：乱数表や IC カードなど、必要な物体を持っているかを問うもの
* 生体情報：指紋や虹彩など、身体的特徴を利用したもの

例えば「パスワード」は知識情報、「 IC カード」は所持情報なので、この 2 つを組み合わせた場合は MFA となります。
一方、「パスワード」と「秘密の質問」の組み合わせだと、両方とも知識情報なので MFA ではありません。

:::note info
認証方法の種類が同じかどうかを問わずに複数の認証方法を組み合わせる場合は、「二段階認証」などと呼ばれます。
:::

今回設定する MFA は、「パスワード」 = 知識情報と「認証アプリによるワンタイムパスワード」 = 所持情報による MFA となります。

### 2. MFA の設定

まずは、ユーザ一覧で MFA を設定したいユーザーをクリックします。

![WS000458.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/b3b6bcf0-1ea4-53e6-1871-c0eec284f6f4.jpeg "2_01")

「セキュリティ認証情報」タブをクリックします。

![WS000446.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/058b2521-cd0c-d1da-cfb6-1dd794d9bc36.jpeg "2_02")

下にスクロールしていくと MFA の欄がありますので、「 MFA デバイスの割り当て」をクリックします。

![WS000447.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/4cf1d834-bd4c-8db9-365d-652855fa611d.jpeg "2_03")

:::note info
もちろん、ルートユーザーにも MFA は設定できます。
右上のアカウント名をクリックして「セキュリティ認証情報」をクリックし、下にスクロールして「 MFA デバイスの割り当て」をクリックすることで設定できます。

![WS000463.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/0d998482-c324-81ca-ffc5-ee94dc7d9201.jpeg "a_01")

![WS000462.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/88bab8d4-bbb2-b8e6-b4c2-7da2c6ff3393.jpeg "a_02")

ルートユーザーは非常に強力な権限を持つため、 AWS ではルートユーザーに MFA を設定することが推奨されています。
:::

適当な MFA デバイス名を設定します。

![WS000448.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/b5be9d6a-85cd-f02a-09fd-f4f9a131af8a.jpeg "2_04")

今回は認証アプリを使用するので、「 MFA device 」は「 Authenticator app 」にチェックを入れます。

![WS000449.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/2fb9fc56-9319-bf86-5307-d30e288b5031.jpeg "2_05")

「次へ」をクリックします。

![WS000459.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/bec8895a-fe9a-65ff-3bc7-f45f68e3dcd4.jpeg "2_06")

「 QR コードを表示」をクリックして QR コードを表示します。

![WS000450.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/8e6ca2f2-b701-46a7-f20a-8c3f39010922.jpeg "2_07")

この QR コードを読み込むことで認証アプリの方に AWS を登録することができます。
使用するアプリによって操作は異なりますが、今回使用する Google Authenticator の場合は画面右下の「 + 」⇒「 QR コードをスキャン」をクリックして QR コードを読み込みます。

![WS000465.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/02711002-6d83-9965-cefe-f4922b530b7b.jpeg "2_08")

![WS000466.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/56473d0e-fe4f-e24e-b096-a1925740599e.jpeg "2_09")

認証アプリの方に AWS が登録できたら、次は AWS の方に認証アプリを登録しましょう。
まずは認証アプリに表示されている 6 桁の数字を「 MFA コード 1 」に入力します。
入力したら少し待ち、次に認証アプリに表示された 6 桁の数字を「 MFA コード 2 」に入力して「 MFA を追加」をクリックします。

![WS000452.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/22b0fc0b-5bec-35c7-2b6e-6ae65a292d01.jpeg "2_10")

正常に登録できたら、以下のようなメッセージが表示されます。
 MFA の欄に先ほど登録した MFA デバイスが表示されているはずです。

![WS000460.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/a38d0fa5-250a-a5c8-06ce-60608de1a5f0.jpeg "2_11")

### 3. MFA の利用

実際に MFA を使用してみましょう。
 MFA を登録した IAM ユーザーのユーザー名とパスワードを入力し、「サインイン」をクリックします。

![WS000444.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/930e7b87-62ef-dea5-b9cc-381e606964d3.jpeg "3_01")

すると、以下のように MFA 認証画面が表示されるので、認証アプリに表示されている 6 桁の数字を入力して「送信」をクリックするとサインインできます。

![WS000467.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/9a7cdc02-cf76-065e-a8b5-75b2084013a3.jpeg "3_02")

![WS000466.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/56473d0e-fe4f-e24e-b096-a1925740599e.jpeg "3_03")

![WS000445.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/21a0c62b-1f20-bb4e-3a8e-589af4a9dffb.jpeg "3_04")

[戻る](https://qiita.com/frozencatpisces/items/75bf3e19f6328786e336)