メニュー
AWS Identity and Access Management
ユーザーガイド

ID(ユーザー、グループ、ロール)

このセクションでは、IAM アイデンティティについて説明します。このアイデンティティを作成し、認証を AWS アカウント内のユーザーとプロセスに提供します。また、このセクションでは、IAM グループについても説明します。グループは、1 つの単位として管理できる IAM ユーザーの集合です。アイデンティティはユーザーを表し、認証を受けて AWS でアクションを実行する権限を持ちます。これらはそれぞれ、ユーザー、ロール、グループのメンバーが、どのような条件でどの AWS リソースを使用し、どのようなアクションを実行できるかを決定するポリシーと関連付けることができます。

IAM ユーザー

IAM ユーザーは、AWS で作成したエンティティです。IAM ユーザーは、AWS を操作するために IAM ユーザーを使用する人物またはサービスを表します。IAM ユーザーは主に、ユーザーが対話型タスクを実行するために AWS マネジメントコンソールにサインインする場合や、API または CLI を使用して AWS サービスに対しプログラムによるリクエストを行う場合に使用します。AWS のユーザーは、名前、AWS マネジメントコンソールにサインインするためのパスワード、API または CLI で使用できる最大 2 つのアクセスキーで構成されています。IAM ユーザーを作成したら、適切なアクセス権限ポリシーがアタッチされたグループのメンバーにするか (推奨)、ポリシーをユーザーに直接アタッチすることにより、そのユーザーにアクセス権限を付与します。既存の IAM ユーザーのアクセス権限のクローンを作成することもできます。こうすると、新しいユーザーは自動的に同じグループのメンバーとなり、同じポリシーがすべてアタッチされます。

IAM グループ

IAM グループとは、IAM ユーザーの集合です。グループを使用して、ユーザーの集合に対してアクセス権限を指定でき、ユーザーのアクセス権限を容易に管理することができます。例えば、Admins と呼ばれるグループを作成し、管理者が一般的に必要とするようなアクセス権限を、そのグループに与えることができます。そのグループのすべてのユーザーは、そのグループに割り当てられたアクセス権限を自動的に取得します。管理者権限を必要とする新しいユーザーが組織に参加した場合、そのユーザーを Admins グループに追加することで、適切な権限を割り当てることができます。同様に、組織内で、あるユーザーの担当業務が変わった場合、そのユーザーのアクセス権限を編集する代わりに、そのユーザーを古いグループから削除して適切な新しいグループに追加することができます。グループはアクセスポリシーで Principal として識別できないため、本当の意味でアイデンティティではないことにご注意ください。これは、複数のユーザーにポリシーを一度にアタッチするための 1 つの方法に過ぎません。

IAM ロール

IAM ロールは、そのアイデンティティが AWS でできることとできないことを決定するアクセス権限ポリシーを伴うアイデンティティである点で、ユーザーによく似ています。ただし、ロールには、認証情報(パスワードやアクセスキー)を関連付けることができません。ロールは、特定の個人に関連付けるのではなく、必要に応じて誰でも引き受けることができるようになっています。IAM ユーザーは、ロールを引き受けることで、一時的に特定のタスクに対して異なるアクセス権限を取得することができます。ロールは、IAM の代わりに外部 ID プロバイダーを使用してサインインするフェデレーションユーザーにも割り当てることができます。AWS は ID プロバイダーが提供する詳細を使用して、フェデレーションユーザーにマッピングされるロールを決定します。

一時認証情報

一時的な認証情報は主に IAM ロールとともに使用されますが、他の用途もあります。標準的な IAM ユーザーよりも限定的なアクセス権限を含む一時的な認証情報を要求することができます。これにより、より限定的な認証情報によって許可されていないタスクを誤って実行することを防止できます。一時的な認証情報の利点は、一定期間が経過すると自動的に失効することです。認証情報が有効である期間は認証情報を制御できます。

AWS アカウントのルートユーザー

AWS アカウントを初めて作成するとき、AWS へのサインインに使用するアカウント (または root user) ID を作成します。AWS マネジメントコンソール には root user としてサインインできます。つまり、アカウントの作成時に指定した E メールアドレスとパスワードを使用できます。E メールアドレスとパスワードの組み合わせは、root user 認証情報と呼ばれます。

