

# 緊急アクセス用の IAM ユーザーを作成する
<a name="getting-started-emergency-iam-user"></a>

[IAM ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)は、1 人のユーザーまたは 1 つのアプリケーションに対して特定の許可を持つ AWS アカウント 内のアイデンティティです。

IAM ユーザーの作成を推奨する理由の 1 つに、緊急アクセス用の IAM ユーザーを確保することがあります。これで、ID プロバイダーがアクセス不能になった場合でも AWS アカウントにアクセスできます。

**注記**  
セキュリティ上の[ベストプラクティス](best-practices.md)として、IAM ユーザーを作成するのではなく、ID フェデレーションを通じてリソースへのアクセスを提供することをお勧めします。IAM ユーザーが必要な特定の状況についての情報は、「[IAMユーザー (ロールの代わりに) を作成する場合](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose)」を参照してください。

## 緊急アクセス用の IAM ユーザーを作成するには
<a name="getting-started-emergency-iam-user-section-1"></a>

**最小アクセス許可**  
次の手順を実行するには、少なくとも以下のIAM アクセス許可が必要です。  
`access-analyzer:ValidatePolicy`
`iam:AddUserToGroup`
`iam:AttachGroupPolicy`
`iam:CreateGroup`
`iam:CreateLoginProfile`
`iam:CreateUser`
`iam:GetAccountPasswordPolicy`
`iam:GetLoginProfile`
`iam:GetUser`
`iam:ListAttachedGroupPolicies`
`iam:ListAttachedUserPolicies`
`iam:ListGroupPolicies`
`iam:ListGroups`
`iam:ListGroupsForUser`
`iam:ListPolicies`
`iam:ListUserPolicies`
`iam:ListUsers`

------
#### [ Console ]<a name="gs-proc-iam-user-user"></a>

1. *AWSサインインユーザーガイド*の「[AWS へのサインイン方法](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)」のトピックで説明されているように、ユーザータイプに適したサインイン手順に従ってください。

1. **[IAM コンソールのホーム]** ページの左側のナビゲーションペインで、**[検索の IAM]** テキストボックスにクエリを入力します。

1. ナビゲーションペインで **[ユーザー]**、**[ユーザーの作成]** の順に選択します。
**注記**  
IAM Identity Center を有効にしている場合は、AWS マネジメントコンソール には、IAM Identity Center でユーザーのアクセスを管理するのが最善であることを示すメッセージが表示されます。この手順で作成した IAM ユーザーは、特に ID プロバイダーが利用できなくなった場合にのみ使用します。

1. **[ユーザーの詳細を指定]** ページの **[ユーザーの詳細]** の **[ユーザー名]** に、新しいユーザーの名前を入力します。これは、AWS のサインイン名です。この例では、**EmergencyAccess** と入力します。
**注記**  
ユーザー名は、最大 64 文字の英数字、プラス記号 (\$1)、等号 (=)、カンマ (,)、ピリオド (.)、アットマーク (@)、アンダースコア (\$1)、ハイフン (-) を組み合わせて指定します。名前はアカウント内で一意である必要があります。大文字と小文字は区別されません。例えば、TESTUSER というユーザーと testuser というユーザーを作成することはできません。ユーザー名をポリシーまたは ARN の一部として使用する場合、名前の大文字と小文字が区別されます。サインイン中など、コンソールにユーザー名が表示される場合、大文字と小文字は区別されません。

1. **[AWS マネジメントコンソール へのユーザーアクセスを提供する — オプション]** の横にあるチェックボックスを選択し、**[IAM ユーザーを作成します]** を選択します。

1. **[コンソールパスワード]** で、**[自動生成パスワード]** を選択します。

1. **[ユーザーは次回サインイン時に新しいパスワードを作成する必要があります (推奨)]** の横にあるチェックボックスをオンにします。この IAM ユーザーは緊急アクセス用であるため、信頼できる管理者がパスワードを保持し、必要な場合にのみ提供します。

1. **[権限の設定]** ページの **[権限オプション]** の、**[ユーザーをグループに追加]** を選択します。次に、**[ユーザーグループ]** で **[グループの作成]** を選択します。

1. **[ユーザーグループの作成]** ページの **[ユーザーグループ名]** に、**EmergencyAccessGroup** と入力します。次に、**[許可ポリシー]** で **[AdministratorAccess]** を選択します。

