AWS 認証情報の理解と取得 - AWS 全般のリファレンス

AWS 認証情報の理解と取得

AWS には、AWS へのアクセス方法に応じて異なる種類のセキュリティ認証情報が必要です。たとえば、AWS マネジメントコンソール にサインインするにはユーザー名とパスワードが必要です。また、AWS をプログラムで呼び出す、または AWS Command Line Interface か AWS Tools for PowerShell を使用するにはアクセスキーが必要です。

考慮事項

  • AWS アカウントに関連付けられている E メールアドレス、AWS アカウント ID、パスワード、シークレットアクセスキーは必ず安全な場所に保存してください。これらの認証情報は、忘れたり紛失したりすると、復元できません。セキュリティ上の理由から、AWS は、ユーザーまたは他のユーザーがユーザーの認証情報を取得するための手段を提供しません。

  • 日常的な AWS タスクに使用する管理者権限を持つ IAM ユーザーを作成し、ルートユーザー のパスワードとアクセスキーをロックすることを強くお勧めします。ルートユーザー に制限されているタスクには、ルートユーザー のみを使用します。

  • 認証情報は、アカウントに固有です。複数の AWS アカウントにアクセスできる場合は、アカウントごとに別々の認証情報があります。

  • AWS 認証情報を第三者に提供しないでください。

コンソールのアクセス

AWS には 2 つの異なるタイプのユーザーがあります。アカウント所有者 (ルートユーザー) または AWS Identity and Access Management (IAM) ユーザーです。AWS マネジメントコンソール へのサインイン方法は、ルートユーザー か IAM ユーザーかによって異なります。

ルートユーザー E メールアドレスとパスワード

AWS アカウントを最初に作成するときは、アカウントの E メールアドレスと ルートユーザー のパスワードを指定します。AWS アカウントに ルートユーザー としてサインインするには、この E メールアドレスとパスワードを入力します。ルートユーザー は、AWS マネジメントコンソール にサインインし、セキュリティ認証情報ページを使用してアカウント名、E メールアドレス、およびパスワードを変更できます。ルートユーザー のパスワードを忘れた場合は、コンソールのサインインページを開き、[パスワードを忘れた場合] を選択すると、パスワードをリセットできます。

IAM ユーザー名とパスワード

IAM ユーザーは、ルートユーザー または IAM 管理者によって AWS アカウント内で作成されます。IAM ユーザーを作成したユーザーは、アカウントのエイリアスまたは 12 桁の AWS アカウント ID、IAM ユーザー名、IAM ユーザーのパスワードを提供する必要があります。IAM ユーザーは、コンソールサインインページまたは次のサインイン URL を使用してサインインできます。account_id_or_alias を、提供されたアカウントエイリアスまたは AWS アカウント ID に置き換えます。

https://account_id_or_alias.signin.aws.amazon.com/console/

IAM ユーザーのパスワードを忘れた場合は、IAM 管理者またはアカウント所有者に問い合わせてください。IAM 管理者から独自の AWS 認証情報を管理する権限が与えられた場合は、セキュリティ認証情報ページを使用してパスワードを定期的に変更できます。これはセキュリティのベストプラクティスです。

多要素認証(MFA)

Multi-Factor Authentication (MFA) は、AWS アカウントのセキュリティをさらに強化するサービスです。セキュリティを高めるために、AWS アカウントのルートユーザー 認証情報および権限の高い IAM ユーザーに対して MFA を要求することをお勧めします。詳細については、IAM ユーザーガイドの「AWS のデバイスに 多要素認証 (MFA) を使用」を参照してください。

MFA が有効な場合、AWS アカウントにサインインするときに、ユーザー名とパスワード、および MFA デバイスからの認証コードを求められます。MFA を追加することで、AWS アカウントの設定とリソースのセキュリティが強化されます。

デフォルトでは、MFA (multi-factor authentication) は有効になっていません。AWS マネジメントコンソール の [セキュリティ認証情報] ページまたは IAM ダッシュボードにアクセスすれば、AWS アカウントのルートユーザー の MFA デバイスを有効にして管理できます。IAM ユーザーの MFA を有効にする方法の詳細については、IAM ユーザーガイドの「MFA デバイスの有効化」を参照してください。

