IAMポリシーの解説(AWS認定クラウドプラクティショナーシラバス用語)

IAMポリシーの解説(AWS認定クラウドプラクティショナーシラバス用語)
目次

IAMポリシーとは


IAMポリシー(IAM Policy)とは、AWSにおいて「どのリソースに対して、どのような操作を、許可する(または拒否する)か」という具体的な権限のルールを定義した設計図(ドキュメント)のことです。JSON(JavaScript Object Notation)というテキスト形式で記述されます。IAMユーザー、IAMグループ、IAMロールといったエンティティ(ID)にこのIAMポリシーをアタッチ(紐付け)することで、初めてそのユーザーやロールがAWSリソースを操作できるようになります。AWSは初期状態ではすべてのアクセスを拒否する「デフォルト拒否(Default Deny)」の原則を採用しているため、明示的にIAMポリシーで「許可(Allow)」を与えなければ、誰もいかなる操作も実行することができません。

具体例

IAMポリシーを現実世界に例えると、テーマパークの「入場パスポート(チケット)」に記載された利用条件のようなものです。例えば、あるチケットには「本日に限り(条件)、すべてのアトラクション(対象)に、乗車すること(操作)を、許可する(効果)」と書かれています。別のチケットには「お化け屋敷(対象)への、入場(操作)を、拒否する(効果)」と書かれているかもしれません。
AWS環境における具体的なIAMポリシーの例として、「Amazon S3の特定のバケット(データ保管庫)の中身を読み取ることだけはできるが、データを削除したり新しいファイルを追加したりすることはできない」というルールを作成できます。このポリシーをアルバイトの「IAMユーザー」にアタッチすれば、そのアルバイトはデータを閲覧することはできても、誤って重要なデータを消してしまう事故を起こすことはなくなります。逆に、システム管理者の「IAMグループ」には「S3のすべてのバケットに対して、読み取り・書き込み・削除を含むすべての操作を許可する」という強力なポリシーをアタッチします。

もう少し詳しく

IAMポリシーはJSON形式で記述され、主に以下の4つの要素(要素群)で構成されています。
1. Effect(効果):そのアクセスを「Allow(許可)」するか「Deny(拒否)」するかを決定します。
2. Action(アクション):許可または拒否する具体的な操作を指定します。例えば s3:GetObject(ファイルの読み取り)や ec2:RunInstances(サーバーの起動)などです。
3. Resource(リソース):その操作の対象となるAWSリソースをARN(Amazon Resource Name)形式で特定します。「どのS3バケットか」「どのEC2インスタンスか」を指定できます。
4. Condition(条件):(オプション要素)ポリシーが適用されるための追加条件を指定します。例えば、「多要素認証(MFA)を使用してログインしている場合のみ許可する」「特定のIPアドレス(会社のオフィスのネットワーク)からアクセスしてきた場合のみ許可する」といった高度な制御が可能です。

IAMポリシーには大きく分けて「AWS管理ポリシー」と「カスタマー管理ポリシー」があります。
「AWS管理ポリシー」は、AWSが事前に用意・保守している汎用的なポリシー群です。(例:AdministratorAccessAmazonS3ReadOnlyAccess など)。ユーザーは自分でJSONを書かなくても、これらを選ぶだけですぐに適切な権限を付与できるため便利です。
「カスタマー管理ポリシー」は、自社のセキュリティ要件に合わせて、ユーザー自身が独自に作成・編集できるポリシーです。よりきめ細やかな権限制御(特定のバケットのみアクセス許可など)を行いたい場合に使用します。AWS環境のセキュリティを担保するためには、必要な権限のみを付与する「最小権限の原則」に従ってIAMポリシーを設計することが不可欠です。

試験でのポイント

AWS認定クラウドプラクティショナー(CLF-C02)試験において、IAMポリシーに関する重要なポイントは以下の通りです。
まず、「アクセス権限の詳細なルールを定義するJSONドキュメントである」という定義をしっかり押さえてください。「IAMユーザー」や「IAMロール」は単なるIDや役割の入れ物であり、実際に権限の中身を決定しているのはこの「IAMポリシー」です。
また、複数のポリシーが競合した場合の評価ロジックとして、「明示的なDeny(拒否)は、常に他のいかなるAllow(許可)よりも優先される」という原則も重要です。例えば、グループAのポリシーで「S3へのフルアクセスを許可」されていても、ユーザー自身のポリシーで「S3へのアクセスを拒否」されていれば、結果としてアクセスは拒否されます。
さらに、セキュリティのベストプラクティスとして「最小権限の原則(ユーザーがタスクを実行するために必要な最小限の権限のみを許可する)」を実現するための手段として、IAMポリシーが使われることも頻出トピックです。

関連する用語

関連用語として、ポリシーを紐付ける対象である「IAMユーザー」や「IAMロール」、権限付与のベストプラクティスである「最小権限の原則」があります。ポリシーの記述内容がセキュリティレベルを決定づけます。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