IAMの画面を開いたら、ユーザー・グループ・ロール・ポリシーと並んでいて、どれが何か分からない
IAMユーザーとIAMロールの違い、ロールとポリシーの違いを一言で説明できない
セキュリティグループもIAMも「守るもの」に見えて、何が違うのか分からない
こんな悩みを解決していきます!

現在はCIerで、クラウドの設計・構築をしているインフラエンジニアです。
AWSの資格は、SAA(ソリューションアーキテクト アソシエイト)とSAP(ソリューションアーキテクト プロフェッショナル)を持っています。
結論から言うと、IAMは「AWSというビルの入館管理」です。
マスターキー(ルートユーザー)はしまい、社員には入館証(IAMユーザー)、業者や機械には一時的な通行証(ロール)を渡す、と覚えれば全体がつながります。
この記事で分かることは3つです。
・IAMの部品が、ビルのどこに当たるか
・ユーザー・ロール・ポリシーの違い
・セキュリティグループとの違い
\ AWSを詳しく学びたい方はこちら /
IAMとは?AWSというビルの「入館管理」

IAMは、AWSのビルに「誰が入れて、どの部屋で何をしてよいか」を決める入館管理の仕組みです。

上の図は、EC2の記事で建てた建物の入口に、受付を置いたところです。
受付の前には、マスターキーを持ったオーナー、入館証を下げた社員、一時的な通行証を持った業者が並んでいます。3人とも同じ建物に入りますが、持っているものと入れる場所が違う、というのがIAMの出発点です。
会社のビルの受付を思い浮かべてください。
受付では、まず入館証で「本人かどうか」を確かめ、次に入館証に書かれた部屋にだけ入れます。IAMがやっていることも、この2段階です。
認証と認可の違い

IAMの説明でいちばん最初に出てくる言葉が、認証と認可です。ビルの受付に置きかえて、表で並べます。
| 比べること | 認証 | 認可 |
| 一言で | 誰なのかを確かめる | 何をしてよいかを決める |
| ビルで例えると | 入館証で本人か確かめる | 入館証に書かれた部屋にだけ入れる |
| IAMで見るもの | サインイン情報(パスワードなど) | 付いている権限(ポリシー) |
| 順番 | 先 | 後 |
「本人か」の次に「何をしてよいか」。この順番で見ていると覚えておくと、この後の部品の説明がすっと入ります。
厳密には
- IAM:誰を認証(サインイン)し、誰に何を許可するかを制御する仕組み
- 順番:サインイン情報で認証 → ポリシーを見て許可か拒否かを決める
- 対象:AWSで行う操作は、すべてIAMで認証・認可される
IAMの部品をビルの入館管理で例えると

IAMの画面に並ぶ部品は、ビルの入館管理に出てくるものにそのまま当てはまります。

上の図のように、受付のまわりには6つのものが出てきます。
オーナーの鍵、社員の入館証、部署、入れる部屋の一覧、業者に貸す通行証、それに暗証番号です。この6つの対応を先に頭に入れておけば、IAMの画面で迷わなくなります。
| ビルの入館管理 | IAMの名前 | 一言で |
| オーナーのマスターキー | ルートユーザー | アカウントを作った時の最初のID。全部の部屋に入れる |
| 社員の入館証 | IAMユーザー | 1人に1つ作るID |
| 部署 | IAMグループ | 同じ権限をまとめて渡すためのユーザーの集まり |
| 入れる部屋の一覧 | IAMポリシー | 何をしてよいかを書いた一覧 |
| 業者や機械に貸す一時的な通行証 | IAMロール | 必要な時に引き受けて使うID。期限つきの認証情報が渡される |
| 入館証+暗証番号 | MFA | サインインのときの二重チェック |
表の中でいちばん大事なのは、一覧(ポリシー)は、入館証・部署・通行証のどれにでも付けられるということです。
ユーザー・グループ・ロールは「誰か」を表し、ポリシーは「その人が何をしてよいか」を表す。「誰か」と「何をしてよいか」は別の部品だと分けておくと、混ざりません。
厳密には
- ポリシー:IDやリソースに付けて、権限を決めるもの
- 付ける先:IAMユーザー・グループ・ロール(1つに複数付けられる)
ルートユーザーとは?オーナーの「マスターキー」|AWSアカウントとIAMユーザーの違い

