0Pricing
AWS Security Academy · レッスン

IAMユーザーとグループの比較

長期的なアイデンティティと、グループによってアクセスを簡素化する方法を理解します。

「IAMユーザーとグループの比較」はCoddyKit上の無料AWS Security Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAWS Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AWS Security Academyコースには全4レッスンが含まれています。

IAMのアイデンティティ

AWS Identity and Access Management (IAM)は、アカウント内で誰が何を実行できるかを制御するサービスです。最も基本的な構成要素はユーザーとグループです。ユーザーは個人またはアプリケーションに関連付けられた永続的なアイデンティティであり、グループはユーザーをまとめて同じ権限を共有させるための単なるコンテナです。この違いを理解することが、試験の他のすべての内容の基礎となります。

IAMユーザーとは

IAMユーザーは、アカウント内で一意の名前を持つ長期的なアイデンティティです。次の2種類の認証情報を持つことができます。

  • Webからサインインするためのコンソールパスワード
  • プログラムからAPIやCLIを呼び出すためのアクセスキー(アクセスキーIDとシークレット)

これらの認証情報は長期間有効であるため、AWSでは高いリスクを伴うものとして扱います。多くのユーザーを作成して永続的なキーを持たせるよりも、ロールと一時的な認証情報を優先することがベストプラクティスです。

IAMグループとは

IAMグループは、アタッチされたポリシーを通じて権限を共有するユーザーの集合です。グループを使うとアクセス管理をスケールできます。10人の開発者に同じポリシーをアタッチする代わりに、「Developers」グループに一度だけアタッチして、ユーザーを追加すればよいからです。試験で問われる主なポイントは次のとおりです。

  • グループには認証情報がなく、ポリシーのプリンシパルにはなれません。
  • ユーザーは複数のグループに所属できます。
  • グループを他のグループにネストすることはできません。

権限の適用方法

ユーザーがリクエストを行うと、IAMは適用対象となるすべてのポリシーを組み合わせます。これには、ユーザーに直接アタッチされたポリシーと、ユーザーが所属するすべてのグループにアタッチされたポリシーが含まれます。明示的な拒否がどこかに存在しない限り、結果は許可されたアクションの和集合になります。つまり、明示的な拒否ステートメントがない限り、グループへの所属は権限を追加するだけで、減らすことはありません。

グループでドリフトを減らせる理由

ユーザーごとに権限を管理すると、設定ドリフトが発生しやすくなります。時間の経過とともに、各ユーザーが少しずつ異なる、監査しにくいポリシーの集合を持つようになるためです。グループを使うと権限を一元化でき、1回のポリシー変更を同じロールの全員に一貫して適用できます。監査担当者にとっても、「Admins」グループの所属者を一覧表示する方が、数十人のユーザーを1人ずつ確認するよりはるかに容易です。

グループメンバーシップの一覧表示

CLIからメンバーシップを確認し、昇格されたアクセス権を持つユーザーを監査できます。以下のコマンドはグループ内の全ユーザーを一覧表示します。過剰な権限に関する検出結果に対応する際、一般的な最初の手順です。

aws iam get-group --group-name Admins --query "Users[].UserName"

ルートユーザーは別物

IAMユーザーとルートユーザーを混同しないでください。ルートユーザーは、アカウント開設時に作成されるアカウント所有者のアイデンティティであり、IAMポリシーによって制限できない無制限のアクセス権を持ちます。AWSはルート認証情報を厳重に保管し、ルートユーザーで多要素認証(MFA)を有効にし、日常業務では決して使用しないことを強く推奨しています。代わりに個別のIAMユーザーを作成してください(さらに望ましいのはフェデレーションの利用です)。

認証情報とMFA

すべてのIAMユーザーでMFAを有効にする必要があります。これにより、パスワードに加えて、ハードウェアキーや認証アプリなどの第2要素が必要になります。aws:MultiFactorAuthPresentなどのポリシー条件を使用してMFAを強制できます。試験では、リソースの削除やセキュリティ設定の変更など、機密性の高い操作をMFAで保護する方法がよく問われます。

サービスアカウントというアンチパターン

EC2(Elastic Compute Cloud)上で実行するアプリケーション用に、静的なアクセスキーを持つ IAM ユーザーを作成するのは、よくある誤りです。これにより、漏えいする可能性のある長期的な秘密情報が埋め込まれてしまいます。安全なパターンは、インスタンスにIAM ロールをアタッチする方法です。これは次に取り上げます。人間のチームでは、ユーザーを個別に管理するよりも、IAM Identity Centerによるフェデレーションを優先してください。

ユーザーとグループの監査

IAM 認証情報レポートは、すべてのユーザー、パスワードとアクセスキーが最後に使用された日時、MFA が有効かどうかを一覧にした、ダウンロード可能な CSV ファイルです。これをIAM Access Analyzerや最終アクセスデータと組み合わせることで、使用されていないユーザーやキー、過剰に広い権限を持つグループを見つけやすくなります。定期的なレビューは、試験でも重視される最小権限の適切な運用に欠かせません。

ユーザーとグループの使い分け

人やレガシーアプリケーションに、個別の認証済み ID が必要な場合はユーザーを使用してください。共通の権限を適切に割り当て、ユーザーごとの設定差異を避けるにはグループを使用します。現在の設計では、永続的なユーザーの利用をできるだけ減らし、ワークロードにはロール、人間にはフェデレーションを使用します。ユーザーとグループは今も重要な用語ですが、出発点であって最終形ではありません。

クイックチェック

ユーザーとグループの違いを理解できているか確認しましょう。

まとめ

IAM ユーザーは長期的な認証情報を持つ ID であり、IAM グループは認証情報を持たず、ユーザーをまとめてポリシーを共有するためのコンテナであることを学びました。権限はユーザーとグループのポリシーの和集合となり、グループをネストすることはできません。また、ルートユーザーは MFA で保護し、通常は使用できない状態にしておく必要があります。長期間有効な秘密情報や設定の差異を避けるため、ワークロードにはロール、人間にはフェデレーションを優先してください。

よくある質問

「IAMユーザーとグループの比較」レッスンは無料ですか?

はい。「IAMユーザーとグループの比較」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AWS Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AWS Security Academyコースには全4レッスンが含まれています。

「IAMユーザーとグループの比較」で何を学びますか?

長期的なアイデンティティと、グループによってアクセスを簡素化する方法を理解します。 ブラウザで直接実行するハンズオンコードでAWS Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AWS Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAWS Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「IAMユーザーとグループの比較」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAWS Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのAWS Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. IAMユーザーとグループの比較
  2. IAMロールの本当の仕組み
  3. 信頼ポリシーとロールを引き受けられる主体
  4. EC2ワークロード向けインスタンスプロファイル
← AWS Security Academyに戻る