InfraAcademy

InfraAcademy Blog

【AWS】IAMグループを作成してみよう!IAMグループを作成して権限管理を簡単にする

| #aws #iam
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、AWS IAMでユーザーグループを作成する方法について解説します。

AWSを学習していると、IAMユーザーごとにポリシーを設定するのは少し大変だと感じることがあります。ユーザーが2人、3人と増えてくると、同じ権限を一人ずつ設定するのは管理もしづらいですよね。

そのようなときに使えるのがIAMユーザーグループです。

同じ役割を持つIAMユーザーをグループにまとめ、グループへポリシーを設定することで、複数ユーザーの権限をまとめて管理できます。

この記事では、IAMユーザーグループの作成方法だけではなく、ユーザーの追加、ポリシーの割り当て、最小権限の考え方まで初心者向けに解説します。

IAMグループを作成してみよう!

今回の記事では、IAMグループの作成方法を詳しく解説します。IAMグループを作成することで、複数のIAMユーザーに同時にアクセス権限を掛けることが可能です。IAMグループを作成して権限管理を簡単にしましょう。

現在のAWSでは、正式にはIAMユーザーグループという名称で表示されています。

たとえば、開発者にはEC2やS3を利用する権限、運用担当者には監視に必要な権限だけを付与したい場合があります。

ユーザーごとに同じポリシーを何度も付けるのではなく、役割ごとにグループを作成しておくと管理しやすくなります。

IAMユーザーグループの役割を簡単にまとめると、次の通りです。

項目 内容
IAMユーザー AWSを利用する個々のユーザー
IAMユーザーグループ 複数のIAMユーザーをまとめる
IAMポリシー AWSで何を許可・拒否するかを定義する
グループにポリシーを設定 所属ユーザーへ同じ権限をまとめて適用する

IAMそのものがまだよく分からない方は、先に【関連記事】IAMとは?IAMの概要や機能を分かりやすく解説!を読んでおくと理解しやすいです。

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

IAMグループの作成方法

まず、IAMのコンソール画面に移動します。

AWSマネジメントコンソールからIAMを開き、画面左側のメニューからユーザーグループを選択します。

画面左のユーザ管理の「ユーザーグループ」を作成します。

そして、「グループを作成」をクリックします。

設定画面に移動したら、ユーザーグループの名前を付けます。

今回は「testgroup」と名付けました。しかし、グループの役割が分かる名前だと分かりやすいです。例えば、「DeveloperGroup」や「TesterGroup」などにすると良いでしょう。

実務では、名前を見ただけで用途が分かるようにしておくのがおすすめです。

たとえば、次のような名前が考えられます。

Developers
Operators
ReadOnlyUsers
BillingUsers

ユーザー名ではなく、役割を表す名前にしておくと、あとからメンバーが増えたときにも管理しやすくなります。

IAMグループの詳細設定

ここからは、IAMグループの設定について解説します。IAMユーザーやIAMポリシーを割り当てます。

作成時にユーザーを追加することもできますし、グループだけ先に作成して、あとからユーザーを追加することもできます。

IAMグループにIAMユーザーを割り当てる

次にIAMグループに所属させるIAMユーザーを選択します。

IAMユーザーの作成方法については、こちらの記事で解説しています。

【関連記事】IAMユーザーの作成方法解説!IAMユーザーを作ってログインする

IAMユーザーを作成していなくても、IAMグループを作成した後に追加できます。ユーザー作成がまだの方は、この手順を飛ばしても問題ありません。

グループ作成後にユーザーを追加する場合は、対象のユーザーグループを開き、ユーザーの追加から所属させたいIAMユーザーを選択します。

たとえば、Developersというグループにuser-auser-bを追加した場合、2人ともグループに設定された権限を受け取ります。

あとからuser-cを追加すれば、同じポリシーを個別設定しなくても同じ権限を付与できます。

IAMグループにIAMポリシーを割り当てる

グループへ権限を設定する

次にIAMポリシーを割り当てます。グループにIAMポリシーを割り当てることで、所属しているユーザー全てにポリシーを割り当てることができます。

IAMポリシーの作成方法については、こちらの記事で詳しく解説しています。

【関連記事】IAMポリシーの作成方法を解説!カスタムポリシーを作成して権限管理をしてみよう

IAMポリシーは、AWS上でどの操作を許可するかを定義する設定です。

たとえば、S3の一覧表示だけを許可するようなポリシーは、イメージとして次のように記述します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    }
  ]
}

実際には、利用目的に合わせて必要なActionやResourceを設定します。

AWSがあらかじめ用意しているAWS管理ポリシーを利用する方法と、自分で作成したカスタマー管理ポリシーを利用する方法があります。

