

# 비상 액세스를 위한 IAM 사용자 생성
<a name="getting-started-emergency-iam-user"></a>

*[IAM 사용자](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*는 단일 개인 또는 애플리케이션에 대한 특정 권한을 가지고 있는 AWS 계정 내 ID입니다.

비상 액세스를 위한 IAM 사용자를 두는 것은 ID 제공업체에 액세스할 수 없는 경우에도 AWS 계정에 액세스할 수 있도록 IAM 사용자를 생성하는 것이 권장되는 이유 중 하나입니다.

**참고**  
보안 [모범 사례](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를 활성화한 경우 IAM Identity Center에서 사용자 액세스를 관리하는 것이 가장 좋다는 알림이 AWS Management Console에 표시됩니다. 이 절차에서 생성한 IAM 사용자는 ID 제공업체를 사용할 수 없는 경우에만 사용하도록 설계되었습니다.

1. **사용자 세부 정보 지정** 페이지의 **사용자 세부 정보** 아래에 있는 **사용자 이름**에 새 사용자의 이름을 입력합니다. 이것은 AWS에 로그인할 때 사용하는 이름입니다. 이 예에서는 **EmergencyAccess**를 입력합니다.
**참고**  
사용자 이름에는 최대 64개의 문자, 숫자 및 더하기(\+), 등호(=), 쉼표(,), 마침표(.), 앳(@) 및 하이픈(-) 조합을 사용할 수 있습니다. 이름은 계정 내에서 고유해야 합니다. 대소문자는 구별하지 않습니다. 예를 들어 "TESTUSER"와 "testuser"라는 두 사용자를 만들 수는 없습니다. 사용자 이름이 정책에서 또는 ARN의 일부로 사용되는 경우 이름은 대소문자를 구분합니다. 콘솔에서 고객에게 사용자 이름이 표시되는 경우(예: 로그인 프로세스 중) 사용자 이름은 대소문자를 구분하지 않습니다.

1. **사용자에게 AWS Management Console 액세스 권한 제공- *선택 사항*** 옆의 확인란을 선택한 다음 **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 Management Console에 대한 액세스 권한 부여. 이를 위해서는 암호가 필요합니다. 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` 명령을 사용하여 `--cli-input-json` 파라미터를 전달하고 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
     ```

------