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 Management Console に表示される名前です。

  • ユーザーの 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 Management Console などのインタラクティブセッションにサインインするときにユーザーが入力するパスワード。ユーザのパスワード (コンソールアクセス) を無効化すると、ユーザー名とパスワードを使用して AWS Management Console にサインインできなくなります。アクセス許可を変更したり、想定されたロールを使用してコンソールにアクセスすることを妨げたりすることはありません。

  • アクセスキー: アクセスキー ID とシークレットアクセスキーの組み合わせ。1 人のユーザーに一度に 2 つ割り当てることができます。これらを使用して AWS をプログラムで呼び出すことができます。ユーザーがアクティブなアクセスキーを持っている場合、それらのキーは引き続き機能し、AWS CLI、Tools for Windows PowerShell、AWS API、またはAWS Console Mobile Application 用のツールを介したアクセスを許可します。

  • CodeCommit で使用する SSH キー: CodeCommit での認証に使用可能な OpenSSH 形式の SSH パブリックキー。

  • サーバー証明書: AWS の一部のサービスでの認証に使用可能な SSL/TLS 証明書。AWS Certificate Manager (ACM) を使用してサーバー証明書のプロビジョニング、管理、デプロイを行うことをお勧めします。ACM でサポートされていないリージョンで HTTPS 接続をサポートする必要があるときにのみ、IAM を使用してください。ACM をサポートするリージョンについては、AWS Certificate Manager エンドポイントとクォータの「AWS 一般的なリファレンス」を参照してください。

IAM ユーザーに適した認証情報を選択できます。AWS Management Console を使用してユーザーを作成するときは、少なくともコンソールパスワードまたはアクセスキーを含める選択をする必要があります。デフォルトでは、AWS CLI または AWS API を使用して作成された新しい IAM ユーザーには、どのような種類の認証情報も提供されていません。ユーザーのニーズに基づいて、IAM ユーザーに合った種類の認証情報を作成する必要があります。

パスワード、アクセスキー、および MFA デバイスを管理するために、次のオプションを使用します。

  • IAM ユーザーのパスワードを管理します。AWS Management Console へのアクセスを許可するパスワードを作成および変更します。最低限のパスワードの複雑さを強制するパスワードポリシーを設定します。自分のパスワードの変更をユーザーに許可します。

  • IAM ユーザーのアクセスキーを管理しますアカウントのリソースにプログラムでアクセスするためのアクセスキーを作成および更新します。

  • ユーザーの認証情報のセキュリティを強化するには、ユーザーに対して多要素認証 (MFA) を有効にすることができます。MFA を使用する場合、ユーザーは 2 つの形式の ID を指定する必要があります。まず、ユーザー ID の一部である認証情報 (パスワードまたはアクセスキー) を指定します。さらに、一時的な数値コードを指定します。この数値コードは、ハードウェアデバイスか、スマートフォンまたはタブレットのアプリケーションで生成されます。

  • 使用されていないパスワードおよびアクセスキーを見つけますアカウントのパスワードまたはアクセスキーを持つユーザー、またはアカウント内の 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 クォータおよび AWS STS クォータ、名前の要件、および文字の制限」を参照してください。

ユーザーとサービスアカウント

IAM ユーザーは、関連付けられた認証情報とアクセス権限を持つ、IAM のリソースです。IAM ユーザーは、認証情報を使用して AWS リクエストを行う人物またはアプリケーションを表すことができます。これは通常、サービスアカウントと呼ばれます。IAM ユーザーの長期的な認証情報を使用することを選択した場合は、アプリケーションコードに直接アクセスキーを埋め込まないでください。AWS SDK と AWS Command Line Interface では、既知のロケーションにアクセスキーを置くことができるため、コードで保持する必要はありません。詳細については、AWS 一般的なリファレンスの「IAM ユーザーアクセスキーを適切に管理する」を参照してください。または、ベストプラクティスとして、長期的なアクセスキーの代わりに一時的なセキュリティ認証情報 (IAM ロール) を使用できます