← ハンズオン一覧に戻る

AWS Hands-on / Security

権限を、グループでまとめて配る

IAM ユーザーに 1 人ずつ権限(ポリシー)を付けるのではなく、「グループ」を作ってそこに権限をまとめ、ユーザーをそのグループに入れることで権限を渡す、という管理方法を体験します。

● Lv.1 AWS を触りはじめた人 ⏱ 所要 15〜30 分 コンソールのみで完結
01 — Prerequisites

はじめる前に

  • 必須AWS アカウントを持っていること
  • 必須マネジメントコンソールにサインインできること
  • あると良いIAM ユーザーを作成した経験(無くても進められます)

※ IAM はリージョンに関係なく使えるサービスです。コマンドラインや SSH などの操作は一切ありません。

02 — References

参照する公式ドキュメント

手順に迷ったときや、用語の意味を確かめたいときに開きましょう。

※ リンク切れの場合は、ページタイトルで検索してください。

03 — Background

背景・シナリオ

IAM ユーザーが 1 人や 2 人のうちは、それぞれに直接ポリシーを付けても大きな問題はありません。しかし人数が増えてくると、「この人にも同じ権限を」「あの人の権限を一括で見直したい」というとき、1 人ずつポリシーを付け外しするのは手間がかかり、付け忘れや見落としも起こりやすくなります。

そこで使うのが「IAM ユーザーグループ」です。権限(ポリシー)はグループにまとめて付けておき、ユーザーをそのグループに入れるだけで、同じ権限をまとめて渡せます。今回はこの「グループ経由で権限を渡す」という基本のかたちを体験します。

ユーザーに直接ポリシーを付けるのと何が違うの?

ユーザーが増えるたびに同じポリシーを繰り返し付ける必要がなくなります。グループに権限をまとめておけば、新しいユーザーをそのグループに入れるだけで、同じ権限をすぐに渡せます。退職や異動でその権限が不要になったときも、グループから外すだけで済みます。

1 人のユーザーが複数のグループに入ってもいいの?

はい。複数のグループに入ると、それぞれのグループに付いている権限が合算されます(足し算で広がっていくイメージです)。今回は 1 つのグループだけを扱いますが、実際の運用では役割ごとに複数のグループを使い分けることがよくあります。

Goal

IAM グループを 1 つ作成して管理ポリシーをアタッチし、その後 IAM ユーザーを 1 つ作成してこのグループに追加し、ユーザーがグループ経由で権限を持っていることをコンソール上で確認する。

04 — Architecture

つくる構成

「ユーザー」「グループ」「ポリシー」の 3 つの関係を確認します。ポリシーはグループに付き、ユーザーはそのグループに入ることで、間接的に権限を受け取ります。

IAM ユーザー
例:group-demo-user
IAM グループ
例:viewers
ReadOnlyAccess
ユーザーは、入っているグループに付いているポリシーを、すべて受け取ります。
05 — Requirements

要件

以下の順番で、「グループを作る → 権限を付ける → ユーザーを入れる」を行ってください。

No要件
1IAM ユーザーグループを1 つ作成する(名前は自由、例:viewers)。
2そのグループに、閲覧のみ可能な管理ポリシー(例:ReadOnlyAccess)をアタッチする。
3IAM ユーザーを1 つ作成する(名前は自由、例:group-demo-user)。作成時、または作成後に手順 1 のグループへ追加する。
4作成したユーザーの詳細画面で、「アクセス許可」タブにポリシーがグループ経由で表示されていることを確認する。
06 — Steps

構築の進め方

「グループを先に用意してから、ユーザーをそこに入れる」という順番がポイントです。

  1. マネジメントコンソールにサインインする

    ブラウザで AWS マネジメントコンソールにサインインします。IAM はリージョンに関係なく使えるサービスのため、リージョンの確認は不要です。

  2. IAM ユーザーグループを作成する

    IAM コンソールを開き、左メニューの「ユーザーグループ」→「グループの作成」を選びます。グループ名を自由に決め(例:viewers)、ポリシーの一覧からReadOnlyAccessを検索してチェックを入れ、グループを作成します。

    この時点ではユーザーはまだ入れない

    グループ作成時にユーザーを追加する画面も出てきますが、今回はまだユーザーを作っていないため、いったん何も選ばずに進めて構いません。次の手順でユーザーを作ってから追加します。

  3. IAM ユーザーを作成する

    左メニューの「ユーザー」→「ユーザーを作成」を選びます。ユーザー名を自由に決め(例:group-demo-user)、権限の設定画面で「グループに追加」を選び、手順 2 で作った viewers グループにチェックを入れて作成します。

    「ポリシーを直接アタッチする」は選ばない

    今回はポリシーをユーザーに直接付けず、グループ経由で渡すことが目的です。権限設定の選択肢では、必ず「グループに追加」を選んでください。

  4. ユーザーの詳細画面で、グループとポリシーを確認する

    作成したユーザーを開き、「グループ」タブviewers が表示されていることを確認します。続けて「アクセス許可」タブを開き、ReadOnlyAccess ポリシーが表示されていることを確認します。

    ポリシーの「アタッチされたエンティティ」表示に注目

    「アクセス許可」タブでは、そのポリシーが「ユーザーに直接」付いているのか「グループ経由」で付いているのかが区別して表示されます。今回は「グループ経由」になっているはずです。