1. **[ユーザーグループを作成]** を選択して **[許可を設定]** ページに戻ります。

1. **[ユーザーグループ]** で、以前に作成した **EmergencyAccessGroup** の名前を選択します。

1. **[次へ]** を選択して **[確認および作成]** ページに進みます。

1. **[確認と作成]** ページで、新しいユーザーに追加するユーザーグループメンバーシップのリストを確認します。続行する準備ができたら、**[ユーザーの作成]** を選択します。

1. **[パスワードの取得]** ページで、**[.csv ファイルのダウンロード]** を選択し、ユーザーの認証情報 (接続 URL、ユーザー名、パスワード) が含まれている .csv ファイルを保存します。

1. このファイルを保存して、IAM にサインインする必要があるものの、ID プロバイダーにアクセスできない場合に使用します。

新しい IAM ユーザーが**[ユーザー]** リストに表示されます。**[ユーザー名]** リンクを選択すると、ユーザーの詳細が表示されます。

------
#### [ AWS CLI ]

1. **EmergencyAccess** という名前のユーザーを作成します。
   + [aws iam create-user](https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html)

   ```
   aws iam create-user \
      --user-name EmergencyAccess
   ```

1. (オプション) ユーザーに AWS マネジメントコンソール へのアクセス権を付与します。これにはパスワードが必要です。IAM ユーザーのパスワードを作成するには、`--cli-input-json` パラメータを使用して、パスワードが含まれている JSON ファイルを渡します。また、[アカウントのサインインページの URL](id_users_sign-in.md) をユーザーに提供する必要があります。
   +  [aws iam create-login-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-login-profile.html)

     ```
      
     aws iam create-login-profile \
        --generate-cli-skeleton > create-login-profile.json
     ```
   + テキストエディタで `create-login-profile.json` ファイルを開き、パスワードポリシーに準拠したパスワードを入力して、ファイルを保存します。例えば、次のようになります。

     ```
     {
      "UserName": "EmergencyAccess",
      "Password": "Ex@3dRA0djs",
      "PasswordResetRequired": false
     }
     ```
   + 再度 `aws iam create-login-profile` コマンドを使用して、JSON ファイルを指定した `--cli-input-json` パラメータを渡します。

     ```
     aws iam create-login-profile \
        --cli-input-json file://create-login-profile.json
     ```
**注記**  
JSON ファイルに指定したパスワードがアカウントのパスワードポリシーに違反している場合は、`PasswordPolicyViolation` エラーが返されます。この場合は、アカウントの[パスワードポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_account-policy.html#default-policy-details)を確認し、要件を満たすように JSON ファイル内のパスワードを更新します。

1. **EmergencyAccessGroup** を作成し、AWS マネージドポリシー `AdministratorAccess` をグループにアタッチして、グループに **EmergencyAccess** ユーザーを追加します。
**注記**  
*AWS 管理ポリシー*は、AWS が作成および管理するスタンドアロンポリシーです。各ポリシーには、それぞれ独自の Amazon リソースネーム (ARN) (ポリシー名を含む) があります。たとえば、`arn:aws:iam::aws:policy/IAMReadOnlyAccess` は AWS 管理ポリシーです。ARN の詳細については、[IAM ARN](reference_identifiers.md#identifiers-arns)を参照してください。AWS のサービス に対する AWS マネージドポリシーのリストについては、「[AWS マネージドポリシー](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/policy-list.html)」を参照してください。
   + [aws iam create-group](https://docs.aws.amazon.com/cli/latest/reference/iam/create-group.html) 

     ```
     aws iam create-group \
        --group-name EmergencyAccessGroup
     ```
   + [aws iam attach-group-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-group-policy.html)

     ```
     aws iam attach-group-policy \
        --policy-arn arn:aws:iam::aws:policy/AdministratorAccess \
        --group-name >EmergencyAccessGroup
     ```
   + [aws iam add-user-to-group](https://docs.aws.amazon.com/cli/latest/reference/iam/add-user-to-group.html) 

     ```
     aws iam add-user-to-group \
        --user-name EmergencyAccess \
        --group-name EmergencyAccessGroup
     ```
   + [aws iam get-group](https://docs.aws.amazon.com/cli/latest/reference/iam/get-group.html) コマンドを実行して、**EmergencyAccessGroup** とそのメンバーをリストします。

     ```
     aws iam get-group \
        --group-name EmergencyAccessGroup
     ```

------