こんにちは。かじです。
今回はAWSアカウントの作成後にルートユーザーに対してすべき設定を解説していきます。
1.AWSアカウントとは
AWSアカウントとは、AWSのリソースを使用する際に登録するアカウントになります。
AWSアカウントを作成することでAWSの利用が開始され、AWS上で構築したリソースはアカウント毎で管理され、利用料の請求はアカウント毎に行われます。
AWSアカウントを作成する際は、電話番号、メールアドレス、クレジットカードが必要となり、作成後1年間各サービスで無料利用枠の使用が可能になります。
2.ルートユーザーについて
AWSアカウントを作成するとAWSのサービスを利用することができます。
AWSのサービスを利用する際はAWSアカウント内のユーザーとして作業者はログインをしてAWSサービスの操作を行います。
AWSのアカウントを作成するとルートユーザーというユーザーが作成されます。このルートユーザーというのは、AWSアカウントの中の最高権限を持っていてどんな操作もすることができます。
アカウント毎のリソースを管理をするため、複数の人がそのアカウントにログインしてAWS操作をしなければいけません。そんな中、作業者全員がルートユーザーを使ったらどうなってしまうでしょうか?
ルートユーザーではどんな操作でもできてしまうため、誤って使用予定のないリソースを構築してしまうかもしれません。誤ってAWSを退会して利用できなくなってしまう事も考えられます。信頼できる人が使用するならと思われるかもしれませんが、これが、情報が漏れてしまうことによって不正に使用されてしまうと、とんでもないことになります。
そういう訳で作業をする上でルートユーザーをそのまま使用することはAWSでは推奨されていません。
まあ、何も知らない頃の僕はルートユーザーでガンガン作業してたんですけど。。。
3.ルートユーザーに対して施すべき3つのセキュリティ対策
その1 IAMユーザーを作りルートユーザーでの作業は最低限にする
一つ目はIAMユーザーの作成です。ルートユーザーに対して行うという訳ではないのですが、ルートユーザーを使用機会を減らすという点で記載しました。
IAMは、作業用のユーザーを作成し、ユーザーに対してAWSの各サービスへの権限設定を行うことができるサービスです。
このIAMで作成されたユーザーをIAMユーザーと言います。通常の業務ではIAMユーザーを使用することでルートユーザーの使用機会を少なくすることで、セキュリティ性を高めてくれます。
その2 MFA認証を設定する
次にMFA認証の設定です。MFA認証はMulti-Factor Authenticationの略で日本語では他要素認証といったりしますが、皆さんに馴染みのある言い方だと2段階認証かなと思います。ログインした際に特定のデバイスにワンタイムパスワードを送信して、ログイン試行が正規の利用者によって行われていることを確認する仕組みになります。
ルートユーザーに対して1人の人間だけがアクセスできるようにこのMFA認証を施す必要があります。
ちなみにIAMユーザーについても、作業者一人当たり一つのIAMということが推奨されており、MFA認証の設定は、IAMユーザーについても施すことが望ましいと考えます。
その3 アクセスキーを削除する
アクセスキーとはルートユーザーおよびIAMユーザーを使用して、AWS CLIやAWS SDKを用いて、外部環境からAWSリソースにアクセスする際にAWSの認証情報として使用するキーになります。
このアクセスキーを使用することで外部のプログラムからAWSリソースにアクセスできてしまうということです。
IAMについても最低限のアクセスキーの設定にすべきですが、ルートユーザーについてはアクセスキーがデフォルトで作成されているため、AWSアカウントを作成し、ルートユーザーが割り振られた段階でアクセスキーを削除すべきであるといえます。
以上がAWSアカウントを作成した際にルートユーザーに対して初めに行うべきセキュリティ対策になります。
安心してAWSを使用していけるよう、配慮しながら開発を楽しんでいただけたらと思います。
今回はここまでになります。最後まで閲覧くださりありがとうございました。