AWS Identity and Access Management
ユーザーガイド

チュートリアル: ユーザーが自分の認証情報および MFA を設定できるようにする

ユーザーが各自の多要素認証 (MFA) デバイスと認証情報を [My Security Credentials (セキュリティ認証情報)] ページで自己管理するようにできます。ユーザーが少数の場合は、AWS マネジメントコンソール を使用して、認証情報 (アクセスキー、パスワード、デジタル署名用証明書、SSH パブリックキー) および MFA デバイスを設定することができます。しかし、この作業には、ユーザーの数が増えるにつれて時間がかかります。セキュリティ上のベストプラクティスでは、ユーザーが定期的にパスワードを変更し、アクセスキーをローテーションするように指定しています。また、不要な資格情報を削除または無効にする必要があります。また、機密性の高いオペレーションには MFA を使用することを強くお勧めします。このチュートリアルでは、このようなベストプラクティスを管理者に負担を与えずに実現する方法を説明します。

このチュートリアルでは、AWS サービスへのアクセスをユーザーに許可する方法を示します。ただし、ユーザーが MFA を使用してサインインした場合に限ります。MFA デバイスでサインインしていない場合、ユーザーは他のサービスにアクセスできません。

このワークフローには 3 つの基本的なステップがあります。

ステップ 1: MFA サインインを強制するポリシーを作成する

[My Security Credentials (セキュリティ認証情報)] ページで、ユーザーが自分の認証情報を変更して MFA デバイスを管理できるようにする、いくつかの IAM アクションを除いて、すべてのアクションを禁止するカスタマー管理ポリシーを作成します。該当ページへのアクセスの詳細

ステップ 2: テストグループにポリシーを関連付ける

メンバーが MFA でサインインすると、すべての Amazon EC2 アクションにフルアクセスできるグループを作成します。このようなグループを作成するには、AmazonEC2FullAccess という AWS 管理ポリシーと最初の手順で作成したカスタマー管理ポリシーの両方をアタッチします。

ステップ 3: ユーザーアクセスをテストする

テストユーザーとしてサインインし、MFA デバイスを作成してそのデバイスを使用してサインインするまで、Amazon EC2 へのアクセスがブロックされることを確認します。

前提条件

このチュートリアルのステップを実行するには、以下を持っている必要があります:

  • 管理者権限を持つ IAM ユーザーとしてサインインできる AWS アカウント。

  • アカウント ID 番号。ステップ 1 のポリシーに入力します。

    アカウント ID 番号を確認するには、ページ上部のナビゲーションバーで [サポート]、[サポートセンター] の順に選択します。アカウント ID 番号は、このページの [サポート] メニューの下で確認できます。

  • 仮想 (ソフトウェアベース) MFA デバイスU2F セキュリティキー、またはハードウェアベース MFA デバイス

  • グループのメンバーであるテスト IAM ユーザーは次のとおりです。

ユーザーアカウントを作成する グループアカウントを作成して設定する
ユーザー名 その他の手順 グループ名 メンバーとしてユーザーを追加する その他の手順
MFAUser [AWS マネジメントコンソール のアクセス] のオプションのみを選択し、パスワードを割り当てます。 EC2MFA MFAUser このグループへのポリシーのアタッチや、アクセス許可の付与は行わないでください。

ステップ 1: MFA サインインを強制するポリシーを作成する

まず、IAM ユーザー各自の認証情報と MFA デバイスの管理に必要なアクセス許可を除いて、すべてのアクセス許可を拒否する IAM カスタマー管理ポリシーを作成します。

  1. 管理者認証情報を使用してユーザーとして AWS マネジメントコンソールにサインインします。IAM のベストプラクティスに準拠し、AWS アカウントのルートユーザー 認証情報ではサインインしないでください。詳細については、「個々の IAM ユーザーの作成」を参照してください。

  2. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  3. ナビゲーションペインで、[ポリシー]、[ポリシーの作成] の順に選択します。

  4. [JSON] タブを選択し、以下の JSON ポリシードキュメントからテキストをコピーします。AWS: MFA で認証された IAM ユーザーが [My Security Credentials (セキュリティ認証情報)] ページで自分の認証情報を管理できるようにします。

  5. ポリシーのテキストを [JSON] テキストボックスに貼り付け、[Review policy (ポリシーの確認)] を選択します。Policy Validator によって、構文エラーがある場合はレポートされます。

    注記

    いつでも [Visual editor (ビジュアルエディタ)] タブと [JSON] タブを切り替えることができます。ただし、上記のポリシーには NotAction 要素が含まれていますが、これはビジュアルエディタではサポートされていません。このポリシーについては、[Visual editor (ビジュアルエディタ)] タブに通知が表示されます。[JSON] タブに戻り、このポリシーの操作を続行します。

  6. [Review (確認)] ページで、ポリシー名として「Force_MFA」と入力します。ポリシーの詳細として、「This policy allows users to manage their own passwords and MFA devices but nothing else unless they authenticate with MFA.」と入力します。ポリシーの [Summary (概要)] で、ポリシーによって割り当てられたアクセス許可を確認し、[ポリシーの作成] を選択して作業を保存します。

    新しいポリシーが管理ポリシーの一覧に表示され、アタッチの準備ができます。

