本文へスキップ

IAMとは?AWSの権限管理の基礎を未経験向けに解説

#IAM#AWS#権限管理#初心者#未経験

AWSの学習を始めてすぐに登場するのに、EC2やS3ほど実体がイメージしやすくない言葉が「IAM」です。サーバーでもネットワーク機器でもなく、画面の中で「権限」を扱う仕組みのため、何のために存在するのか最初はつかみにくいかもしれません。結論から言うと、IAMとはAWSの中で「誰が」「何に」「何をしてよいか」を管理する仕組みです。この記事では、未経験者がつまずきやすいIAMの全体像を、現役インフラエンジニアが要素ごとに整理して解説します。

IAMとは何か

IAM(Identity and Access Management)は、AWSアカウントにアクセスする「誰か」を識別し、その相手がどの操作をしてよいかを細かく制御するためのサービスです。AWSマネジメントコンソールへのログインから、EC2の起動、S3への保存まで、AWS上のほぼすべての操作はIAMによる権限確認を通過してから実行されます。

オンプレミスの世界でたとえるなら、IAMは「社員証を発行し、どの部屋に入れるかを決める入退室管理」に近いものです。社員証を持っていない人は建物に入れず、持っていても権限の無い部屋には入れないのと同じように、IAMで許可されていない操作はAWS上でも実行できません。

なぜIAMが必要なのか

AWSアカウントには通信を区切るVPCという仕組みもありますが、それとは別に「誰がどの操作をできるか」を管理する仕組みが必要です。この役割を担うのがIAMで、ネットワークの区切り方はVPCとは?で解説している内容と対になる関係です。

IAMが無ければ、AWSアカウントにアクセスできる人全員が、サーバーの削除やデータベースの設定変更まで何でもできてしまいます。IAMで権限を細かく分けることで、「普段の作業に必要な範囲だけ」を各担当者に与えることができます。たとえば監視担当者には閲覧権限だけを与え、構築担当者には構築に必要な範囲の操作権限を与える、といった設計が可能になります。

IAMを構成する主な要素

IAMという1つの仕組みの中には、役割の異なる部品が組み合わさっています。最初に押さえておきたいのは次の4つです。

  1. ユーザー — 個人やシステムに割り当てる、ログイン用のアカウント
  2. グループ — 複数のユーザーをまとめて、同じ権限をまとめて与える単位
  3. ロール — 一時的に権限を貸し出す仕組み。EC2などのAWSサービス自身に権限を与えるときにも使う
  4. ポリシー — 「何に対して何をしてよいか」を記述したルールそのもの

これらの部品の関係をつかむと、IAMの全体像が一気に見えやすくなります。

ユーザー・グループ・ロールにポリシーを適用して許可された操作だけ実行できるようになる流れ

ユーザー・グループ・ロールの使い分け

この3つは名前が似ているため混同されやすいですが、権限を「誰に」「どう」与えるかという目的が異なります。

ユーザーグループロール
対象個人・システム単位ユーザーの集まり一時的に借りる相手
権限の持ち方固定で持ち続けるメンバー全員が共有必要なときだけ貸し出す
主な用途個人のログインアカウント部署・チーム単位の権限管理EC2やLambdaへの権限付与

同じ役割の担当者が増えるたびに個別のユーザーへ権限を設定し直すのは非効率なため、実務ではグループで権限をまとめて管理するのが基本です。EC2やLambdaのようなAWSサービス自体に権限を持たせたいときは、固定のアカウントではなく、必要なときだけ借りられるロールを使うのが定石になっています。

IAMはいつ、どこまで学ぶべきか

現役でインフラの現場にいる立場から言うと、未経験の転職段階でIAMのポリシーを自分で1から設計できるレベルまで学ぶ必要はありません。面接や最初の現場で求められるのは、「ユーザー・グループ・ロールの役割の違い」と「権限は必要な範囲だけ与える」という考え方を自分の言葉で説明できることで十分です。

ポリシーの細かい書き方や、複数アカウントをまたいだ権限設計を任されるのは、構築・運用の実務経験を積んでからです。焦って細部まで暗記しようとすると用語の丸暗記になりやすいため、まずはAWS全体の土台を固めるほうが優先度は高く、クラウド全体の位置づけはクラウド(AWS)とは?で整理しています。

InfraDojoで学ぶ

InfraDojoでは、ブラウザ上のAWS CLI演習環境でIAMユーザーの作成からポリシーのアタッチまでを実際のコマンドで体験できます。画面の説明だけでは実感しにくい権限の仕組みも、自分の手を動かして試すことで理解が深まります。AWSの基礎から順番に進めたい方は、AWS学習ロードマップから始めてみてください。

よくある質問

Q. IAMユーザーとIAMロールはどちらを使えばよいですか?

人がログインして作業する場合はユーザー、EC2やLambdaなどAWSサービス自体に権限を持たせたい場合はロールを使うのが基本です。ロールは固定のアカウント情報を持たず、必要なときだけ一時的に権限を借りる仕組みのため、サービス間の権限付与ではロールが推奨されています。

Q. IAMの学習はAWSの中でどのくらい優先度が高いですか?

優先度は高めです。IAMはAWSのほぼすべての操作に関わる土台の仕組みなので、EC2やS3の使い方と並行して、ユーザー・グループ・ロールの役割の違いだけでも早い段階で理解しておくと、その後の学習がスムーズになります。

Q. IAMを学ぶ前にAWSの基礎知識は必要ですか?

必要です。IAMはAWSアカウントの中で動く仕組みなので、AWS全体で何ができるのかをある程度知っておくと理解が早くなります。EC2やS3といった基本サービスの役割をひととおり押さえたうえで、IAMの権限の考え方に進むと理解がつながりやすくなります。

Reo|インフラエンジニアのアイコン

この記事を書いた人: InfraDojo運営者(Reo|インフラエンジニア)

現役インフラエンジニア。SESの現場経験に基づき、未経験からのインフラ転職と学習を支援しています。InfraDojoは、ブラウザ上のターミナルで実際に手を動かして学べるインフラ学習サイトです。

@Reo_engineer_

読むだけで終わらせず、今日から手を動かす

InfraDojoは、ブラウザを開くだけでLinux・ネットワーク・AWSの演習ができる学習サイトです。登録は30秒、最初のコースは無料です。