ルートユーザーは、AWSアカウントを作った時の最初のIDで、ビルの全部の部屋を開けられるオーナーのマスターキーです。

上の図の左は金庫にしまったマスターキー、右は入館証で普段の出入りをしている人を描いています。
マスターキーは全部の部屋を開けられる分、なくしたり盗まれたりすると全部が危なくなります。だから金庫にしまって暗証番号もかけ、普段は自分用の入館証を使います。
AWSアカウントとIAMユーザーの違い

よく混ざるのが、「AWSアカウント」と「IAMユーザー」です。
AWSアカウントはビルそのもの、ルートユーザーはビルのオーナーの鍵、IAMユーザーはビルの中で働く社員の入館証と考えると、関係がはっきりします。
| 比べること | ルートユーザー | IAMユーザー |
| ビルで例えると | オーナーのマスターキー | 社員1人ごとの入館証 |
| できる時期 | AWSアカウントを作った時に1つだけできる | アカウントの中で、必要な数だけ作る |
| サインインに使うもの | アカウントを作った時のメールアドレスとパスワード | ユーザーごとの名前と認証情報 |
| できること | アカウント内の全サービス・全リソースに完全にアクセスできる | 付けたポリシーの範囲だけ |
| 普段使うか | 使わない。ルートでしかできない作業だけ | 普段の作業で使う |
ポイントは、ルートユーザーは「作るもの」ではなく、アカウントを作った時点でもう存在していることです。
1つのビル(AWSアカウント)の中に、オーナーの鍵が1本あり、社員の入館証が何枚もある、という関係です。
よくある誤解:管理者の権限を付けたIAMユーザーなら、ルートユーザーと同じ
- 管理者の権限を持つIAMユーザーでも、ルートユーザーとは別物
→ 公式にもそう書かれている。マスターキーの代わりにはならない - ルートユーザーのサインイン情報は、アカウントを作った時のメールアドレスとパスワード
→ IAMユーザーを作っても、マスターキーはそのまま残っている
マスターキーは、使わなくても「存在している」ことを忘れないでください。
しまっておく(日常で使わない)、暗証番号(MFA)を付ける。この2つは、アカウントを作ったらすぐにやっておきたいことです。
厳密には
- ルートユーザー:アカウント作成時にできる、全サービス・全リソースに完全にアクセスできるID
- サインイン:アカウント作成時のメールアドレスとパスワード
- 使い方:日常のタスクには使わず、MFAを付ける
もっと詳しく知りたい方や、ハンズオンで学びたい方は、CloudTech(クラウドテック)もチェックしてみてください。
\ 詳しく知りたい方はこちら /
IAMユーザーとグループとは?「社員の入館証」と「部署」

IAMユーザーは社員1人ごとの入館証、グループは同じ権限をまとめて渡すための部署です。