ステップ 2: テストグループにポリシーを関連付ける

次に、MFA で保護されたアクセス許可を付与するために使用されるテスト IAM グループに、2 つのポリシーをアタッチします。

  1. ナビゲーションペインで、[ Groups] を選択します。

  2. 検索ボックスに「EC2MFA」と入力し、リストのグループ名 (チェックボックスではありません) を選択します。

  3. [Permissions (アクセス許可)] タブで、[ポリシーのアタッチ] をクリックします。

  4. [ポリシーのアタッチ] ページで、検索ボックスに「EC2Full」と入力し、リストの [AmazonEC2FullAccess] の横にあるチェックボックスを選択します。変更はまだ保存しないでください。

  5. 検索ボックスに「Force」と入力し、リストの [Force_MFA] の横にあるチェックボックスをオンにします。

  6. [Attach Policy] を選択します。

ステップ 3: ユーザーアクセスをテストする

チュートリアルのこの部分では、テストユーザーとしてサインインし、ポリシーが意図したとおりに動作することを確認します。

  1. 前のセクションで割り当てたパスワードを使用し、MFAUser として AWS アカウントにサインインします。URL: https://<alias or account ID number>.signin.aws.amazon.com/console を使用します。

  2. [EC2] を選択して Amazon EC2 コンソールを開き、ユーザーには一切の操作を行うアクセス許可がないことを確認します。

  3. ナビゲーションバーで [サービス] を選択し、[IAM] を選択して IAM コンソールを開きます。

  4. ナビゲーションペインで、[ユーザー] を選択し、ユーザーとして (チェックボックスではなく) [MFAUser] を選択します。デフォルトで [グループ] タブが表示される場合は、グループメンバーシップを表示するアクセス許可がないことを意味します。

  5. ここで MFA デバイスを追加します。[Security credentials] タブを選択します。[Assigned MFA device (割り当て済み MFA デバイス)] の横で、[管理] を選択します。

  6. このチュートリアルでは、携帯電話で Google Authenticator アプリなどの仮想 (ソフトウェアベース) MFA デバイスを使用します。[仮想 MFA デバイス] を選択し、[次のステップ] をクリックします。

    IAM が QR コードを含む仮想 MFA デバイスの設定情報を生成して表示します。図は、QR コードに対応していないデバイスでの手動入力に利用できるシークレット設定キーを示しています。

  7. 仮想 MFA アプリを開きます。(仮想 MFA デバイスをホストするために使用できるアプリのリストについては、「仮想 MFA アプリケーション」を参照) 仮想 MFA アプリが複数のアカウント (複数の仮想 MFA デバイス) をサポートしている場合は、新しいアカウント (新しい仮想 MFA デバイス) を作成するオプションを選択します。

  8. MFA アプリが QR コードをサポートしているかどうかを確認してから、次のいずれかを実行します。

    • ウィザードから、[Show QR code (QR コードの表示)] を選択します。QR コードをスキャンするアプリを使用します。たとえば、カメラアイコンまたは [Scan code (スキャンコード)] に似たオプションを選択し、デバイスのカメラを使用してコードをスキャンします。

    • [MFA デバイスの管理] ウィザードで [手動設定のシークレットキーを表示] を選択し、MFA アプリにシークレット設定キーを入力します。

    これで仮想 MFA デバイスはワンタイムパスワードの生成を開始します。

  9. [MFA デバイスの管理] ウィザードの [MFA Code 1 (MFA コード 1)] ボックスに、現在仮想 MFA デバイスに表示されているワンタイムパスワードを入力します。デバイスが新しいワンタイムパススワードを生成するまで待ちます (最長 30 秒)。生成されたら [MFA Code 2 (MFA コード 2)] ボックスに 2 つ目のワンタイムパススワードを入力します。[Assign MFA (MFA の割り当て)] を選択します。

    重要

    コードを生成したら、即時にリクエストを送信します。コードを生成した後にリクエストを送信するまで時間がかかりすぎる場合、MFA デバイスはユーザーと正常に関連付けられます。ただし、MFA デバイスは同期しません。これは、時刻ベースのワンタイムパスワード (TOTP) の有効期間が短いために起こります。その場合は、デバイスの再同期ができます。

    これで仮想 MFA デバイスを AWS で使用できます。

  10. コンソールからサインアウトし、再度 MFAUser としてサインインします。今回は AWS により、携帯電話から MFA コードを取得するよう求められます。コードを取得したら、それをボックスに入力し、[Submit (送信)] を選択します。

  11. [EC2] を選択し、再度 Amazon EC2 コンソールを開きます。今回は、すべての情報を表示して、必要なアクションを実行することができます。このユーザーとしてその他のコンソールにアクセスすると、このチュートリアルのポリシーは Amazon EC2 へのアクセスのみ許可するため、"アクセス拒否" メッセージが表示されます。

IAM ユーザーガイド の関連情報については、以下の関連リソースを参照してください。