TECHNICAL WORKS
2026.01.30

​​【シリーズAWS】第3回目!AWS IAM入門 — 安全な権限管理のはじめ方

IAMとは?

IAMは「Identity and Access Management」の略で、一言で言えば「誰が」「どのAWSリソースに」「どのような操作ができるか」を管理するサービスです。 正しく設定することで、外部からの不正アクセスや内部の誤操作を防ぎ、AWS環境のセキュリティを向上させることができます。 IAMを理解するために、以下の4つの要素を押さえましょう。

1. IAMユーザー(誰が)
2. IAMグループ(ユーザーの集合)
3. IAMポリシー(何を許可するか)
4. IAMロール(一時的な権限の割り当て)


1.   IAMユーザー

IAMユーザーは、AWSを利用する個人に割り当てるアカウントです。 AWSアカウント作成時に作られる「ルートユーザー」は、全ての操作が可能な強力な権限を持っています。 万が一流出すると取り返しがつかないため、日常的な作業には使用しません。
安全のため、各ユーザーには「その業務に必要な最小限の権限」だけを付与するのが鉄則です。 誰が操作したかを明確にするため、1つのユーザーを使い回さず、1人につき1つのIAMユーザーを発行するのがベストプラクティスです。
*現在のAWSでは、複数のAWSアカウントを運用する場合などに適した「AWS IAM Identity Center」でのユーザー管理が推奨されています。 ただし、IAMの基本概念はIdentity Centerを理解する上でも重要な知識ですので、まずはここをしっかり押さえましょう。

2.   IAMグループ

IAMユーザーをまとめた「器」がIAMグループです。
例えば、開発メンバー5人に同じ権限(Amazon S3 *以下S3 の読み書きはOK、EC2の停止はNGなど)を付与する場合、1人ずつ設定するのは手間ですし、設定ミスの原因にもなります。 そこで「開発グループ」を作成し、そこに権限を設定してから5人のユーザーを所属させることで、一括して同じルールを適用できます。

3.   IAMポリシー

IAMポリシーは、「許可(または拒否)する内容」を定義したドキュメントです。 これをユーザーやロールにアタッチすることで権限が有効になります。主に以下の3種類があります。

  • AWS管理ポリシー: AWSがあらかじめ用意した汎用的なポリシーです(例:AmazonS3FullAccess)。手軽ですが、権限が広すぎる場合があるため注意が必要です。
  • カスタマー管理ポリシー: ユーザーが自分で作成するポリシーです。「S3のバケットAだけ見せたい」といった、細かい制御が可能です。
  • インラインポリシー: 特定のユーザーやロールに直接埋め込む使い切りのポリシーです。他のリソースと共有できないため、利用するケースは少なめです。

4.   IAMロール

IAMロールは、特定のリソースにアタッチする、もしくは特定の役割に対して一時的に権限を貸し出す仕組みです。 IAMユーザーとの最大の違いは「特定の個人に紐付かない」点です。
例えば「EC2上のプログラムがS3にファイルを保存したい」という場合、EC2にIAMロールを付与し、そのIAMロールにIAMポリシー(S3へのアクセス許可を設定)を付与します。 IAMロール自体は「空の箱」のようなもので、そこにIAMポリシーをアタッチすることで初めて中身(権限)が決まります。
基本は「1つのリソース(EC2など)に付与できるロールは1つだけ」という制限があります。 ロールの中に複数のポリシーを組み合わせることで、柔軟に権限を構成できます。

まとめ

IAMは、設定一つでセキュリティを強固にできる反面、ミスが重大な事故に繋がることもあります。

  • ルートユーザーは封印する
  • 最小権限を心がける
  • ポリシーを正しく組み合わせて管理する

この他にもベストプラクティスとして推奨されている事項は諸々ありますが、 まずはこの辺りをしっかり意識して、安全なAWSライフを送りましょう!

この記事を書いた人

Y.T.