こんにちは、だあしょ(@daasho_blog)です。
近年、需要が高まりつつあるクラウド技術。
その需要の拡がりは今後も続くと予想されています。
それはつまり、クラウドを専門としないエンジニアにとっても必須の知識となってきているということでしょう。
一言でクラウドといってもいくつか種類がありますが、そのうちの一つにAWSがあります。
AWSとは、Amazon Web Servicesのそれぞれ頭文字を取ったもので、Amazonが提供しているクラウドサービスの総称です。
気軽に安全に始められるのがAWSの特徴の一つです。
しかし、いざ始めようと思ってもいったい何から始めたら良いのか困った人も多いのでは。
大規模なサービスなので、私も何から手を付ければ良いか迷いました。。。
そこで、AWSのアカウント作成後、最低限これだけはやっておけというものをまとめました。
私自身の備忘録的な面もありますが、このような人には参考になると思います。
アカウントを作ったら最低限これだけはやっておけ
アカウントを作成したあとに最低限やっておきたいコトは1つだけです。
ずばりアカウントのセキュリティ設定です。
具体的には以下の3点を行っておくと良いでしょう。
- ルートユーザーの保護
- IAMユーザーの作成
- アカウントエイリアスの設定
自分で作成したプログラムをクラウドへデプロイするとなると、セキュリティ面の強度も重要になります。
AWSでは、その辺を視覚的に、そして簡単に行うことができます。
初めてAWSを触るという人でも、この記事に沿って進めれば最低限の設定は完了します。
ぜひ参考にしてみてください。
アカウント登録
AWSでデプロイ環境を作るためには、まずAWSアカウントの登録が必要です。
この記事では既にアカウントは作成されていることを前提としているため、手順は割愛します。
公式にもアカウント作成の流れが紹介されているので、まだ登録していない人は以下を参考にしてみてください。
アカウントのセキュリティ設定
ここから少し詳しく書いていきます。
AWSのアカウントにはルートユーザーとIAMユーザーの2種類があります。
それぞれの違いを簡単にまとめると以下の通りです。
ルートユーザー
- アカウント所有者
- AWS上のタスク全てを使える権限を持っている
- ユーザーごとの権限の許可やアカウントの削除が行える
IAMユーザー
- ルートユーザーによって権限が付与されたユーザー
- 「IAM」は「Identity and Access Management」の頭文字を取ったもの
- 権限が異なる複数のIAMユーザーを作成することで、ユーザーごとに役割を決めることができる
これを頭に入れたところで、これからやることは以下の2点です。
- ルートユーザーの保護
- IAMユーザーの作成&設定
ルートユーザーの保護
ルートユーザーは、最初のアカウント登録の段階で同時に作成されています。
そのためアカウント作成の際に登録したメールアドレスでログインすれば、ルートユーザーとして操作できます。
先ほど書いたように、ルートユーザーはAWSアカウントの全ての権限を持っています。
言い換えれば、ルートユーザーが攻撃にあってしまったりすると大変なことになります。
そのため、まずはルートユーザーを保護します。
MFAというセキュリティの設定を追加します。
MFAとは?
MFAとは、「Multi-Factor Authentication」の頭文字を取ったものです。
日本語にすると、多要素認証となります。
IDやパスワードでの認証に加えて、別の認証情報を必要とさせる仕組みです。
例えば、ログイン後のワンタイムパスワードや顔認証などがそれにあたります。
似たような言葉で2段階認証があり、厳密に言うと異なるようですが、ここではその説明は省略します。
以上のことだけでもわかるように、MFA設定をするだけでセキュリティが大幅に強化されることがわかります。
今回はご自身がお使いのスマホ・タブレット端末をMFA認証デバイスとして設定することにします。
Google 認証システムのインストール
スマホ・タブレット端末をMFA認証デバイスとして設定する準備をします。
以下のアプリをインストールしておいてください。
名前の違いはありますが、どちらも同じものです。
これは、認証に必要な追加情報を発行するアプリです。
発行された認証情報をログイン時に追加で入力することで、認証が完了する仕組みになっています。
発行元はみんなお世話になっているGoogleですので、決して怪しいものではないです。
MFAの設定
AWSのサインイン画面からルートユーザーを選択し、登録したメールアドレスでログインしてください。
ログインに成功すると、AWSのコンソール画面が表示されます。
画面上部に検索欄があるので、そこに「IAM」と入力します。
サービスのところに「IAM」と出てくるのでそこをクリックするIAMダッシュボードが出てきます。
画面真ん中あたりに「セキュリティに関するレコメンデーション」として警告が出ていると思います。
警告の横に「MFAを追加」とあるので、クリックします。
セキュリティ認証情報を設定する画面が表示されます。
「多要素認証(MFA)」から「MFAの有効化」をクリックします。
「MFAデバイスの管理」という画面が表示されます。
「仮想MFAデバイス」を選択し、「続行」をクリックします。
画面が切り替わります。
この画面の【1.・・・】の部分が、先ほど「Google 認証システム」をインストールした段階にあたります。
【2.・・・】の所でQRコードをスキャンします。
「QRコードの表示」をクリックし、QRコードを表示します。
インストールした「Google 認証システム」を開き、読み取ります。
画面を下にスクロールします。
「MFAコード」を入力します。
QRコードの読み取りが完了したら、「Google 認証システム」アプリを見てください。
6ケタのランダムの数字が表示されているはずです。
「Google 認証システム」アプリはランダムの数字が一定時間で自動で切り替わります。
数字の横に青丸で経過時間が示されていると思いますが、この時間が経過するまで、つまり数字が表示されている間はその数字が認証情報として使用できます。
今回は初期設定として連続する2回分のコードを入力する必要があります。
そのため、まずは現在表示されている6ケタの数字を「1」に入力します。
その後少し待って次のコードが表示されたら、その数字を「2」の方に入力します。
入力が完了したら、「MFAの割り当て」が有効になるのでクリックします。
設定が完了すると、以下のような画面が表示されます。
閉じるを押し、画面にシリアル番号が出ていれば成功です。
ここまでの設定を削除したい場合は、シリアル番号の右にある「管理」から行えます。
IAMダッシュボードにもどると、先ほどまで出ていた警告が消えていると思います。
これでMFAデバイスが設定されました。
次回以降のルートユーザーでのログイン時は、メールアドレスとパスワードの他にMFAコードが必要になります。
ここで言うMFAコードは先ほど入力したものではありません。
ログイン時にMFAコードの入力が求められたら、アプリを開き、その時に表示されている数字を入力します。
ここまででうまくいかない場合は以下をお試しください。
- スマホ画面上の数字を長押しし、画面上部の削除アイコンを押して削除する
- PC上で「MFAの割り当て」の横の「戻る」か「キャンセル」を押して「仮想デバイスの設定」画面を閉じる
- 再度「MFAの有効化」を押す
- QRコードを表示する
- アプリ上の下側の「+」ボタンを押し、「QRコードから追加」を押す
- QRコードを読み取る
- スマホ画面に表示されるMFAコードを入力する
IAMユーザーの作成&設定
次にIAMユーザーを作成し、次回以降はIAMユーザーでログインできるようにします。
IAMユーザーの説明は、前に書いた通りです。
全ての権限を持つルートユーザーより、役割によって保護されるIAMユーザーでの操作の方が、予期せぬ変な設定を加えてしまう可能性が減ります。
また、その役割が不要になれば、対象のIAMユーザーごと削除してしまえば良いので、セキュリティだけでなく管理の観点からも良いです。
ユーザーグループの作成
まずはユーザーグループを作成します。
ダッシュボード左側のメニュー一覧から「ユーザーグループ」を選択します。
メニュー一覧が閉じている場合は左上の三本線をクリックしてメニュー一覧を開けてください。
次に「グループを作成」をクリックします。
ユーザーグループ名を入力します。
これにより、ユーザーをグループ単位で管理することができます。
例として「Authenticator」としておきます。
その下の「ユーザーをグループに追加 – オプション」はスルーします。
入力したら、画面を下にスクロールします。
続いて、「許可ポリシーを添付 – オプション」という所が出てきます。
検索欄があるので、「Administrator」と入力します。
検索結果から「AdministratorAccess」を見つけ、チェックをいれます。
最後に「グループを作成」をクリックします。
これでユーザーグループが作成されます。
ちなみに「AdministratorAccess」というのは、IAMユーザーが持てる権限の範囲が一番広いポリシーです。
ほぼルートユーザーと同じくらいの権限がありますが、一部だけ権限のないものがあります。
詳細については以下を参考にしてみてください。
ユーザーの作成
作成したグループに含めるユーザーを作成します。
先ほどと同様に左側のメニュー一覧から「ユーザー」を選択します。
その後、「ユーザーを追加」をクリックします。
ユーザー名を入力します。
例として「SampleUser」としておきます。
その下の「AWSアクセスの種類を選択」の中身を設定します。
「AWS認証情報タイプを選択」は両方チェックを入れます。
アクセスキー・プログラムによるアクセス
:今後AWSの機能を使う時に必要です
パスワード・AWSマネジメントコンソールへのアクセス
:IAMユーザーでログインした時のパスワード情報の設定をします
「パスワード・AWSマネジメントコンソールへのアクセス」にチェックを入れると、その下にさらに選択肢が出ます。
「コンソールのパスワード」はIAMユーザーでログインした時のデフォルトパスワードを指定します。
自動生成パスワード:デフォルトパスワードが自動で生成されます
カスタムパスワード:デフォルトパスワードを自分で指定します
「パスワードのリセットが必要」は、次回IAMユーザーでサインインした時、強制的に新しいパスワードを設定させられます。
つまり、「コンソールのパスワード」でどちらを選択していても、「パスワードのリセットが必要」にチェックが入っていれば、次回サインイン時に強制的にパスワードが変更させられます。
セキュリティの観点からすると、チェックしておいて良いでしょう。
それぞれ選択が終わったら、画面右下の「次のステップ:アクセス権限」をクリックします。
「アクセス許可の設定」は「ユーザーをグループに追加」を選択します。
その下に、先ほど作成したグループ名が出ていると思うので、チェックを入れます。
「次のステップ:タグ」をクリックします。
「タグ」を設定することで、よりユーザーの管理がしやすくなります。
しかし今回はデモなので、特に設定しません。
何もせず、「次のステップ:確認」をクリックします。
最後に、これまでの設定の確認画面が表示されます。
内容が正しければ「ユーザーの作成」をクリックします。
作成が完了すると、以下のような画面が表示されます。
ユーザー作成によって生成された情報が確認できます。
注意書きにも書いてありますが、この情報が確認できるのはこのタイミングのみです!
「アクセスキーID」「シークレットアクセスキー」はデプロイ環境を構築する時に使います。
「ユーザー名」「パスワード」は次回のIAMユーザーでサインイン時に使います。
「csv形式でダウンロード」や「メールで送信」もできるので、画面を閉じる前に、何かしらの形で必ず残しておきましょう。
アカウントエイリアスの設定
最後にアカウントエイリアスの設定というものを行っていきます。
エイリアス(alias)とは、日本語に訳すと「別名」や「偽名」という意味になります。
AWSのアカウントが作成されると、「アカウントID」というランダムの12桁の数字が自動で生成されます。
このアカウントIDは、IAMユーザーでサインインする際に使用します。
ですが、毎度このランダムの数字を覚えておくのは少し面倒ですよね。
そんな時、エイリアスという任意の文字列を作成することで、アカウントIDと同等のものとして扱うことができるようになります。
自身のアカウントIDはIAMダッシュモードの右側で確認できます。
エイリアスを変更する場合は、「アカウントエイリアス」の「編集」をクリックします。
以下のような画面が出てきます。
優先エイリアスの所に、任意の文字列を入力します。
入力後、「変更を保存」をクリックします。
すると先ほどの「アカウントエイリアス」にあった12ケタの数字が、今保存したものに変わっていると思います。
また、その下の「サインインURL」も数字部分が変更されていると思います。
これで数字のアカウントIDではなく、覚えやすい文字列でサインインできるようになりました。
まとめ
AWSのアカウントを作成後、最低限やっておくべきアカウント設定の流れをまとめました。
- ルートユーザーの保護
- IAMユーザーの作成
- アカウントエイリアスの設定
私自身も初めて触れるものだったのですが、思っていたよりも簡単に設定することができました。
今回は最低限の設定のみでしたが、権限の部分など、より細かいところまで学習していくとできることが増えて面白いかもしれませんね。
この続きとして、今度はデプロイする環境を整え、実際にデプロイできたらなと考えています。
その時のプログラムは、以前作ったものを使ってみようと思います。
プログラム作成の様子は以下の記事にまとめているので、あわせてご覧ください。
コメント