上の図は、部屋の一覧(ポリシー)を部署(グループ)に付けたところです。
部署に「この部屋に入れる」と決めておくと、部署に入っている社員A・B・Cの全員に、同じ権限が付きます。
社員が増えるたびに、1人ずつ「入れる部屋」を書き込むのは大変です。書き漏れや、書きすぎも起きがちです。
そこで、部署ごとに入れる部屋を決めておき、社員はその部署に入れるだけにします。異動したら、入館証を書き直すのではなく、部署を付け替えるだけで済みます。
IAMユーザーとは?1人に1つの入館証
IAMユーザーは、AWSアカウントの中に作る、1人の人(またはアプリ)を表すIDです。名前と認証情報(パスワードやアクセスキー)でできています。
入館証が1人に1枚であるように、IAMユーザーも1人に1つ作るのが基本です。
IAMグループとは?権限をまとめて渡す部署
IAMグループは、IAMユーザーの集まりです。グループにポリシーを付けると、所属するユーザー全員がその権限を受け取ります。表にすると、ユーザーとの違いは次のとおりです。
| 比べること | IAMユーザー | IAMグループ |
| ビルで例えると | 社員の入館証 | 部署 |
| 何を表すか | 1人の人(またはアプリ) | ユーザーの集まり |
| サインインするか | する | しない(認証される主体ではない) |
| 権限の付け方 | 直接ポリシーを付けられる | グループにポリシーを付けると、所属ユーザー全員が受け取る |
| 入れられるもの | ― | ユーザーだけ(グループの中にグループは入れられない) |
迷ったら、「権限は部署に付けて、社員は部署に入れる」と覚えてください。
1人のユーザーが、複数のグループに入ることもできます。
厳密には
- IAMユーザー:名前と長期の認証情報を持つID。公式は、人には一時的な認証情報を勧めている
- IAMグループ:ユーザーの集まり。付けた権限は所属する全員が受け取る
- グループの制限:認証される主体ではない。グループの中にグループは入れられない
IAMポリシーとは?入館証に書かれた「入れる部屋の一覧」

IAMポリシーは、ユーザー・グループ・ロールに付けて「何をしてよいか」を決める一覧で、書かれていないことはできません。

上の図は、一覧に何が書かれていると、部屋に入れるのかを3つに分けたものです。
許可と書いた部屋には入れる。何も書いていない部屋には入れない。禁止と書いた部屋には、ほかの一覧で許可されていても入れない。この3つの結果だけ覚えておけば十分です。
入館証の裏に、入れる部屋の一覧が書いてあると考えてください。
受付はこの一覧を見て、通すかどうかを決めます。一覧に書いていない部屋は、聞くまでもなく「入れない」のがポイントです。
一覧の書き方と、入れるかどうか
| 一覧の書き方 | 入れるか | ビルで例えると |
| 許可と書いてある | 入れる | 入館証に「会議室OK」と書いてある |
| 何も書いていない | 入れない(既定は拒否) | 入館証に「会議室」の文字がない |
| 禁止と書いてある | 入れない(ほかで許可されていても) | 部署の一覧で許可されていても、個人の一覧に「会議室は禁止」とある |
3つ目がいちばん大事です。「禁止」は「許可」より強いので、どこか1つの一覧に禁止と書かれていたら、ほかの一覧で許可していても入れません。
ポリシーの多くはJSONという形式の文書で保存されていますが、書き方はこの記事では扱いません。まずは「一覧で決まる」ことだけ押さえてください。
最小権限とは?必要な部屋だけ書く
一覧を書くときの基本が、最小権限(作業に必要な権限だけを与える)という考え方です。
「とりあえず全部の部屋に入れるようにしておく」と楽ですが、入館証をなくしたり、操作を間違えたりしたときの被害が大きくなります。必要な部屋だけ書くのが、ビルの管理でもIAMでも基本です。
よくある誤解:一覧に書いていなければ、入れる
- IAMは、既定ですべて拒否
→ 一覧(ポリシー)で許可された操作だけが通る - 禁止(明示的な拒否)は、許可より優先される
→ ほかの一覧で許可していても、禁止と書かれていたらできない
厳密には
- 既定:すべての依頼は拒否。ポリシーで許可されたものだけが通る
- 拒否が優先:明示的な拒否は、明示的な許可より強い
- 最小権限:作業に必要な権限だけを与えるのが公式の推奨
AWSを詳しく学びたい方や、ハンズオンで手を動かしたい方は、CloudTech(クラウドテック)もどうぞ。
\ ハンズオンで学びたい方はこちら /
IAMロールとは?業者や機械に貸す「一時的な通行証」

IAMロールは、決まった人に固定で渡すのではなく、必要な時に借りて使う一時的な通行証です。

