【AWS入門②】IAMユーザーと仮想 MFA デバイスの設定
はじめに
Webサービスに関するインフラの知識不足の解消&クラウドサービスの世界シェア1位であるAWSの学習のため、YouTubeでAWSの学習動画やエンジニアに関する情報を提供している「くろかわこうへい」さんが開催する AWS CloudTech に参加しました。
学習を進める上で習得した技術情報を記載します。
気になる方は以下を参照してください。
-
YouTubeチャンネル
くろかわこうへい【渋谷で働いてたクラウドエンジニアTV】 -
AWS学習サイト
AWS CloudTech -
AWS学習サイト紹介動画
- Twitter
くろかわこうへい@渋谷で働いてたクラウドエンジニア
注意点
基本的にAWSに関する内容を記載していきます。
ネットワークの基礎的な用語や少し専門的な用語は説明することもあるかもしれませんが、自分が必要と思った際にのみ記載します。
※気になったら調べてみましょう!
AWSアカウントの作成
AWSの環境を作成、操作するにはAWSアカウントが必要になります。
AWSは基本的に従量制料金(従量課金)で、サービスを使ったら使った分だけ費用が発生する仕組みです。
個人でアカウントを作成する場合は使わないサービスは停止、削除などを行い課金の対象とならないよう注意する必要があります。
各サービスを確認し、課金の条件や費用を管理することをお勧めします。
また、費用を管理することで運用面におけるランニングコストや費用対効果を提案する知識が身に付きます。
以下が作成の流れになります
AWS アカウント作成の流れ
サービスによっては以下のように無料で利用できます。
- 新規作成から1年間無料
- 常に無料
- トライアル期間だけ無料
サービスの無料利用枠の詳細は以下を参照
AWS 無料利用枠
AWSマネジメントコンソール
AWSの各サービスを使用するためにはブラウザから「AWSマネジメントコンソール」に接続する必要があります。
1.コンソールにサインイン
↑右上の「コンソールにサインイン」をクリック
2. サインイン
↑登録した情報を入力
3. AWS マネジメントコンソール
↑ログイン後のトップ画面
各サービスを使用する際に上記の画面が基準のページになります
AWSアカウントさえ作成すれば、登録したメールアドレスとパスワードでログインしてAWSの全てのサービスを使うことはできるようになります。
AWSアカウントを作成する際にクレジットカード情報を登録した権限の最も強いユーザーを
「ルートユーザー」
と呼びます。
※ルートユーザはメールアドレスでログインするユーザーと認識してください
IAMユーザーの操作
IAMとは
IAM(Identity and Access Management)
AWS内で使用するユーザーやグループの作成や管理、ユーザーやグループに対して付与するポリシ(方針)ーやロール(権限)の作成や管理、「認証」と「認可」の設定を行うサービスです。
IAMを使用してユーザーに対する権限の付与や使用できるサービスの制限などを正しく設定することでAWSの運用の安全性を高めることができます。
ルートユーザーの運用方法
AWSの公式ドキュメントにも記載されていますが、日常の運用の中で管理者が行うべきタスクであってもルートユーザーを使用しないことをお勧めします。
ルートユーザーで何らかのサービスを構築したりせず、請求情報の確認など最初のユーザー作成など最低限の使用に抑えましょう。
ではどうやってAWSの各サービスを使用するかというと
IAMを使用して管理者権限を持つユーザーを作成して運用します。
普段の管理者タスクをそのユーザーで行いましょう。
管理者ユーザーの作成
ここでは管理者ユーザー「Admin」を作成するとします。
1. サービスの検索欄に「IAM」を入力し選択
2. IAMダッシュボードの「ユーザー」を選択
3. 「ユーザーを追加」をクリック
4. 以下の入力を行い、「次のステップ:アクセス権限」をクリック
- ユーザー名:Admin
- AWS マネジメントコンソールへのアクセス:チェック有
5. 既存のポリシーから「AdministratorAccess」を選択し「次のステップ:タグ」をクリック
※管理者用のポリシー等を作成していれば設定することはできますが、
初回の場合は以下の通り行います。
6. タグ情報は任意で入力し、「次のステップ:確認」をクリック
7. 内容を確認し、「ユーザーの作成」をクリック
8. 自動作成されたパスワードと接続先URLを以下の方法で確認
- 表示されたURLとパスワード表示
- CSV
- Eメールの送信
⇒初回ログイン時に必要となるため必ず残しておいてください。
9. 8で取得したURLに接続、作成情報でサインイン
10. 初期パスワードを変更
11. マネジメントコンソールへのログイン成功
以降の操作ではこのようにIAMで作成した管理者ユーザーを使用しましょう。
多要素認証(2段階認証)
AWSにはセキュリティを向上させるためにサインインに対して多要素認証(MFA)を設定することができます。
仮想 Multi-Factor Authentication (MFA) デバイスの有効化
電話や他のデバイスを仮想多要素認証 (MFA) デバイスとして使用する方法です。
デバイスに時刻ベースのワンタイムパスワードを発行するアプリを使用してAWSへの二段階認証を設定します。
つまり、サインインが2回になります。
- ユーザー情報で認証
- ワンタイムパスワードで認証
Google Authenticator
有名な二段階認証アプリとしては「Google Authenticator」があります。
スマートフォンアプリもありますが今回はGoogle Chromeの拡張機能を使用してみます。
※AWSを使用するのは基本ブラウザなので
日頃使っているブラウザがGoogle Chromeであることを前提で進めます。
以下、アプリのページです。
Google Authenticator
インストールされ、拡張機能に追加されたことを確認
IAMでの設定
上記で作成した「Admin」に対してMFA認証の設定を行います。
1. 「IAM」のユーザーから「Admin」を選択する
2. 「認証」タブを選択し、「MFA デバイスの割り当て」の管理をクリック
3. 「仮想 MFA デバイス」が選択された状態で「続行」をクリック
4. 認証設定用のQRコードを表示させる
5. 拡張機能からAuthenticatorを起動し、QRコード読み込む
6. AuthenticatorにAdminが追加されます
7. Authenticatorに表示される認証キーを入力
Authenticatorの認証キーは時間経過によって変化します。
1つ目の認証キーを設定後は、2つ目の認証キーが表示されるまで待ちます。
8. 完了のメッセージが表示され、正常に設定完了
サインイン時の多要素認証
1度サインアウトを行い、再度「Admin」でサインインすると以下の画面が表示されます。
Authenticatorを起動し、表示されている認証キーを入力することでマネジメントコンソールにサインインすることができます。
Google Authenticatorの注意点
Authenticatorは使用している端末のGoogle Chromeに依存します。
もし他の端末のGoogle Chromeを使用する場合は以下の操作を実施しておく必要があります。
-
データの同期
Googleアカウントを持っている場合、認証の設定情報をGoogleDriveに保管できます。
つまり、違う端末でもGoogleアカウントが同じであれば認証情報を共有できます。 -
設定のエクスポートとインポート
バックアップファイルとして設定情報をエクスポートし、他の端末でインポートすることで認証情報を共有できます。
注意点としてはどの端末でもGoogle Authenticatorのインストールは必要になります
まとめ
今回はAWSアカウントの運用からIAMを使用して管理者ユーザーの作成、セキュリティ向上のため多要素認証を設定してみました。
AWSアカウントを作成する場合はクレジットカード情報の登録が必要なので、漏洩しないよう細心の注意が必要になります。
AWSのサービスに関する情報というよりも、サービスを構築する前に行っておくべきことですね。
次回以降から実際にサービスの構築を行っていこうと思います。
Discussion