IAM ユーザー
AWS Identity and Access Management (IAM) ユーザーは AWS で作成するエンティティであり、AWS とやり取りするためにこれを使用するユーザーまたはアプリケーションを表します。AWS のユーザーは名前と認証情報で構成されます。
管理者アクセス許可を持つ IAM ユーザーが AWS アカウントのルートユーザー ということではありません。ルートユーザー の詳細については、「AWS アカウントのルートユーザー」を参照してください。
重要
アプリケーションまたはウェブサイト用のアマゾン広告を有効にしている間にこのページに移動した場合は、「Product Advertising API にサインアップする」を参照してください。
AWS が IAM ユーザーを識別する方法
ユーザーを作成すると、IAM はそのユーザーを識別するための以下の手段を作成します。
-
ユーザーの「フレンドリ名」。ユーザーを作成したときに指定した名前です (
Richard
、Anaya
など)。これは、AWS マネジメントコンソール に表示される名前です。 -
ユーザーの Amazon リソースネーム(ARN)AWS 全体でユーザーを一意に識別する必要がある場合は、ARN を使用します。たとえば、ARN を使用して、Amazon S3 バケットの IAM ポリシーの
Principal
としてユーザーを指定できます。IAM ユーザーの ARN は次の例のように表示されます。arn:aws:iam::
account-ID-without-hyphens
:user/Richard -
ユーザー用の一意の識別子この ID が返されるのは、API、Tools for Windows PowerShell または AWS CLI を使用してユーザーを作成した場合だけです。この ID はコンソールには表示されません。
これらの ID の詳細についてはIAM IDを参照してください。
ユーザーと認証情報
AWS には、ユーザーの認証情報に応じてさまざまな方法でアクセスできます。
-
コンソールパスワード: AWS マネジメントコンソール などのインタラクティブセッションにサインインするときにユーザーが入力するパスワード。
-
アクセスキー: アクセスキー ID とシークレットアクセスキーの組み合わせ。1 人のユーザーに一度に 2 つ割り当てることができます。これらを使用して AWS をプログラムで呼び出すことができます。たとえば、コードの API、または AWS CLI や AWS PowerShell ツールのコマンドプロンプトで、アクセスキーを使用する場合があります。
-
CodeCommit で使用する SSH キー: CodeCommit での認証に使用可能な OpenSSH 形式の SSH パブリックキー。
-
サーバー証明書: AWS の一部のサービスでの認証に使用可能な SSL/TLS 証明書。AWS Certificate Manager (ACM) を使用してサーバー証明書のプロビジョニング、管理、デプロイを行うことをお勧めします。ACM でサポートされていないリージョンで HTTPS 接続をサポートする必要があるときにのみ、IAM を使用してください。ACM をサポートしているリージョンについては、AWS General Referenceの「AWS Certificate Manager リージョンとエンドポイント」を参照してください。
IAM ユーザーに適した認証情報を選択できます。AWS マネジメントコンソール を使用してユーザーを作成するときは、少なくともコンソールパスワードまたはアクセスキーを含める選択をする必要があります。デフォルトでは、AWS CLI または AWS API を使用して作成された新しい IAM ユーザーには、どのような種類の認証情報も提供されていません。ユーザーのニーズに基づいて、IAM ユーザーに合った種類の認証情報を作成する必要があります。
パスワード、アクセスキー、および MFA デバイスを管理するために、次のオプションを使用します。
-
IAM ユーザーのパスワードを管理します。 AWS マネジメントコンソール へのアクセスを許可するパスワードを作成および変更します。最低限のパスワードの複雑さを強制するパスワードポリシーを設定します。自分のパスワードの変更をユーザーに許可します。
-
IAM ユーザーのアクセスキーを管理します。 アカウントのリソースにプログラムでアクセスするためのアクセスキーを作成および更新します。
-
ユーザーの認証情報のセキュリティを強化するには、ユーザーに対して多要素認証 (MFA) を有効にすることができます。MFA を使用する場合、ユーザーは 2 つの形式の ID を指定する必要があります。まず、ユーザー ID の一部である認証情報 (パスワードまたはアクセスキー) を指定します。さらに、一時的な数値コードを指定します。この数値コードは、ハードウェアデバイスで生成されるか、スマートフォンやタブレットのアプリケーションで生成されるか、AWS から SMS 対応のモバイルデバイスに送信されます。
-
使用されていないパスワードおよびアクセスキーを見つけます。 アカウントのパスワードまたはアクセスキーを持つユーザー、またはアカウント内の IAM ユーザーであれば、だれでも AWS リソースにアクセスできます。セキュリティ保護のためのベストプラクティスは、ユーザーがパスワードやアクセスキーを使用しなくなったら、それらを削除することです。
-
アカウントの認証情報レポートをダウンローします。 アカウント内のすべての IAM ユーザーと、ユーザーの各種認証情報 (パスワード、アクセスキー、MFA デバイスなど) のステータスが示された認証情報レポートを生成し、ダウンロードできます。パスワードおよびアクセスキーについては、パスワードやアクセスキーが最近いつ使用されたかが、認証情報レポートに表示されます。
ユーザーとアクセス許可
デフォルトでは、新しい IAM ユーザーには、何かを実施するためのアクセス許可がありません。また、AWS オペレーションの実行や AWS リソースへのアクセスを承認されていません。個々の IAM ユーザーを持つ利点は、アクセス許可を各ユーザーに個別に割り当てることができることです。管理アクセス許可を複数のユーザーに割り当てることができます。これらのユーザーは、AWS リソースを管理するだけでなく、他の IAM ユーザーを作成して管理することもできます。ただし、通常、ユーザーのアクセス許可はユーザーの作業に必要なタスク (AWS アクションまたはオペレーション) とリソースだけに制限します。
Diego というユーザーを想定します。IAM ユーザー Diego
を作成するときに、このユーザーのパスワードを作成できます。また、IAM ユーザーにアクセス許可をアタッチして、特定の Amazon EC2 インスタンスを起動し、Amazon
RDS データベース内のテーブルの情報を読み取ること (GET
) を許可します。ユーザーを作成して初期認証情報とアクセス許可を付与する手順については、「AWS アカウントでの IAM ユーザーの作成」を参照してください。既存のユーザーのアクセス許可を変更する手順については、「IAM ユーザーのアクセス許可の変更」を参照してください。ユーザーのパスワードやアクセスキーを変更する手順については、「パスワードの管理」と「IAM ユーザーのアクセスキーの管理」を参照してください。
ユーザーにアクセス許可の境界を追加することもできます。アクセス許可の境界は、AWS 管理ポリシーを使用してアイデンティティベースのポリシーでユーザーまたはロールに付与できるアクセス許可の上限を設定できる高度な機能です。ポリシーのタイプと用途の詳細については、「ポリシーとアクセス許可」を参照してください。
ユーザーとアカウント
各 IAM ユーザーが関連付けられる AWS アカウントは 1 つだけです。ユーザーは AWS アカウント内で定義されているため、AWS のファイルに対する支払方法を持つ必要はありません。アカウント内のユーザーが実行したすべての AWS アクティビティは、お客様のアカウントに請求されます。
お客様が AWS アカウントに作成できる IAM ユーザーの数には制限があります。詳細については、「IAM および STS の制限」を参照してください。
ユーザーとサービスアカウント
IAM ユーザーは、関連付けられた認証情報とアクセス権限を持つ、IAM のリソースです。IAM ユーザーは、認証情報を使用して AWS リクエストを行う人物またはアプリケーションを表すことができます。これは通常、サービスアカウントと呼ばれます。IAM ユーザーの長期的な認証情報を使用することを選択した場合は、アプリケーションコードに直接アクセスキーを埋め込まないでください。 AWS SDK と AWS Command Line Interface では、既知のロケーションにアクセスキーを置くことができるため、コードで保持する必要はありません。詳細情報については、AWS General Referenceの「IAMユーザーのアクセスキーを適切に管理する」をご覧ください。または、ベストプラクティスとして、長期的なアクセスキーの代わりに一時的なセキュリティ認証情報 (IAM ロール) を使用できます。