root user としてサインインすると、AWS アカウントのすべてのリソースに対する完全かつ無制限なアクセス (請求情報へのアクセスやパスワードの変更などを含む) が可能になります。このレベルのアクセスは、初めてアカウントを設定するときに必要です。ただし、日常のアクセスには、root user 認証情報を使用しないことをお勧めします。特に、root user 認証情報は誰とも共有しないことをお勧めします。この情報を共有した人はお客様のアカウントへの無制限のアクセスが可能になるためです。AWS アカウントに付与されたアクセス権限を制限することはできません。代わりに、ベストプラクティスとして root user を使用するのは最初の IAM ユーザーを作成して root user 認証情報を安全な場所に保管する場合に限定するよう強くお勧めします。

IAM ユーザーの作成が適している場合 (ロールではなく)

IAM ユーザーは、アカウント内で特定のアクセス権限を持つ単なる ID です。そのため、認証情報を必要とするすべての機会において IAM ユーザーを必ずしも作成する必要がない場合があります。多くの場合で、IAM ユーザーに関連付けられた長期の認証情報を使用する代わりに、IAM ロールとその一時的な認証情報を利用することができます。

  • AWS アカウントを作成しましたが、アカウントで作業するのは自分だけです。

    AWS では、AWS アカウントの root user 認証情報を使用して作業できますが、これはお勧めしません。代わりに、自分用の IAM ユーザーを作成し、その認証情報を使用して AWS で作業することを強く推奨します。詳細については、「IAM のベストプラクティス」を参照してください。

  • グループ内の他の人があなたの AWS アカウントで作業する必要がありますが、あなたのグループは他の ID メカニズムを使用していません。

    この場合、AWS リソースへのアクセスが必要な個人に対して IAM ユーザーを作成し、各ユーザーに適切なアクセス権限を割り当てて、ユーザー独自の認証情報を与えます。複数のユーザー間で認証情報を共有しないことを強く推奨します。

  • コマンドラインインターフェイス (CLI) を使用して AWS を操作する必要があります。

    CLI では、AWS を呼び出すために使用できる認証情報が必要です。IAM ユーザーを作成し、そのユーザーに、必要な CLI コマンドの実行権限を与えます。次に、この IAM ユーザーに関連付けられたアクセスキーの認証情報を使用するように、コンピュータで CLI を設定します。

IAM ロール (ユーザーではない) の作成が適している場合

次のような状況では、IAM ロールを作成します。

Amazon Elastic Compute Cloud (Amazon EC2) インスタンス上で実行するアプリケーションを作成します。このアプリケーションは AWS にリクエストを送信します。

IAM ユーザーを作成してユーザーの認証情報をアプリケーションに渡したり、認証情報をアプリケーションに埋め込んだりしないでください。代わりに、EC2 インスタンスにアタッチする IAM ロールを作成し、インスンタンスで実行されているアプリケーションに一時的なセキュリティ認証情報を与えます。認証情報には、ロールにアタッチされたポリシーで指定されたアクセス権限があります。詳細については、「Amazon EC2 インスタンスで実行されるアプリケーションに IAM ロールを使用してアクセス権限を付与する」を参照してください。

モバイルフォン上で実行するアプリを作成します。このアプリは AWS にリクエストを送信します。

IAM ユーザーを作成してユーザーのアクセスキーをアプリケーションと共に配信しないでください。代わりに、Login with Amazon、Amazon Cognito、Facebook、または Google などの ID プロバイダーを使用してユーザーを認証し、IAM ロールをユーザーにマッピングします。アプリケーションはロールを使用して、ロールにアタッチされたポリシーで指定されたアクセス権限を持つ一時的なセキュリティ認証情報を取得できます。詳細については、以下を参照してください。

企業内のユーザーが企業ネットワークで認証された後、再びサインインすることなく AWS を使用できるようにしたい。つまり、ユーザーに AWS へのフェデレーションを許可します。

IAM ユーザーを作成しないでください。企業の ID システムと AWS 間にフェデレーション関係を設定します。これには 2 つの方法があります。