07 — Pitfalls

つまずきポイント

初学者がよく引っかかる箇所を先回りでまとめました。答えそのものは載せていませんが、「どこを見直せばよいか」の手がかりとして使ってください。

Pitfall 01 — ユーザーに権限が付いていないように見える

「グループに入れたはずなのに、権限がないと表示される」

グループ自体にポリシーがアタッチされているか見直しましょう。グループを作っただけでは権限は空っぽです。グループの詳細画面の「アクセス許可」タブに、ReadOnlyAccess などのポリシーが表示されているか確認してください。

Pitfall 02 — ユーザーの「アクセス許可」タブに何も出てこない

「ユーザーを作ったのに、アクセス許可タブが空のまま」

ユーザー作成時に「グループに追加」を選び、対象のグループに正しくチェックを入れたか見直しましょう。ユーザーの「グループ」タブを開き、想定したグループ名が表示されているか確認してみてください。

08 — Checklist

完了チェック

要件の再確認ではなく、画面のどこを見れば達成を確認できるかをまとめました。IAM コンソールを開いて、次を順に確かめましょう。

  • 「ユーザーグループ」一覧に、作成したグループ(例:viewers)が表示されている。
  • そのグループの「アクセス許可」タブに、ReadOnlyAccess ポリシーが1 つアタッチされている。
  • 「ユーザー」一覧に、作成したユーザー(例:group-demo-user)が表示されている。
  • そのユーザーの「グループ」タブに、作成したグループ名が表示されている。
  • そのユーザーの「アクセス許可」タブに、ポリシーの出どころが「グループ経由」として表示されている。
09 — Think

考えてみよう

手を動かすことに加えて、次の問いに自分の言葉で答えられるようにしておくと、理解がより深まります。

  1. 組織に所属する人数が増えていくほど、グループ経由で権限を管理する利点はどう大きくなっていくでしょうか。
    ヒント
    人数が少なければ、1人ずつポリシーを付け直しても大きな手間にはなりません。しかし人数や、権限を変更する頻度が増えるとどうなるか、「個別対応の手間」と「まとめて管理する手間」を比べて考えてみましょう。
  2. 1 人のユーザーが複数のグループに入れることには、便利さとともにどんなリスクが考えられるでしょうか。
    ヒント
    複数のグループの権限は合算されるため、本人も気づかないうちに、想定より広い範囲の権限を持ってしまう可能性があります。「必要最小限の権限だけを渡す」という考え方と、どう関係してくるか考えてみましょう。
  3. 退職や部署異動でユーザーの役割が変わったとき、グループを使っている場合と使っていない場合で、対応の手間にどんな違いが出るでしょうか。
    ヒント
    グループを使っていれば、そのユーザーをグループから外す(または別のグループに入れ替える)だけで権限の見直しが完了します。直接ポリシーを付けていた場合は何が必要になるか、比較してみましょう。
10 — Clean up

後片づけ

作成したユーザーとグループを削除し、リソースを整理しましょう。

  1. ユーザーを削除する:IAM コンソールの「ユーザー」一覧から、作成したユーザー(例:group-demo-user)を選び、削除します。
  2. グループを削除する:「ユーザーグループ」一覧から、作成したグループ(例:viewers)を選び、削除します。
Caution — グループにユーザーが残っていると削除できない場合がある

削除の順番は「ユーザー → グループ」が安全

グループの中にユーザーが残っていると、グループの削除がうまくいかないことがあります。先にユーザーを削除(またはグループから除外)してから、グループを削除する順番で進めましょう。他で使っている既存の IAM ユーザーやグループは、間違えて削除しないようにしてください。

コストに関する注意: IAM はユーザー・グループ・ポリシーの作成や利用そのものに料金はかかりません。今回の作業だけで課金が発生することはありませんが、後片づけとして不要なユーザーやグループは削除し、アカウントの中を整理しておくとよいでしょう。