プログラムによるアクセス

AWS へのプログラムによる呼び出しを行う場合、または AWS Command Line Interface か AWS Tools for PowerShell を使用する場合は、AWS アクセスキーを指定する必要があります

アクセスキーを作成するときは、アクセスキー ID (AKIAIOSFODNN7EXAMPLE など) とシークレットアクセスキー (wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY など) をセットとして作成します。シークレットアクセスキーは、作成時にのみダウンロードできます。シークレットアクセスキーをダウンロードしない場合や紛失した場合は、新しいシークレットアクセスキーを作成する必要があります。

ユーザー (ルートユーザー または IAM ユーザー) ごとに最大 2 つのアクセスキーを割り当てることができます。2 つのアクセスキーを持っていると、回転させるときに便利です。アクセスキーを無効にすると、そのアクセスキーを使用することはできませんが、2 つのアクセスキーの制限にカウントされます。アクセスキーを削除すると、そのアクセスキーは永久に削除され、復元することはできませんが、新しいアクセスキーで置き換えることができます。

ルートユーザー としてサインインした場合にアクセスキーを作成するには

  1. AWS マネジメントコンソール に ルートユーザー としてサインインします。詳細については、IAM ユーザーガイド の「ルートユーザー としてサインインする」を参照してください。

  2. 右上のナビゲーションバーでアカウント名またはアカウント番号を選択し、続いて [セキュリティ認証情報] を選択します。

  3. [アクセスキー (アクセスキー ID とシークレットアクセスキー)] セクションを展開します。

  4. [新しいアクセスキーの作成] を選択します。既に 2 つのアクセスキーがある場合、このボタンは無効になります。

  5. プロンプトが表示されたら、[アクセスキーを表示] または [キーファイルのダウンロード] を選択します。これはシークレットアクセスキーを保存する唯一の機会です。

  6. シークレットアクセスキーを安全な場所に保存したら、[閉じる] を選択します。

IAM ユーザーとしてサインインした場合にアクセスキーを作成するには

  1. IAM ユーザーとして AWS マネジメントコンソール にサインインします。詳細については、IAM ユーザーガイド の「 IAM ユーザーとしてサインインする」を参照してください。

  2. 右上のナビゲーションバーでユーザー名を選択し、続いて [セキュリティ認証情報] を選択します。

    ヒント

    [セキュリティ認証情報] ページが表示されない場合は、IAM ユーザーではなくフェデレーティッドユーザーとしてサインインしている可能性があります。代わりに、一時的なアクセスキーを作成して使用できます。

  3. [AWS IAM 認証情報]、[アクセスキーの作成] を選択します。既に 2 つのアクセスキーがある場合、コンソールに「制限の超過」というエラーが表示されます。

  4. プロンプトが表示されたら、[.csv ファイルのダウンロード] または [シークレットアクセスキーの表示] を選択します。これはシークレットアクセスキーを保存する唯一の機会です。

  5. シークレットアクセスキーを安全な場所に保存したら、[閉じる] を選択します。

一時的なアクセスキー

また一時的なセキュリティ認証情報と呼ばれる、一時的なアクセスキーを作成して使用することもできます。一時的なセキュリティ認証情報には、アクセスキー ID とシークレットアクセスキーに加え、一時的なセキュリティ認証情報を使用するときに AWS に送信する必要があるセキュリティトークンが含まれます。一時的なセキュリティ認証情報の利点は、それらの有効期間が短期間であることです。有効期限が切れると、その後は有効にはなりません。セキュリティ保護の弱い環境では一時アクセスキーを使用するか、AWS アカウントのリソースへの一時的なアクセス権をユーザーに配布できます。たとえば、AWS アカウントのリソースへのアクセス権を、他の AWS アカウントからのエンティティに付与できます (クロスアカウントアクセス)。また、AWS セキュリティ認証情報を持たないユーザーに、AWS アカウントのリソースへのアクセス権を付与することもできます (フェデレーション)。詳細については、「aws sts assume-role」を参照してください。