この記事では、AWSのIDとアクセス管理について、AWSのベストプラクティスに沿っているかをまとめて確認できるAWS Trusted Advisorについて紹介します。
はじめに
AWSにサインインする方法は2種類あります。
それがルートユーザーと、IAMユーザーです。
次の題目では、ルートユーザー、IAMユーザーについて詳しく説明していきます。
ルートユーザーとは?
AWSアカウントを作成した時に用意したEメールアドレスとパスワードを使用してサインインができるユーザーです。
ルートユーザーは、アカウントに存在するすべてのAWSサービスとリソースに対してアクセス権を持つユーザーとなっており、解約などの契約変更も可能です。
ルートユーザーはAWSの公式からベストプラクティスとして、日常タスクでは使用するべきではないとなっております。
ルートユーザーで気を付けるべき点
ルートユーザーはフルアクセスの権限を持つため、取り扱いにもかなり注意が必要です。
以下の項目を実施してルートユーザーのセキュリティを保護しましょう!
- 強固なパスワードを設定する
- 多要素認証(MFA)を設定する
- Access Keyを設定しない
1.2は聞き馴染みがあるかと思いますが、3のAccess Keyを使用してのログイン方法は一般的なIDとパスワードを入力して認証するという方法ではありません。
少し補足説明をさせていただくとAccess Keyとシークレットアクセスキーを利用する事でIDとパスワードを入力しなくてもPowerShellなどのコマンドラインからコンソール画面にログインし各種AWSサービスを操作する事が可能になります。
AWSコンソール画面右上のIDをクリックし、クリック先の一覧にあるセキュリティ認証情報の画面から簡単に作成できます。
作成方法
1.コンソール画面右上のIDをクリックする
2.ID→セキュリティ認証情報をクリックする
3.セキュリティ認証情報→アクセスキー→アクセスキー作成をクリックする
4.主要なベストプラクティスと代替案にアクセスする→自分の作成したい用途に応じて選択する→「上記のレコメンデーションを理解し、アクセスキーを作成します。」を選択する
5.説明タグを設定→アクセスキーを作成をクリックする
6.アクセスキー、シークレットアクセスキーが作成される
7.完了をクリックする
8.完成
このAccess Keyが第三者に渡ってしまうと秘密情報や機密情報の漏洩はもちろんのことインフラの構成変更によるインフラ崩壊の恐れもあります。
※絶対に作成しないようにしましょう。
IAMユーザーとは?
AWSコンソールを利用する際にルートユーザーの代わりに日常的に使用するユーザーです。
このIAMユーザーはAWS Identity and Access Management(IAM)と呼ばれるサービスから払い出されます。
作成をする際にログイン用のIDやパスワード、ユーザー名を自分自身で設定することができます。
ルートユーザーでしか実行できないタスクというものがAWSには存在します。
- アカウントの設定変更
- IAMユーザーアクセス許可を更新
- 請求情報とコスト管理コンソールへのIAMアクセスをアクティブにする ....etc
これらのルートアカウントでしかできないタスク以外はIAMユーザーで操作することを推奨します。
IAMユーザーで気を付けるべき点
IAMユーザーは作成した時点では、何も権限が付与されていないためログインすることもできません。IAMユーザーに付与したい権限を追加することで操作が可能になります。
権限はポリシーベースで付与することが可能であり、AWSが用意している管理ポリシー、自分でポリシーをカスタムするカスタムポリシーの2種類あります。
管理ポリシーとは、適切な権限を割り当てたいときなどに使用するポリシーのことを指し、AWSが作成および管理を行っているポリシーです。AWSから提供されているので、すぐに使えて、自分でポリシーを書く必要がないのが非常に便利です。
基本的にはアクセス許可関連であれば管理ポリシーのみで網羅することが可能です。もし管理ポリシーよりももっと細かく管理を行いたいそんな場合に使うのがカスタムポリシーです。いろいろ試してみると楽しいかもしれません。
Trusted Advisorについて
AWSの推奨しているベストプラクティスに沿って利用ができているかをモニタリングするサービスであるTrusted Advisorについて紹介させていただきます。
Trusted AdvisorはAWSで利用しているEC2やRDSなどのサービスをコストやセキュリティなどに関するベストプラクティスに基づいたアドバイスを自動的に行ってくれるサービスのことを指します。
Trusted Advisorでは以下の項目をチェックしてくれます。
- コスト最適化
- パフォーマンス
- セキュリティ
- 耐障害性
- サービスの制限
しかしながら、Trusted Advisorにはサポートプランによってチェック項目が制限されます。AWSには現在サポートプランが5つあります
- Basic
- Developer
- Business
- Enterprise On-Ramp
- Enterprise
1から5に向けより高価なサポートプランとなっておりますが、Trusted Advisorを制限なく使用するにはサポートプランをBusiness以上にする必要があります。
Business未満のサポートプランではコアセキュリティとサービス制限についてモニタリングが可能です。
コアセキュリティでは特定ポート(0.0.0.0/0)の無制限アクセス、IAMの使用状況や多要素認証が有効になっているかなどを見ることができます。サービス制限では、サービスの使用量が制限の80%を超えていないかチェックすることができます。
Business以上ではどんな情報が参照できるのか気になった方は、こちらをご覧ください!
↓
終わりに
ここまでAWSにおけるIDとアクセス管理についてとTrustedAdvisorについてまとめてきました。
クラウドサービスはIDとアクセス管理の面ではサービス名は違えどどれも似たような考え方、管理方法になるかもしれません。それぞれのサービスの特徴を理解してそれに応じた管理をするのが大事だと思いました。
またTrustedAdvisorを使用して、自分が設定したルートユーザーやIAMユーザーがAWSのベストプラクティスにしっかり沿っているかを確認しましょう。
こうすればもっと費用を削減できたのに、といった発見が見つかるかもしれません。