はじめに
AWSを利用する際、適切なユーザー管理を行わないと、誤操作やセキュリティリスクが発生する可能性があります。
特に、AWSのルートユーザーは最上位の権限を持っているため、日常的な作業で使用するのは危険です。
そのため、AWSではIAM(Identity and Access Management)を活用し、ユーザーごとに必要最小限の権限を割り当てることが推奨されています。
この文書では、IAMユーザーを使用する意義、最小権限の原則、IAMユーザーの作成手順、そしてセキュリティ強化のポイントについて解説します。
書こうと思ったきっかけ
AWSを使用する中で、以下のような問題に直面したことがありました。
- ルートユーザーでログインしてしまい、誤って重要な設定を変更してしまった。
- IAMユーザーの権限を適切に設定しなかったため、不要なアクセスが許可されていた。
- 必要以上に強い権限を付与し、意図せずシステムを変更できる状態になっていた。
これらの経験を踏まえ、AWSのIAMユーザーを適切に設定し、安全に管理することの重要性を学びました。
本記事を通じて、同じような課題を持つ方に役立つ情報を提供できればと思います。
1. IAMユーザーで作業する意味
なぜIAMユーザーを使うのか?
AWSの管理を行う際に、ルートユーザー(AWSアカウント作成時の最上位ユーザー)を直接使用するのは危険です。そのため、IAMを利用して以下のメリットを得ます。
-
セキュリティ強化
- ルートユーザーの誤操作や漏洩リスクを防ぐ。
- 必要最小限の権限を持つIAMユーザーを作成し、業務に応じたアクセス制御を行う。
-
監査とトラッキング
- IAMユーザーごとにCloudTrailなどでアクティビティを監査できる。
- 誰が何を操作したかを明確にできる。
-
権限の分離と管理
- 開発者、運用担当者、管理者などのロールに応じた権限設定が可能。
- 必要な権限だけを付与する「最小権限の原則」を適用できる。
2. 最小権限の考え方
最小権限の原則(Principle of Least Privilege)
「最小権限の原則」とは、必要最低限の権限のみをIAMユーザーやIAMロールに付与することで、セキュリティリスクを最小化する考え方です。
適用方法
-
業務ごとに権限を細分化
- 例: S3バケットの読み取りのみ許可するユーザー、EC2の起動のみ許可するユーザーなど。
-
IAMポリシーを使用
- AWSが提供する「管理ポリシー(AWS Managed Policies)」を使う。
- 必要に応じて「カスタムポリシー(Customer Managed Policies)」を作成する。
-
定期的な権限見直し
- 不要な権限は削除し、ユーザーのアクセス制限を適切に管理する。
- AWS IAM Access Analyzerを活用して不要な権限をチェック。
3. IAMユーザー作成と権限付与の手順
IAMユーザー作成手順
-
AWSマネジメントコンソールにログイン
- IAMユーザーではなくルートユーザーでログイン(IAMユーザーがない場合)。
-
IAMサービスを開く
- AWSマネジメントコンソールから「IAM」を検索して開く。
実際のマネジメントコンソール画面
-
IAMユーザーを作成
- 「ユーザー」 → 「ユーザーの作成」 をクリック。
- ユーザー名を入力(例:
developer-user
)。
実際のマネジメントコンソール画面
-
アクセス権限を設定
- AWSマネジメントコンソールの利用が必要なら「コンソールアクセス」 を有効化。
-
ポリシーをアタッチ(権限を付与)
- 例:
- S3の読み取り専用:
AmazonS3ReadOnlyAccess
- EC2の管理権限:
AmazonEC2FullAccess
- 限定的な管理者権限:
PowerUserAccess
(フル管理者ではない)
- S3の読み取り専用:
- 例:
実際のマネジメントコンソール画面
-
ユーザーの確認と作成
- 設定を確認して「作成」をクリック。
実際のマネジメントコンソール画面
-
ログイン情報を取得
- IAMユーザー用の「AWSマネジメントコンソールのURL」が発行されるので、メモする。
- 初回パスワードを設定してログイン。
実際のマネジメントコンソール画面
4. IAMユーザーのセキュリティ強化
最低限やるべきこと
-
MFA(多要素認証)の有効化
- IAMユーザーのセキュリティを強化するためにMFAを設定。
-
IAMグループを活用
- 似た権限を持つユーザーを「IAMグループ」にまとめ、管理しやすくする。
-
アクセスキーの定期的なローテーション
- 長期間使用したアクセスキーは削除し、新しいキーを発行。
-
不要なユーザーの削除
- 退職やプロジェクト終了後に不要なIAMユーザーを削除。
5. まとめ
項目 | 説明 |
---|---|
IAMユーザーを使う理由 | ルートユーザーを使わず、安全にアクセス管理するため |
最小権限の原則 | 必要最低限の権限だけを付与し、リスクを最小化 |
IAMユーザー作成手順 | IAMコンソールからユーザー作成→ポリシー付与→MFA設定 |
セキュリティ強化 | MFA必須、アクセスキーの定期変更、CloudTrail有効化 |
ベストプラクティス | IAMロール活用、ポリシー定期見直し、不要な権限削除 |
IAMを正しく活用すれば、AWS環境を安全に管理できます。
特に最小権限の適用とMFAの設定は必須なので、必ず実施しましょう!