上の図は、業者とEC2の建物が受付で通行証を借り、作業をして、期限が来たら通行証が使えなくなるまでの流れを描いています。
社員の入館証はずっと使えますが、通行証は「借りる」「期限が来たら使えなくなる」のが大きな違いです。
ビルに清掃業者や点検の業者が来たとき、社員と同じ入館証は渡しませんよね。
作業の間だけ使える通行証を貸して、作業が終われば使えなくなるようにします。IAMロールは、この「貸す通行証」の仕組みです。人だけでなく、EC2のような機械(AWSのサービス)にも貸せます。
IAMユーザーとIAMロールの違い
ユーザーは「ずっと使える入館証」、ロールは「必要な時に借りる期限つきの通行証」です。表で並べて比べます。
| 比べること | IAMユーザー | IAMロール |
| ビルで例えると | 社員の入館証 | 業者や機械に貸す一時的な通行証 |
| 誰が使うか | 決まった1人(またはアプリ) | 必要な人やサービスが引き受けて使う |
| 認証情報 | パスワードやアクセスキー(長期) | 引き受けた時に渡される一時的な認証情報 |
| 期限 | 自分で消すまで使える | 数分〜数時間で切れる |
| 使いどころ | 決まった人やアプリが、長期の認証情報で使う(公式は、人には一時的な認証情報を勧めている) | EC2などのサービスに権限を渡す、人が一時的に使う |
公式は、人がAWSを使うときにも、長期の認証情報より一時的な認証情報を勧めています。
「人はIAMユーザー、機械はロール」と単純に分けるのではなく、なるべく期限つきの通行証を使う方向だと覚えておくと、この先の勉強でも迷いません。
IAMロールとポリシーの違い

混ざりやすいのが、ロールとポリシーです。
一言で言うと、ロールは「通行証」、ポリシーは「通行証に書かれた入れる部屋の一覧」です。
| 比べること | IAMロール | IAMポリシー |
| ビルで例えると | 通行証 | 通行証に書かれた入れる部屋の一覧 |
| 表すもの | 誰か(権限を受け取るID) | 何をしてよいか(権限の中身) |
| 単独で使えるか | ポリシーが付いていないと、何もできない | ユーザー・グループ・ロールに付けて初めて意味を持つ |
通行証だけあっても、一覧が書かれていなければどこにも入れません。逆に、一覧だけあっても、渡す相手がいなければ使われません。
ロールにポリシーを付けて、初めて「この通行証で入れる部屋」が決まる、という関係です。
EC2にロールを付けて、他のサービスを使わせる

EC2の記事の建物の中で動くプログラムが、AWSのほかのサービス(ファイル置き場など)を使いたいことがあります。
このとき、建物の中に、ずっと使える入館証(長期の認証情報)を置いておくのではなく、建物に通行証(ロール)を付けます。建物の中のプログラムは、その通行証から渡される一時的な認証情報を使います。
EC2にロールを渡すときは、インスタンスプロファイルという入れ物を使います。
名前だけ覚えておけば大丈夫です。AWSの画面(コンソール)でロールを付けると、自動で作られて、ほとんど意識しなくて済みます。
厳密には
- IAMロール:特定の1人ではなく、必要な人やサービスが引き受けて使うID
- 認証情報:長期のものは無い。引き受けると、数分〜数時間で切れる一時的な認証情報が渡される
- EC2で使う時:インスタンスプロファイルでロールを渡す
詳しく知りたい方や、ハンズオンで学びたい方は、CloudTech(クラウドテック)が参考になります。
\ AWSをもっと詳しく学ぶなら /
セキュリティグループとIAMの違い|「門番」と「入館管理」

セキュリティグループは建物の入口で「どの通信を通すか」を決める門番、IAMは「誰がAWSの何を操作してよいか」を決める入館管理で、守っている場所が違います。

