IAM ユーザー - AWS Identity and Access Management

IAM ユーザー

AWS Identity and Access Management (IAM) ユーザーは AWS で作成するエンティティであり、AWS とやり取りするためにこれを使用するユーザーまたはアプリケーションを表します。AWS のユーザーは名前と認証情報で構成されます。

管理者アクセス許可を持つ IAM ユーザーが AWS アカウントのルートユーザー ということではありません。ルートユーザー の詳細については、「AWS アカウントのルートユーザー」を参照してください。

重要

ウェブサイトで Amazon 製品を販売するための Product Advertising API に関する情報を探していてこのページを見つけた場合は、「Product Advertising API 5.0 ドキュメント」を参照してください。

AWS が IAM ユーザーを識別する方法

ユーザーを作成すると、IAM はそのユーザーを識別するための以下の手段を作成します。

  • ユーザーの「フレンドリ名」。ユーザーを作成したときに指定した名前です (RichardAnaya など)。これは、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 識別子を参照してください。

ユーザーと認証情報

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 ユーザーのアクセス権限の変更」を参照してください。ユーザーのパスワードやアクセスキーを変更する手順については、「AWS でのユーザーパスワードの管理」と「IAM ユーザーのアクセスキーの管理」を参照してください。

ユーザーにアクセス許可の境界を追加することもできます。アクセス許可の境界は、AWS 管理ポリシーを使用してアイデンティティベースのポリシーでユーザーまたはロールに付与できるアクセス許可の上限を設定できる高度な機能です。ポリシーのタイプと用途の詳細については、「IAM でのポリシーとアクセス許可」を参照してください。

ユーザーとアカウント

各 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 ロール) を使用できます。