AWSの管理画面を前にフリーズしていませんか?
「とりあえずAWSのアカウントを作ってみたものの、最初に何をすればいいのか全然わからない…」
情シスの現場では、こういう状況、本当によくあります。私自身も、初めてAWSの管理画面(コンソール)にログインしたとき、ボタンとメニューが多すぎて完全にフリーズしました。とくに「IAM」という見慣れない言葉が出てきた瞬間、「あ、これは難しいやつだ」と画面をそっと閉じたくなったのを覚えています。
ここで言うIAM(Identity and Access Management=AWSの中で「誰が」「何を」操作してよいかを管理する仕組み)は、AWSのセキュリティの土台です。でも名前が固いだけで、やることはそこまで複雑ではありません。
「わからなくて当然」です。みんな最初は同じところでつまずいています。
実は「最初の設定をしないこと」が一番危ない
AWSは便利な反面、設定を間違えると会社にとって大きなリスクになります。とくに怖いのが、何も設定しないまま使い始めてしまうことです。
たとえるなら、新しいオフィスの玄関の鍵を一度もかけずに、毎日全開のまま帰宅しているようなものです。中に大事な書類(会社のデータやサーバー)があるのに、誰でも入れる状態。これがAWSで言う「初期設定をしていない」状態です。
しかもAWSは世界中からアクセスできるクラウドサービスなので、悪意のある人があなたのアカウントを狙ってくる可能性があります。万が一乗っ取られると、勝手に高額なサーバーを大量に起動されて、ある朝とんでもない金額の請求が届く…という事例も実際にあります。情シスとしては、絶対に避けたい事態です。
最初の30分の設定をサボると、後で何十万円の請求と徹夜対応が待っているかもしれません。
なぜ多くの人が初期設定でつまずくのか、原因は3つある
原因① 「ルートユーザー」をそのまま使ってしまう
AWSアカウントを作ると、最初に「ルートユーザー」という最強の権限を持つアカウントが手に入ります。ルートユーザー(root user=アカウント内のすべての操作ができる、いわば「社長の鍵」)は、何でもできてしまう分、漏れたときの被害が最大級です。
多くの人が、このルートユーザーで毎日ログインして作業してしまいます。社長の鍵を全社員に配って日常業務に使わせているようなもので、とても危険です。
原因② 二段階認証(MFA)を設定していない
ログインがパスワードだけだと、そのパスワードが漏れた時点でアウトです。MFA(Multi-Factor Authentication=多要素認証。スマホアプリなどで出る一時的な数字も入力させる仕組み)を設定しておけば、パスワードが漏れても、もう一つの鍵がないと入れません。
銀行のネットバンキングでスマホに届くワンタイムパスワードを入れるのと同じ仕組みです。便利で安全なのに、面倒くさそうという理由で後回しにされがちです。
原因③ 全員に「何でもできる権限」を渡してしまう
チームでAWSを使うとき、一人ひとりに専用のユーザーを作るのが基本です。ところが「設定が面倒だから」と、全員に管理者権限(何でもできる権限)を配ってしまうケースが後を絶ちません。
これは、全社員にビルのマスターキーを渡すようなもの。一人がうっかり大事な設定を消しても、誰がやったのか追えなくなります。
私が以前いた現場でも、「とりあえず全員に管理者権限を渡しておこう」という運用になっていたことがありました。普段は何も問題が起きないのですが、いざ「先月のあの設定変更、誰がやったの?」という話になったとき、全員が同じ権限を持っているせいで、まったく追跡できなかったのです。権限をきちんと分けておくことは、トラブルを防ぐだけでなく、「あとから振り返れる」ようにするためにも大切なんだと痛感しました。
解決方法:最初にこの3つをやるだけでOK
難しく考える必要はありません。情シスの現場でも、まずは次の3ステップを順番にやれば、最低限の安全は確保できます。
1. ルートユーザーは封印して、作業用のユーザーを別に作る
ルートユーザーでの作業はやめて、IAMで自分専用の「作業用ユーザー」を作ります。普段はこの作業用ユーザーでログインし、ルートユーザーは大事な金庫にしまうイメージで、ほとんど触らないようにします。
2. ルートユーザーと作業用ユーザーの両方にMFAをかける
スマホに認証アプリ(Google Authenticatorなど)を入れて、ログイン時に一時的な数字を求められるように設定します。これだけで、パスワードが漏れても乗っ取りをかなり防げます。
3. 権限は「必要な分だけ」渡す
AWSには「最小権限の原則」という考え方があります。これは「その人の仕事に必要な権限だけを渡す」という、とてもシンプルなルールです。経理担当者に開発サーバーをいじる権限はいらない、という発想です。最初は難しければ、まず管理者を自分だけに絞るところから始めれば十分です。
少し補足すると、AWSには「IAMポリシー」という、権限のルールを書いた書類のような仕組みがあります。IAMポリシー(IAM policy=「このユーザーは何をしてよいか」を定めた設定ファイル)と聞くと身構えてしまいますが、AWSがあらかじめ用意してくれている「テンプレート(既製のひな形)」を選ぶだけでも十分始められます。最初から自分でゼロから書く必要はありません。ここも「わからなくて当然」のポイントなので、まずは用意されたものを使えばOKです。
また、複数人で使う場合は、似た仕事をする人をひとまとめにする「IAMグループ」という機能も便利です。たとえば「経理チーム」というグループを作り、そこに必要な権限をまとめて設定しておけば、新しいメンバーが入ったときもグループに追加するだけで済みます。一人ひとりに毎回手作業で権限を設定する手間が省け、設定ミスも減らせます。
セキュリティは「全部完璧に」ではなく「危ない順に一つずつ」で大丈夫です。
今日からできる具体的なアクション
いきなり全部やろうとすると挫折します。まずは今日、次の3つだけ進めてみてください。
AWSコンソールにルートユーザーでログインし、「セキュリティ認証情報」の画面からMFAを有効にします。所要時間は5分ほど。これだけで乗っ取りリスクが大きく下がります。
- その1:ルートユーザーにMFAを設定する
IAMの画面で、自分が日常作業に使うユーザーを作成します。明日からはこのユーザーでログインする、と決めてしまいましょう。
- その2:自分用のIAMユーザーを1つ作る
「いくら以上使ったらメールで知らせる」という金額の見張り番(請求アラート)を設定しておくと、万が一の不正利用にすぐ気づけます。情シスとしては安心材料になります。
- その3:請求アラートを設定しておく
私自身も、最初はMFAの設定だけで「今日はここまで」と区切りました。一気にやらなくていいんです。一つ設定するたびに、確実に会社のアカウントは安全になっていきます。
まとめ:最初の一歩がいちばん大事
AWSのIAMは、名前こそ難しそうですが、やるべきことは「ルートユーザーを守る」「MFAをかける」「権限を絞る」というシンプルな3点です。
完璧を目指す必要はありません。今日できる一つの設定が、未来の自分と会社を大きなトラブルから守ってくれます。 私もCloud Practitionerの勉強を始めた頃、このIAMの考え方が一番つまずきポイントでしたが、現場で触りながら少しずつ理解していきました。あなたも焦らず、一つずつで大丈夫です。
まずは今日、ルートユーザーのMFA設定から始めてみてください。
関連記事:クラウドとは?AWSの基本をやさしく解説 関連記事:AWSのパスワードを自動で更新する仕組み(Secrets Manager)
