初心者がAWSを始めてみた(2)

## はじめに
最近、仕事でAWSに触れる機会が増えてきたので、
個人的に勉強がてら始めてみようと思いました。

今回は前回の投稿で触れたアカウント情報を守る設定とIAMユーザーについて書いていこうと思います。

## AWSアカウントを守る設定

前回の投稿ではAWSアカウントの作成をしました。
作成したアカウントは「ルートユーザー」と呼ばれるものであり、
言わば「なんでもできてしまう神様アカウント」です。

しかし、このアカウント情報が何かしらの形で漏れてしまうと、
勝手にログインされてとんでもないことになってしまいます。(勝手にAWSのサービスを使われたり、利用料を請求されたり...)

アカウント情報を守るために、AWSではアカウントに対して多要素認証(MFA)の設定をするよう推奨しています。

## 多要素認証(MFA)とは？

多要素認証とは、ユーザーのIDを複数の信用された情報を要求することにより検証するシステムのことです。
もっと砕いて説明すると、ログインするときにパスワードを入力するだけでなく、さらに信用できる情報(証明書、顔認識、指紋認証などなど...)を合わせて要求することで、
セキュリティを高めるような仕組みです。

MFAについては以下のサイトが参考になると思います。
(URL：https://www.onelogin.com/jp/learn/what-is-mfa)


## 実際にMFAを設定してみよう！

ルートユーザーでAWSマネジメントコンソールにログインして、
MFAの設定をします。

### ステップ１
マネジメントコンソール上部にある自分のルートユーザー名を押すと、
プルダウンメニューが表示されます。
その中から「マイセキュリティ資格情報」を選択します。

![スクリーンショット 2020-10-10 16.47.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/68a29080-3fd4-a818-873c-421ceb96c570.png)


### ステップ２
ページが遷移するので、「多要素認証（MFA）」にある「MFAの有効化」を押します。

![スクリーンショット 2020-10-10 16.48.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/6f598542-6dad-a643-ca5c-644eec7166fa.png)


MFAデバイスの管理の画面が表示されたら、MFAデバイスのタイプを選択します。
自分の好きな物を利用すれば良いと思いますが、今回は仮想MFAデバイスを選択します。


![スクリーンショット 2020-10-10 16.48.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/2674b6ec-81f4-fb32-a11b-26da31165f11.png)

仮想MFAデバイスはたくさん種類がありますが、私は以下の物を利用しています。
(URL:https://authy.com/download/)
※初期セットアップの方法は省略しますw(ダウンロードしたら、開いて指示に従えばセットアップ完了です)

### ステップ３
仮想MFAデバイスの設定ではQRコードかシークレットキーをデバイスに読み込ませることで連携が可能です。
authyではシークレットキーを入力します。

![スクリーンショット 2020-10-10 17.01.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/7e611202-1eb7-3878-2417-ccb4558435b6.png)

![スクリーンショット 2020-10-10 17.04.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/9d8f518f-f385-e6a8-220c-3437861dae2a.png)

![スクリーンショット 2020-10-10 17.05.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/0d055266-9d5c-cb5a-a959-02c3b33267df.png)

![スクリーンショット 2020-10-10 17.05.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/61082335-d047-0a57-b784-076c578de1e8.png)

設定が完了すると30秒ごとに変わる数字が表示されるので、
「最初の30秒で表示される数字」と「次の30秒で表示される数字」をAWSの設定画面の入力欄にコピペします。

![スクリーンショット 2020-10-10 17.11.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/12202bf3-92a3-5080-3e4e-9322213b3383.png)

入力し終えたら「MFAの割り当て」を押します。

![スクリーンショット 2020-10-10 17.11.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/03aba268-b5a9-de56-61db-894fcac0e1d2.png)


### ステップ４
正常に割り当てられたことを確認したら、
一度AWSマネジメントコンソールからログアウトし、再びログインをします。

パスワードを入力し終えるとMFAコードの入力を要求されるので、
MFAデバイスに表示される数字を入力するとコンソールにログインできます。

![スクリーンショット 2020-10-10 17.17.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/8a393fac-e8fe-9eef-3774-29340ec8ff7b.png)

## IAMユーザーを作ろう！

現在、ルートユーザーを使ってコンソールにログインしていますが、
本来は普段のアクセスにルートユーザーを用いることは推奨されていません。

神様アカウントを使うより制限されたアカウントを使った方があらゆる点でよっぽど安全です。
詳しくはAWSのドキュメントを見ると参考になると思います。
(URL:https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction_identity-management.html)

そこでAWSのIAMと呼ばれるサービスでは制限をかけた「IAMユーザー」を作成することができます。
今回は、次回以降で触れるAWSのサービス「VPC」と「EC2」のみ利用できるようなIAMを作成していきたいと思います。

### ステップ１
マネジメントコンソールから「IAM」を選択して、
IAMコンソールへ移動します。
![スクリーンショット 2020-10-10 22.14.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/cd1db38b-f706-6996-6dfe-e8f295523cf3.png)

### ステップ２
IAMコンソールからユーザーを追加します。

![スクリーンショット 2020-10-10 22.20.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/a0daa879-f719-7394-eeb0-6a67786e4b26.png)

### ステップ３
ユーザーの詳細設定をします。
今回はユーザー名を「test-user」とします。

![スクリーンショット 2020-10-10 22.22.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/d67a8232-171c-f952-017d-ed0e4d687e91.png)

アクセスの種類としては2種類あります。
プログラムからAWSリソースを操作する場合は「プログラムによるアクセス」にチェックを入れます。
AWSマネジメントコンソールから操作する場合は「AWSマネジメントコンソールへのアクセス」にチェックを入れます。

今回は両方にチェックを入れます。

コンソールのパスワードは自分で決めたいので「カスタムパスワード」にチェックを入れます。
パスワードのリセットは不要なので「パスワードのリセットが必要」にはチェックを入れないようにします。



アクセス許可の設定では、既存のポリシーから「AmazonVPCFullAcces」と「AmazonEC2FullAccess」を選択します。
![スクリーンショット 2020-10-10 22.23.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/3bcb66b4-281a-3976-c492-fbaa0b8e45e3.png)
![スクリーンショット 2020-10-10 22.23.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/f0c57fc1-0dd6-d236-8316-e3d7d2c65f56.png)

タグの設定では、ユーザーの使用用途などを判別しやすいようにします。
今回はキーを「Name」、値を「TestーUser」とします。
![スクリーンショット 2020-10-10 22.24.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/9a908356-5400-f143-e184-49530f83dcf3.png)


確認画面が表示されるので、設定内容に間違いがなければ「ユーザーの作成」を押します。

![スクリーンショット 2020-10-10 22.24.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/427cf519-a4b0-3734-f7ea-9dc92588fdd0.png)

作成が完了されると、認証情報が作成されます。
忘れずに認証情報が入ったCSVファイルダウンロードして、厳重に管理してください。

![スクリーンショット 2020-10-10 22.25.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/5292d86e-bd1a-d837-d324-a743b4547c58.png)

「閉じる」ボタンを押すとIAMコンソールに戻り、
IAMユーザーが作成されていることが確認できます。

![スクリーンショット 2020-10-10 22.33.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/ef4e1b53-86af-38fd-658d-43d3851442c2.png)

### ステップ４
一度マネジメントコンソールからログアウトして、
先ほどダウンロードしたCSVファイルに入っているURLからログイン画面へ移動し、
作成したIAMユーザーの情報でログインします。

![スクリーンショット 2020-10-10 22.35.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/9f400f26-d553-b7a6-b2b2-54fbc1dc765b.png)


ログインが成功するとマネジメントコンソールが表示されます。

![スクリーンショット 2020-10-10 22.36.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/745880/2fc63da7-91dd-e944-9624-d5d49226910b.png)

## 次回
今回はMFA設定とIAMユーザー作成をしました。
次回以降は、今回作成したIAMユーザーで、
AWS上にWebサーバーを立てるまでの流れについて書いていこうと思います。
WordPressを乗せてWebサイト公開！までできるといいですね！
まったり書いていきますので、次回以降も読んでくれると嬉しいです〜