AWS にAWS認証情報を使用してアクセスする
AWS には、AWS へのアクセス方法とAWSユーザータイプに応じて異なる種類のセキュリティ認証情報が必要です。例えば、AWS Management Console にはサインインの認証情報を使用し、プログラムで AWS を呼び出すにはアクセスキーを使用します。また、アカウントのルートユーザー、AWS Identity and Access Management (IAM) ユーザー、AWS IAM Identity Center (successor to AWS Single Sign-On)ユーザー、またはフェデレーション ID など、使用する各 ID はいずれも AWS 内で一意の認証情報を保持します。
日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザーの認証情報を保護し、それらを使用してルートユーザーのみが実行できるタスクを実行します。ルートユーザーとしてサインインする必要があるタスクの完全なリストについては、「ルートユーザー認証情報が必要なタスク」を参照してください。
次の方法で AWS にアクセスできます。
AWS Management Console サインインページ
ルートユーザーと IAM ユーザーは AWS Management Console
ルートユーザーとしてサインインするには
AWS アカウント の作成に使用したメールアドレスとルートユーザーのパスワードが必要です。詳細については、AWSサインインユーザーガイドの「ルートユーザーとして登録」を参照してください。
IAM ユーザーとしてサインインするには
アカウント所有者は、アカウント ID またはエイリアス、ユーザー名、パスワードを提供します。詳細については、AWS サインインユーザーガイドの「IAMユーザーとして登録」を参照してください。
トラブルシューティング情報については、AWS サインインユーザーガイドの「サインインに関する問題のトラブルシューティング」を参照してください。
AWS アクセスポータルのサインインページ
IAM Identity Center ユーザーは、AWS Management Console ではなく AWS アクセスポータルからサインインします。AWS アクセスポータルからサインインした後、AWS アカウント およびアプリケーションにアクセスできます。AWS アクセスポータルから Office 365、Concur、Salesforce などのクラウドアプリケーションにアクセスできます。詳細については、AWS IAM Identity Center (successor to AWS Single Sign-On)ユーザーガイドを参照してください。
サインインするには、サインイン URL、ユーザー名、パスワードが必要です。この情報は、管理者またはヘルプデスクの従業員から提供されます。あるいは、AWS アカウント の IAM Identity Center ユーザーを作成した場合、専用のサインイン URL が記載された招待メールが届いています。
AWS アクセスポータルを使用してサインインするには
手順については、AWS サインインユーザーガイドの「AWS アクセスポータルへのサインイン」を参照してください。
フェデレーティッド ID
フェデレーション ID は、外部 ID で安全な AWS アカウント リソースにアクセスできるユーザーです。外部認証は、企業の ID ストア (LDAP や Windows の Active Directory など) またはサードパーティー (Login with Amazon、Facebook、または Google でのログインなど) から取得できます。フェデレーション ID は AWS Management Console または AWS アクセスポータルではサインインしません。使用する外部 ID のタイプによって、フェデレーション ID のサインイン方法が決まります。
フェデレーション ID の詳細については、IAM ユーザーガイドの「ウェブ ID フェデレーションについて」を参照してください。
管理者は、https://signin.aws.amazon.com/federation
を含むカスタム URL を作成する必要があります。詳細については、「AWS Management Console へのカスタム ID ブローカーアクセスの有効化」を参照してください。
管理者はフェデレーション ID を作成します。フェデレーション ID を使用してサインインする方法の詳細については、管理者にお問い合わせください。
多要素認証 (MFA)
多要素認証 (MFA) は、AWS アカウント にアクセスできるユーザーのセキュリティをさらに強化するサービスです。セキュリティを高めるため、AWS アカウントのルートユーザー 認証情報と、すべての IAM ユーザーに対して MFA を必須にすることが推奨されます。詳細については、IAM ユーザーガイドの「AWS での多要素認証 (MFA) の使用」を参照してください。
MFA をアクティブ化して AWS アカウント にサインインすると、サインインの認証情報に加え、MFA デバイスによって生成されるレスポンス (コード、タッチまたはタップ、生体認証スキャンなど) を求められます。MFA を追加すると、AWS アカウント 設定とリソースの安全性が高まります。
デフォルトでは、MFA は有効化されていません。AWS アカウントのルートユーザー に対する MFA デバイスの有効化と管理は、「セキュリティ認証情報
多要素認証 (MFA) デバイスによるサインインの詳細については、「IAM のサインインページでの MFA デバイスの使用」を参照してください。
プログラム的なアクセス
プログラム的に AWS を使用する場合は、AWS アクセスキーを提供して、AWS がプログラム的な呼び出しでアイデンティティを検証できるようにします。アクセスキーは、一時的な (短期の) 認証情報、または IAM ユーザー用などの長期の認証情報のいずれかを使用できます。
アクセスキー
AWS へのプログラムによる呼び出しを行う場合、または AWS Command Line Interface か AWS Tools for PowerShell を使用する場合は、AWS アクセスキーを指定します 可能な場合は、短期のアクセスキーの使用をお勧めします。
長期的なアクセスキーを作成するときは、アクセスキー ID (AKIAIOSFODNN7EXAMPLE
など) とシークレットアクセスキー (wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
など) をセットとして作成します。シークレットアクセスキーは、作成時にのみダウンロードできます。シークレットアクセスキーをダウンロードしない場合や紛失した場合は、新しいシークレットアクセスキーを作成する必要があります。
多くの場合、期限のない長期のアクセスキーは必要ありません (IAM ユーザー用のアクセスキーを作成する場合など)。その代わり、IAM ロールを作成し、一時的なセキュリティ認証情報を生成できます。一時的なセキュリティ認証情報は、アクセスキー ID とシークレットアクセスキーが含まれていますが、認証情報がいつ無効になるかを示すセキュリティトークンも含まれています。有効期限が切れると、その後は有効にはなりません。
AKIA
で始まるアクセスキー ID は、IAM ユーザーまたは AWS アカウントルートユーザーの長期的なアクセスキーです。ASIA
で始まるアクセスキー ID は、AWS STS オペレーションを使用して作成される一時的な認証情報アクセスキーです。
AWS Management Console の外部で AWS を操作するには、ユーザーはプログラムによるアクセスが必要です。プログラムによるアクセスを許可する方法は、AWS にアクセスしているユーザーのタイプによって異なります。
-
IAM Identity Center で ID を管理する場合、AWS API にはプロファイルが必要で、AWS Command Line Interface にはプロファイルまたは環境変数が必要です。
-
IAM ユーザーがいる場合、AWS API と AWS Command Line Interface にはアクセスキーが必要です。可能な限り、アクセスキー ID、シークレットアクセスキー、および認証情報の失効を示すセキュリティトークンが含まれる一時的な認証情報を作成します。
ユーザーにプログラムによるアクセス権を付与するには、以下のいずれかのオプションを選択します。
どのユーザーがプログラムによるアクセスを必要としますか? | To | By |
---|---|---|
ワークフォース ID (IAM Identity Center で管理されているユーザー) |
短期認証情報を使用して、AWS CLI または AWS API (直接または AWS SDK を使用して) へのプログラムによるリクエストに署名します。 |
使用するインターフェイスの指示に従ってください。
|
IAM | 短期認証情報を使用して、AWS CLI または AWS API (直接または AWS SDK を使用して) へのプログラムによるリクエストに署名します。 | 「IAM ユーザーガイド」の「AWS リソースでの一時的な認証情報の使用」の指示に従ってください。 |
IAM | 長期間の認証情報を使用して、AWS CLI または AWS API (直接またはAWS SDK を使用して) へのプログラムによるリクエストに署名します。 (非推奨) |
「IAM ユーザーガイド」の「IAM ユーザーのアクセスキーの管理」の指示に従います。 |
長期的なアクセスキーの考慮事項と代替方法
多くの一般的なユースケースでは長期的なアクセスキーの代替方法があります。アカウントのセキュリティを強化するには、以下を検討してください。
-
長期的なアクセスキーやシークレットアクセスキーをアプリケーションコードやコードリポジトリに埋め込まないでください。代わりに AWS Secrets Manager またはその他のシークレット管理ソリューションを使用して、プレーンテキストでキーをハードコードする必要をなくします。アプリケーションまたはクライアントは必要に応じてシークレットを取得できます。詳細については、AWS Secrets Manager ユーザーガイドの「AWS Secrets Manager とは何か」を参照してください。
-
可能な場合には必ず IAM ロールを使用して一時的なセキュリティ認証情報を生成してください。可能な場合には、長期的なアクセスキーではなく、常に一時的なセキュリティ認証情報を発行するメカニズムを使用してください。一時的セキュリティ認証情報は、ユーザーとともに保存されることはなく、ユーザーのリクエストに応じて動的に生成され、提供されるため、より安全です。一時的セキュリティ認証情報は有効期間が限られているため、それらを管理したりローテーションしたりする必要はありません。一時的なアクセスキーを提供するメカニズムには、IAM ロールや IAM Identity Center ユーザーの認証が含まれます。AWS の外部で実行されるマシンには、AWS Identity and Access Management Roles Anywhere.を使用できます。
-
AWS Command Line Interface (AWS CLI) または
aws-shell
の長期的なアクセスキーの代替方法を使用します。代替方法には以下が含まれます。-
AWS CloudShell はブラウザーベースの事前認証済みシェルで、AWS Management Console から直接起動できます。任意のシェル (Bash、PowerShell、または Z シェル) を使用して、AWS のサービス に対して AWS CLI コマンドを実行できます。この手順を実行すると、コマンドラインツールのダウンロードもインストールも不要です。詳細については、AWS CloudShell ユーザーガイドの「AWS CloudShell とは何か」を参照してください。
-
AWS CLI バージョン 2 の AWS IAM Identity Center (successor to AWS Single Sign-On) との統合 (IAM Identity Center)。ユーザーを認証し、短期的な認証情報を提供して AWS CLI コマンドを実行します。詳細については、AWS IAM Identity Center (successor to AWS Single Sign-On) ユーザーガイドの「AWS CLI と IAM Identity Center の統合」および AWS Command Line Interface ユーザーガイドの「IAM Identity Center を使用するための AWS CLI の設定」を参照してください。
-
-
アプリケーションまたは AWS のサービス にアクセスする必要があるユーザー向けに長期的なアクセスキーを作成しないでください。IAM Identity Center は、AWS のサービス にアクセスする外部 IdP ユーザーに一時的なアクセス認証情報を生成できます。これにより、IAM で長期的な認証情報を作成して管理する必要がなくなります。IAM Identity Center で、外部 IdP ユーザーにアクセス権を付与する IAM Identity Center のアクセス権限セットを作成します。次に、IAM Identity Center のグループを、選択した AWS アカウント のアクセス権限セットに割り当てます。詳細については、AWS IAM Identity Center (successor to AWS Single Sign-On) ユーザーガイドの「AWS IAM Identity Center (successor to AWS Single Sign-On) とは」、「外部の ID プロバイダーとの接続」、および「アクセス権限セット」を参照してください。
-
長期的なアクセスキーを AWS コンピューティングサービス内に保存しないでください。代わりに、コンピューティングリソースに IAM ロールを割り当ててください。これにより、アクセス権を付与する一時的な認証情報が自動的に提供されます。例えば、Amazon EC2 インスタンスにアタッチされるインスタンスプロファイルを作成すると、AWS ロールをインスタンスに割り当て、そのアプリケーションのすべてで使用できるようになります。インスタンスプロファイルにはロールが含まれ、Amazon EC2 インスタンスで実行されるプログラムは一時的な認証情報を取得することができます。詳細については、「Amazon EC2 インスタンスで実行されるアプリケーションに IAM ロールを使用してアクセス許可を付与する」を参照してください。