こんにちは、技術1課の加藤です。
ただでさえ新型コロナウィルスの影響で在宅勤務な上、温度の乱高下でへばりそうな今日この頃。みなさま、どうぞご自愛くださいませ。
今回は、弊社YouTubeチャンネルにて最近アップロードを始めました「はじめてのAWS」シリーズの中から「AWS権限管理 - はじめの一歩」を取り上げまして、その内容をお伝えしていきます!
動画で見たいという方はこちらをどうぞ!
お伝えすること / しないこと
ここでは AWS 権限管理の基礎の基礎として、
- AWS へアクセスするユーザーの種別やその使い分け
- ユーザーの見分け方
についてお伝えしていきます。
具体的な手順や詳細なサービス仕様について語るものではないためご了承ください。
今回はあくまで、概念のお話です。
対象読者
ルートユーザーやIAMユーザーの話、と聞いてピンと来る方は読まなくて大丈夫です。
逆にピンとこないぞ、という方。
AWS を利用する上で絶対把握して欲しい内容になりますので必ず読んでください!
絶対覚えて欲しいベストプラクティス
このブログや動画を通して最も伝えたいことが以下の2つ。
- ルートユーザーは普段使いしない!
- 利用者ごとにIAMユーザーを払い出し、これを使ってAWSにアクセスする!
当たり前の人にとっては当たり前のことですが、意外と知らないという人も多いのがこの原則。
細かく説明していきます。
用語の確認
AWS の概念としてのユーザーと、利用する人間という意味でのユーザーがごっちゃになるとわかりにくいのでここからは
- 概念:ユーザー
- 人間:利用者
と区別してご説明していきます。
AWS へアクセスするユーザーの種別
すでにお話している通り、AWS へアクセスするユーザーには以下の2種類があります。
- ルートユーザー
- IAMユーザー
アカウントを作成した直後はルートユーザーのみが存在し、その後利用者が作成することで使えるようになるのが IAM ユーザーとなります。
ルートユーザー
ではまずルートユーザーから確認していきましょう。
ルートユーザーってどんなユーザー?
名前から想像がつく方もいるかもしれませんが、AWS に関する全権を持つユーザーのことです。
他のサービスでAdministratorや管理者、スーパーユーザーなどと呼ばれる概念に近しいものです。
全権を持っているので、ルートユーザーを使えば何でもできます。
あらゆるリソースの作成・削除。
アカウントのサインイン情報の変更やアカウント解約もこのユーザーで行います。
ルートユーザーを使う危険性
なんでもできるアカウントを使うのは運用上非常に楽ではあります。
それをみんなで使いまわせば、全員、必ずやりたいことができますからね。
とはいえセキュリティ観点で見るとこの状況は非常に危ないです。
例えば誰かが誤って認証情報を漏らしてしまったとしたとき。
被害は甚大です。
悪意のある人間が認証情報を受け取ってしまったら、
例えば高価なリソースを大量に作成して多額の請求を発生させたり、逆に存在するリソースを軒並み削除されてしまったり、
最悪サインイン情報の変更やアカウントの解約をされてしまえば、アカウントが利用できなくなる事態にもなりかねません。
ルートユーザーは普段使いしない
以上から、ベストプラクティスは「ルートユーザーは普段使いしない」となります。
使わなければ情報漏洩リスクを大きく減らすことができます。
加えて MFA の設定や強固なパスワードの設定などを徹底し、ルートユーザーが他人の手に渡ることがないよう細心の注意を払いましょう。
IAM ユーザー
次に IAM ユーザーの説明をしていきますが、これを理解するためにはまず IAM について知らないといけません。
IAM - Identity and Access Management
IAM は AWS の権限管理を一挙に担うサービスです。
これを使えば「誰が」「どのリソースに対する」「どんな操作」を行うことができるのかをきめ細かに設定管理することができます。
AWS を扱う上では必ず理解しておかなければいけない重要なサービスといえるでしょう。
IAMを使うと以下のような制御が簡単にできます。
- 仮想サーバーの起動・停止はできるが、作成・削除はできない
- Aさんはストレージの読み込みができるが、Bさんは読み書き両方できる
- 特定のIPアドレス帯からのアクセスのみを許可する
IAM の4つの要素
IAM は主に 4つの要素で構成されます。
- IAM ユーザー … AWS にアクセスするための要素
- IAM グループ … ユーザーを束ねる要素
- IAM ポリシー … 権限セット
- IAM ロール … AWS サービスに権限を与える要素
つまり IAM ユーザーとは、
権限管理サービスである IAM の 1要素であり AWS にアクセスするためのもの、ということが言えます。
IAM ユーザーは利用者ごとひとつ
IAM ユーザーは与えたい権限と認証情報を設定することで作成ができます。
またどの IAM ユーザーがどのような操作を行なったのか、というログをとることが可能なため、利用者ごとにIAMユーザーを1つ作るのがベストプラクティスです。
それぞれの利用者に対し、必要な最低限の権限を割り当てたユーザーを発行し、それを使ってAWSへアクセスするようにしましょう。
ユーザーの見分け方
ルートユーザーとIAMユーザーは、そもそもサインイン画面から違います。
またサインイン後の画面でも違う部分がありますので、そちらで判別することもできます。
詳しい見分け方については動画を見ていただいた方がわかりやすいかと思いますので、以下を参考にしてみてください。
ルートユーザー、IAMユーザーの見分け方 | [はじめてのAWS] AWS権限管理 - はじめの一歩
まとめ
最後にもう一度ベストプラクティスを振り返ります。
- ルートユーザーは普段使いしない!
- 利用者ごとにIAMユーザーを払い出し、これを使ってAWSにアクセスする!
もしも普段ルートユーザーを使っていた! という方がいらっしゃいましたら、必ず、ルートユーザーの保護とIAMユーザーの作成を行い、安全にAWSを利用できるようにしましょう。