上の図の左は、門の前で荷物(通信)を通すか止めるかを決める門番です。右は、人の入館証を見て、何をしてよいかを決める建物の受付です。
門番は「荷物」、受付は「人と、その人がすること」を見ている、と分けると混ざりません。
VPCの記事の動画では、「セキュリティグループとIAMの違い」を予告として出しました。その答えがこの章です。
どちらも「守る」役目なので似て見えますが、門番は通信しか見ないので、誰がAWSの何を操作するかは止められません。逆に、受付(IAM)は操作しか見ないので、建物に届く荷物(通信)は止められません。
| 比べること | セキュリティグループ | IAM |
| ビルで例えると | 建物の入口の門番 | 受付の入館管理 |
| 何を見るか | 建物(インスタンス)に出入りする通信 | AWSへの操作をする人やサービスと、その権限 |
| 判断すること | この通信を通すか、止めるか | この操作を許可するか、拒否するか |
| 間違えると | 届いてほしくない通信が建物に届く | してほしくない操作ができてしまう |
両方そろって、初めて安全です。
門番(セキュリティグループ)はEC2の記事でも解説しています。
厳密には
- セキュリティグループ:EC2に出入りする通信を制御する仮想ファイアウォール
- IAM:AWSへの操作ごとに、IDとポリシーを見て許可か拒否かを決める
IAMを使う時に最初に守りたい4つのこと

IAMを使い始めたら、まず「マスターキーをしまう」「暗証番号を付ける」「必要な部屋だけ」「なるべく一時的な通行証」の4つを押さえます。

上の図は、ここまでの章で出てきた大事なことを、4つのチェックにまとめたものです。
ビルの管理で、最初に決めておくルールだと考えてください。どれも、何かあったときの被害を小さくするためのルールです。
| 守ること | ビルで例えると | IAMで何をするか |
| ルートユーザーを日常で使わない | マスターキーは金庫にしまう | 普段の作業は、ルートユーザー以外のIDで行う |
| MFAを付ける | 入館証に暗証番号を足す | ルートユーザーや IAMユーザーにMFAを設定する |
| 最小権限 | 必要な部屋だけ一覧に書く | 作業に必要な権限だけをポリシーで許可する |
| 一時的な認証情報を使う | なるべく期限つきの通行証を使う | 人もサービスも、なるべくロールなどの一時的な認証情報を使う |
IAMそのものは、追加料金なしで使えます。ただし、IAMで作ったユーザーなどでほかのAWSサービスを使うと、そのサービスの料金はかかります。
また、IAMの設定はリージョンごとに作り直すものではなく、アカウント全体の設定です。ユーザーやロールを、リージョンごとに作り直す必要はありません。
厳密には
- MFA:パスワードに加えて、装置が出す応答も求める確認
- リージョン:設定は1か所で変更され、すべてのリージョンに反映される
- 料金:IAM自体は追加料金なし(使ったほかのサービスの料金はかかる)
もっと詳しく学びたい方は、CloudTech(クラウドテック)もチェックしてみてください。
\ 詳しく知りたい方はこちら /
まとめ|IAMはAWSというビルの入館管理

IAMは、マスターキーをしまい、社員に入館証を、業者や機械に一時的な通行証を渡す、AWSのビルの入館管理です。
この記事のまとめ
- マスターキー=ルートユーザー
→ アカウントを作った時の最初のID。日常では使わず、MFAを付ける - 社員の入館証=IAMユーザー
→ 1人に1つ作るID。長期の認証情報を持つ - 部署=IAMグループ
→ 権限をまとめて渡すユーザーの集まり。サインインはしない - 入れる部屋の一覧=IAMポリシー
→ 書いていないことはできない。禁止は許可より強い - 一時的な通行証=IAMロール
→ 必要な時に引き受けて使う。期限が切れると使えない - 門番=セキュリティグループ(別物)
→ 門番は通信を、IAMはAWSへの操作を見る
迷ったときは、「これは誰か(入館証・通行証)の話か、何をしてよいか(一覧)の話か」を考えてみてください。
それだけで、IAMの画面に並ぶ部品のほとんどが、どこに当たるか分かるはずです。
街(VPC)と建物(EC2)は、VPCの記事・EC2の記事で復習できます。
もっと詳しく知りたい方や、ハンズオンで学びたい方は、CloudTech(クラウドテック)の評判記事もどうぞ。