最後に「グループを作成」をクリックして完了です。

グループの作成方法はこれで終了です!簡単ですね!

ただし、作成できたら終わりではありません。

IAMでは、誰にどこまで権限を与えるかが非常に重要です。

IAMグループでは最小権限を意識する

AWSの権限管理では、必要な操作だけを許可する最小権限を意識することが大切です。

たとえば、S3のファイルを見るだけの担当者に、すべてのAWSサービスを操作できる管理者権限を与える必要はありません。

最初はAdministratorAccessを付ければ簡単に動作確認できますが、そのまま本番運用するのはおすすめできません。

役割ごとに必要な権限を整理して、それぞれのグループへ適切なポリシーを付けます。

例としては、次のように考えられます。

グループ 想定する役割 権限の考え方
Developers 開発担当 開発に必要なサービスだけ
Operators 運用担当 監視や運用に必要な操作
ReadOnlyUsers 閲覧担当 基本的に読み取りのみ
Administrators 管理担当 管理作業に必要な権限

利用者の仕事内容が変わった場合は、個別ポリシーを一つずつ変更するのではなく、所属するグループを変更することで管理しやすくなります。

AWS CLIでもIAMグループを操作できる

AWSコンソールだけではなく、AWS CLIからIAMユーザーグループを作成することもできます。

たとえば、Developersというグループを作成する場合は次のように実行します。

aws iam create-group \
  --group-name Developers

IAMユーザーをグループへ追加する場合は、次のコマンドです。

aws iam add-user-to-group \
  --group-name Developers \
  --user-name user-a

AWS管理ポリシーをグループへ付与する場合は、attach-group-policyを使います。

aws iam attach-group-policy \
  --group-name Developers \
  --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess

CLIを使うと、複数環境で同じ設定を行ったり、作業を自動化したりしやすくなります。

ただし、学習を始めたばかりであれば、まずAWSコンソールでユーザー、グループ、ポリシーの関係を理解してからCLIへ進むのがおすすめです。

IAMユーザーグループとIAM Identity Centerの違い

ここまでIAMユーザーグループについて解説しましたが、現在のAWSでは、人が複数のAWSアカウントやアプリケーションへアクセスする場合、IAM Identity Centerを利用する方法もあります。

IAMユーザーグループは、同じAWSアカウント内にあるIAMユーザーの権限をまとめて管理する仕組みです。

一方、IAM Identity Centerは、組織内のユーザーやグループに対して、複数AWSアカウントへのアクセスをまとめて管理するときに使われます。

違いを簡単に整理すると、次のようになります。

項目 IAMユーザーグループ IAM Identity Center
主な対象 IAMユーザー 組織のユーザー・グループ
管理範囲 主に1つのAWSアカウント 複数AWSアカウントも管理しやすい
権限設定 IAMポリシー Permission Setなど
学習用途 IAMの基本を理解しやすい 組織的なアクセス管理

IAMユーザーグループは現在も利用できる機能です。

ただし、実際の組織で人のアクセスを管理する場合は、IAM Identity Centerを使う構成もあることを覚えておきましょう。

InfraAcademyでIAMを実際に学習する

IAMは、AWSの中でも最初につまずきやすいサービスの一つです。

ユーザー、グループ、ロール、ポリシーなど似た言葉が多いため、文章を読むだけでは違いが分かりにくいですよね。

InfraAcademyのAWS講座では、IAM、EC2、VPCなどAWSの基本を学習できます。

👉AWS講座を見る

AWSを理解するには、Linuxやネットワークの基礎も役立ちます。 EC2などのLinuxサーバーを操作したい方は、Linux入門講座から学習できます。

VPC、サブネット、ルーティングなどを理解したい方は、ネットワーク講座もおすすめです。

AWSの設定を画面上で覚えるだけではなく、IAMがなぜ必要なのか、ネットワークやサーバーとどのようにつながっているのかまで理解すると、AWS全体が分かりやすくなります。

IAMグループを作成する方法まとめ

今回の記事では、IAMユーザーグループの作成方法について解説しました。

IAMユーザーグループを使うと、複数のIAMユーザーへ共通のポリシーをまとめて設定できます。

基本的な流れは次の通りです。

  1. IAMユーザーグループを作成する
  2. IAMユーザーをグループへ追加する
  3. IAMポリシーをグループへ付与する
  4. 必要以上の権限がないか確認する

たとえば、開発者が増えた場合もDevelopersグループへ追加するだけで、グループに設定されている権限を適用できます。

IAMでは、簡単に権限を増やすことよりも、必要なユーザーへ必要な権限だけを付与することが重要です。

AWSを学習するときは、ユーザー、ユーザーグループ、ポリシーの関係を実際に操作しながら確認してみてください。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る