AWS IAM(Identity and Access Management)とは?初心者でもわかる基本と使い方
こんにちは。
最近AWSを使い始めた方の中には、「IAMって何?」と戸惑う方もいるかもしれません。私も最初にAWSを触ったとき、「何となく設定しているけど、正直よくわかってない…」という状態でした。
この記事では、AWS IAMの基本的な考え方から、よく使う設定方法、初心者がハマりやすいポイントまで、できるだけわかりやすく紹介します。
IAMってそもそも何?
IAMは「Identity and Access Management」の略で、その名の通り「誰が」「何に」「どこまでアクセスできるか」を管理する仕組みです。
もっとカンタンに言うと、
AWSのアカウントを使う人やアプリが、どんな操作をしていいのか?を決めるルール帳
のようなものです。
ざっくり構成要素
IAMには主に以下のような登場人物がいます:
-
ユーザー(User)
→ 実際にAWSを使う人。自分自身やチームメンバーなど。 -
グループ(Group)
→ ユーザーをまとめて、共通の権限を設定できる単位。 -
ロール(Role)
→ ユーザーではなく、アプリやサービスに割り当てる「仮のID」みたいなもの。EC2やLambdaがAWSを操作するときに使います。 -
ポリシー(Policy)
→ 「この人はS3を読んでいいけど、書き込みは禁止」みたいなルール。JSON形式の設定ファイル。
初心者向けの使い方ステップ
1. ルートユーザーは使わない
AWSアカウントを作成した直後は「ルートユーザー」という全権限持ちのIDが1つあります。でもこれは普段使いしないのが原則です。セキュリティ的にとても危険なので、最初に以下の対応をしましょう。
- IAMユーザーを作成
- 管理者権限(
AdministratorAccess
)を付与 - ルートユーザーではログインしないようにする
2. IAMユーザーを作ってみる
マネジメントコンソールで以下の手順で作れます:
- IAMダッシュボード → 「ユーザー」 → 「ユーザーを追加」
- 名前を入力(例:
dev-taro
) - アクセスの種類を選ぶ(通常は「プログラムによるアクセス」「コンソールアクセス」どちらか or 両方)
- 権限を付ける(グループ経由 or 直接ポリシー付与)
- 作成完了!
3. 最低限覚えておきたいポリシー
AWSにはたくさんのポリシーがありますが、最初はこれだけ覚えておけばOKです。
ポリシー名 | 説明 |
---|---|
AdministratorAccess |
すべての操作が可能(管理者向け) |
AmazonS3ReadOnlyAccess |
S3の読み取りのみ可能 |
AmazonEC2FullAccess |
EC2の操作がすべて可能 |
ハマりポイント:アクセス拒否(AccessDenied)
よくあるのが、操作しようとしたら「AccessDenied」みたいなエラーが出るケース。
これはだいたい「ポリシーが足りない or 間違ってる」ことが原因です。
- S3にアクセスできない? →
AmazonS3FullAccess
つけた? - EC2の操作ができない? →
AmazonEC2FullAccess
つけた?
慣れるまでは公式ポリシーを付ける→挙動確認→絞り込む、という流れがわかりやすいです。
ベストプラクティス(初心者向け)
- ルートユーザーは基本使わない
- MFA(多要素認証)をオンにする
- ユーザーに必要最低限の権限だけを与える
- 作業用アカウント・閲覧用アカウントなどを使い分ける
最後に:IAMは地味だけど超大事
IAMは「設定がちょっとめんどくさい」「エラーも多い」という印象があるかもしれません。でも、AWSの世界ではセキュリティと権限管理がとても大切。慣れてくると「ああ、IAMってすごく理にかなってるな」と思えるようになります。
「なにそれ?」と思いながら設定するより、「あーこれがIAMね」と思えるだけで、AWSの世界がちょっと身近に感じられるはずです。