AWS IAM(Identity and Access Management)

IAMはAWSリソースへの認証(誰であるか)と認可(何ができるか)を管理するグローバルサービスです。CP試験で最も頻繁に出題される分野のひとつで、ルートユーザーの保護や最小権限の原則を中心に理解しておきましょう。

概要

IAM(Identity and Access Management)は、AWSアカウントに対して「誰が」「何に対して」「どのような操作を」行えるかを制御するサービスです。IAMは無料で利用でき、グローバルサービス(特定のリージョンに属さない)という特徴があります。

AWSを安全に運用するためには、IAMを正しく設定することが不可欠です。適切なアクセス管理を行うことで、不正アクセスや誤操作によるリスクを大幅に低減できます。

CP試験で押さえるポイント

ルートユーザーの保護

AWSアカウントを作成すると、すべての権限を持つルートユーザーが作成されます。ルートユーザーは非常に強力であるため、以下の点を必ず守ってください。

IAMの主要コンポーネント

IAMは以下の4つの要素で構成されています。それぞれの役割を正確に理解しましょう。

コンポーネント 説明 用途例
IAMユーザー AWSへアクセスする個人または特定のアプリケーションを表すエンティティ。パスワードやアクセスキーで認証します。 従業員一人ひとりにAWSコンソールへのアクセスを付与する
IAMグループ 複数のIAMユーザーをまとめたもの。グループにポリシーをアタッチすると、そのメンバー全員に権限が適用されます。 「開発チーム」グループにEC2操作権限を付与する
IAMロール 特定のエンティティ(AWSサービスや別アカウントなど)が一時的に引き受ける権限セット。アクセスキーは不要。 EC2インスタンスにS3へのアクセス権を付与する
IAMポリシー 「どのリソースに対してどの操作を許可/拒否するか」をJSON形式で定義したドキュメント。ユーザー・グループ・ロールにアタッチします。 S3バケットの読み取り専用権限を定義する

IAMロールの重要性

IAMロールはCP試験で特に頻出のトピックです。EC2などのAWSサービスへのアクセスキー直接配置は危険であり、代わりにIAMロールを使うことがベストプラクティスです。

たとえば、EC2インスタンスのアプリケーションからS3に読み書きしたい場合、アクセスキーをEC2上のコードや設定ファイルに直接書くのではなく、S3アクセス権を持つIAMロールをEC2インスタンスにアタッチします。これにより:

また、クロスアカウントアクセス(別のAWSアカウントのリソースへのアクセス)にもIAMロールが使われます。

最小権限の原則とMFA

最小権限の原則とは、ユーザーやサービスに「業務に必要な最低限の権限だけ」を付与するセキュリティの基本原則です。過剰な権限を持つユーザーは、誤操作や悪意ある利用のリスクが高まります。

MFA(Multi-Factor Authentication:多要素認証)は、パスワードに加えて別の認証要素(ワンタイムパスワードなど)を要求することで、セキュリティを強化する仕組みです。特にルートユーザーと管理者権限を持つIAMユーザーへのMFA設定は必須と考えてください。

関連サービスとの違い・使い分け

サービス/概念 IAMとの関係・違い
IAM vs Organizations SCP IAMポリシーは特定のユーザー・ロールに権限を付与します。OrganizationsのSCPはアカウント全体に上限の権限を設定します(SCPで拒否された操作はIAMで許可しても実行不可)。
アクセスキー vs IAMロール アクセスキーは長期的な認証情報でリスクが高い。IAMロールは一時的な認証情報を使うため安全。AWSサービス間の連携には原則IAMロールを使用します。
IAM vs Cognito IAMはAWSアカウント内の操作権限管理。CognitoはWebアプリやモバイルアプリのエンドユーザー向け認証基盤です。

確認問題

付録:公式ドキュメント・Black Belt 動画

さらに深く学びたい方は、AWS公式の以下のリソースを参照してください(いずれも外部サイトが開きます)。

公式ドキュメント

AWS Black Belt Online Seminar(動画・解説資料)