IAM をいつ使用しますか? - AWS Identity and Access Management

IAM をいつ使用しますか?

AWS Identity and Access Management は、AWS 内部の ID に基づくアクセス制御の基盤を提供するコアインフラストラクチャサービスです。AWS アカウントにアクセスするたびに IAM を使用します。IAM の使用方法は、組織内の個々の責任と職務によって異なります。AWS サービスのユーザーは、管理者から適切な許可を付与されれば、IAM を使用して日常業務に必要な AWS リソースにアクセスできます。一方、IAM 管理者は、IAM ID を管理し、リソースへのアクセスを制御するポリシーを作成する責任があります。ロールにかかわらず、AWS リソースへのアクセスを認証および認可するときはいつでも IAM とやり取りすることになります。例えば、IAM ユーザーとしてサインインする、IAM ロールを引き受ける、ID フェデレーションを利用してシームレスなアクセスを行うなどの操作があげられます。AWS 環境への安全なアクセスを効果的に管理するには、さまざまな IAM 機能とユースケースを理解することが重要です。ポリシーとアクセス許可の作成に関しては、IAM は柔軟できめ細かなアプローチを提供します。信頼ポリシーを定義して、ユーザーまたはロールがアクセスできるアクションとリソースを指定する ID ベースのポリシーに加えて、ロールを引き受けることができるプリンシパルを制御できます。これらの IAM ポリシーを設定することで、必要なタスクを実行するための適切なレベルの許可がユーザーとアプリケーションに付与されるようにするのに役立ちます。

さまざまな職務を遂行しているとき

AWS Identity and Access Management は、AWS 内部の ID に基づくアクセス制御の基盤を提供するコアインフラストラクチャサービスです。AWS アカウントにアクセスするたびに IAM を使用します。

IAM の用途は、AWS で行う作業によって異なります。

  • サービスユーザー – ジョブを実行するために AWS のサービスを使用する場合は、管理者が必要なアクセス許可と認証情報を用意します。より高度な機能を使用して仕事をするようになると、追加のアクセス許可が必要になる場合があります。アクセスの管理方法を理解すると、管理者に適切なアクセス許可をリクエストするのに役に立ちます。

  • サービス管理者 - 社内で AWS リソースを担当している場合は、通常、IAM へのフルアクセスがあります。サービスのユーザーがどの IAM 機能やリソースにアクセスするかを決めるのは、管理者の仕事です。その後、IAM 管理者にリクエストを送信して、サービスユーザーの権限を変更する必要があります。このページの情報を点検して、IAM の基本概念を理解してください。

  • IAM 管理者 – IAM 管理者であれば、IAM ID を管理し、IAM へのアクセスを管理するポリシーを記述できます。

AWS リソースへのアクセスが許可されている場合

認証とは、アイデンティティ認証情報を使用して AWS にサインインする方法です。ユーザーは、AWS アカウントのルートユーザー、IAM ユーザーとして、または IAM ロールを引き受けることによって、認証される必要があります。

AWS IAM Identity Center (IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーテッドアイデンティティとしてサインインできます。サインインの詳細については、「AWS サインイン ユーザーガイド」の「How to sign in to your AWS アカウント」を参照してください。

プログラムによるアクセスの場合、AWS はリクエストに暗号で署名するための SDK と CLI を提供します。詳細については、「IAM ユーザーガイド」の「API リクエストに対する AWS Signature Version 4」を参照してください。

IAM ユーザーとしてサインインした場合

IAM ユーザーは、1 人のユーザーまたは 1 つのアプリケーションに対して特定の許可を持つアイデンティティです。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細は「IAM ユーザーガイド」の「人間のユーザーが一時的な認証情報を使用して AWS にアクセスするにはID プロバイダーとのフェデレーションの使用が必要です」を参照してください。

IAM グループは IAM ユーザーのコレクションを指定し、大量のユーザーのアクセス許可の管理を容易にします。詳細については、「IAM ユーザーガイド」の「IAM ユーザーに関するユースケース」を参照してください。

IAM ロールを引き受けるとき

IAM ロールは、一時的な認証情報を提供する特定のアクセス許可を持つ ID です。ユーザーから IAM ロールに切り替える (コンソール)、または AWS CLI や AWS API オペレーションを呼び出すことで、ロールを引き受けることができます。詳細については、「IAM ユーザーガイド」の「ロールを引き受けることができない」を参照してください。

IAM ロールは、フェデレーションユーザーアクセス、一時的な IAM ユーザーアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行されているアプリケーションに役立ちます。詳細については、「IAM ユーザーガイド」の「IAM でのクロスアカウントリソースアクセス」を参照してください。

ポリシーと許可を作成するとき

ポリシーを作成することで、ユーザーにアクセス許可を付与します。ポリシーは、ユーザーが実行できるアクションと、それらのアクションが影響を与えることができるリソースを登録したドキュメントです。明示的に許可されていないアクションやリソースはすべて、デフォルトで拒否されます。ポリシーは、プリンシパル (ユーザー、ユーザーグループ、ユーザーが引き受けるロール、およびリソース) に対して作成およびアタッチできます。

IAM ロールでは次のポリシーを使用できます。

  • 信頼ポリシー — どのプリンシパルがどのような条件でロールを引き受けることができるかを定義します。信頼ポリシーは、IAM ロール用の特定のタイプのリソースベースのポリシーです。ロールが持つことが可能な信頼ポリシーは 1 つのみです。

  • ID ベースのポリシー (インラインおよび管理) — これらのポリシーは、ロールのユーザーが実行できる (または実行が拒否される) 権限と、どのリソースに対して実行できるかを定義します。

IAM アイデンティティベースのポリシーの例 を使用して、IAM ID のアクセス許可を定義するのに役立ちます。必要なポリシーを見つけたら、[View this policy (このポリシーを表示)] を選択してそのポリシーの JSON を表示します。JSON のポリシードキュメントをテンプレートとして使用して、独自のポリシーを作成できます。

注記

IAM Identity Center を使用してユーザーを管理している場合は、プリンシパルにアクセス許可ポリシーをアタッチするのではなく IAM ID Center で許可セットを割り当てます。アクセス許可セットをグループまたは AWS IAM アイデンティティセンターのユーザー に割り当てると、IAM Identity Center は、各アカウントに対応する IAM ロールを作成し、アクセス許可セットで指定されたポリシーをそれらのロールにアタッチします。IAM Identity Center がロールを管理し、定義した正規ユーザーがロールを引き受けることを可能にします。アクセス許可セットを変更すると、IAM Identity Center は、対応する IAM ポリシーとロールがそれに応じて更新されることを保証します。

IAM アイデンティティセンターの詳細については、「AWS IAM Identity Center ユーザーガイド」の「What is IAM Identity Center?」(IAM アイデンティティセンターとは) を参照してください。