AWSを利用している企業や個人にとって、セキュリティは不可欠な要素です。
このセキュリティを支える格認設定サービスとして「IAM (Identity and Access Management)」は一番重要な部分を担っています。I
AMをしっかり理解しているかどうかは、AWS認定試験を取得するのみならず、実際の利用場面でも大きな差を生みます。
このブログでは、IAMに関する基本的な概念から、実際の利用シーンで学んでおきたい要点をまとめました。IAMをしっかり体系的に理解したい方や、AWS認定試験を考えている方はぜひ参考にしてください!
・AWS未経験の状態で、AWS資格を全て取得
・AWS資格を使って、AWSを使う仕事に就く
・2024 All Certifications Engineersに選出

IAMとは何か?
IAM(Identity and Access Management)は、AWSリソースへのアクセスを安全に管理するためのサービスです。
IAMは以下の3つの基本機能により構成されています。
・認証:誰がアクセスしているか?
・認可:どんなリソースや操作を実行できるか?
・監査:アクセス履歴を記録し、不正を検知
IAMを活用することで、AWS環境におけるリソースへのアクセスを厳格に制御できます。
例えば、あるユーザーにS3バケットへの読み取り専用権限を与える一方で、別のユーザーには書き込み権限も許可する、といった柔軟な設定が可能です。
IAMのメリット
・無料で利用可能(AWS全体で課金対象にはならない)
・組織の規模に応じてスケーラブルに管理できる
・AWSリソースのセキュリティを強化できる
IAMユーザーとIAMグループの役割
IAMユーザーとIAMグループは、AWS環境における権限管理の基本単位です。
IAMユーザー
IAMユーザーは、AWSリソースにアクセスする個々のエンティティ(個人やアプリケーション)を指します。
IAMユーザーは以下のような要素を持っています。
・ユーザー名
・認証情報(パスワード、アクセスキーなど)
・付与されたポリシー(権限)
IAMグループ
IAMグループは、複数のIAMユーザーをまとめて管理するための機能です。
グループにポリシーを割り当てることで、全ユーザーに一括して権限を付与できます。
例えば、「開発者チーム」と「運用チーム」というグループを作成し、それぞれに異なるアクセス権限を付与する運用が考えられます。

IAMグループポイント
・グループ自体はAWSリソースに直接アクセスできない
・グループに属するユーザーの個別権限も調整可能
IAMポリシーの仕組みと種類
IAMポリシーは、リソースへのアクセスを制御するためのルールセットです。
これらのポリシーによって、誰が何を実行できるかを具体的に定義します。
IAMポリシーポイント
・ポリシーは最小権限の原則(Least Privilege Principle)を守る
・不要な権限を削除し、必要最小限のアクセスを設定する
IAMポリシーの構成要素
IAMポリシーはJSON形式で記述され、以下の主要な要素を含みます。
・Effect:許可するか拒否するかを指定(”Allow” または “Deny”)
・Action:許可または拒否するアクション(例: s3:PutObject)
・Resource:アクセス対象のリソース(例: 特定のS3バケット)
・Condition: 条件付きで適用する場合の設定(例: 特定のIPアドレスからのみアクセス可能)
IAMポリシーの種類
IAMポリシーの種類は3つあります。
・マネージドポリシー:AWSが提供する事前定義済みのポリシー
・インラインポリシー:特定のユーザーやグループに直接関連付けられるポリシー
・カスタマー管理ポリシー:ユーザーが独自に作成するポリシー
IAMロールの活用シナリオ
IAMロールは、ユーザー以外のエンティティ(EC2インスタンスやAWSサービスなど)に権限を付与する仕組みです。
IAMロールには、以下のような特徴があります。
・認証情報を使用せず、一時的な権限を利用できる
・クロスアカウントアクセスやサービス間のアクセスに適している
IAMロールの活用例
- EC2インスタンス:S3バケットへのアクセスが必要な場合、ロールを割り当てることでアクセスキーの管理を省略できる
- AWS Lambda:DynamoDBへのデータ書き込み権限を付与する
- クロスアカウントアクセス:他のAWSアカウントリソースにアクセスするための設定が可能
MFA(多要素認証)の重要性
MFA(Multi-Factor Authentication)は、セキュリティ強化のための重要な機能です。
MFAを有効化することで、次のようなリスクを軽減できます。
・パスワード漏洩時の不正アクセス防止
・追加の認証ステップで、攻撃者による侵入を難しくする
MFAには2種類の要素があります。
・パスワード(通常の認証要素)
・ワンタイムパスワード(物理デバイスやアプリによる)
IAMのベストプラクティスとセキュリティ対策
IAMを効果的に活用するためには、以下のベストプラクティスを守ることが重要です。
- ルートユーザーの利用制限
- AWSアカウント作成時のルートユーザーは最小限の利用に留める
- 管理作業はIAMユーザーで行う
- 最小権限の原則を徹底
- 必要最小限の権限を付与
- 定期的にポリシーを見直す
- ポリシーの適切な管理
- マネージドポリシーを活用しつつ、必要に応じてカスタムポリシーを作成
- MFAの全ユーザー適用
- 重要なIAMユーザーにはMFAを必須に設定
- ログと監査の実施
- CloudTrailを活用してIAMアクティビティを監視
IAMに関連するAWS認定試験の出題ポイント
AWS認定試験ではIAMに関する基本概念や応用的なシナリオが頻出です。
以下はIAMの主な出題ポイントです。
・IAMユーザー、グループ、ロールの違いを説明できるか?
・IAMポリシーの記述と適用方法
・最小権限の原則を守るためのベストプラクティス
・MFA設定やその必要性の説明
・クロスアカウントアクセスやサービス間のアクセス設定
まとめ
IAMは、AWS環境でのセキュリティ管理の要となるサービスです。
本記事で紹介した7つのポイントを押さえれば、IAMの基本から応用までを効率的に学べます。
AWS認定試験で高得点を目指すためにも、この記事を参考にしながら実際の環境での設定や操作を試してみてください!
コメント