비상 접근용 IAM 사용자 만들기
비상 접근용 IAM 사용자 만들기
IAM 사용자 는 단일 사용자 또는 애플리케이션을 위한 특정 권한을 가진 AWS 계정 내의 자격 증명이에요. 비상 접근용 IAM 사용자를 두는 것은 IAM 사용자를 만들라고 권장되는 경우 중 하나예요. 자격 증명 공급자에 접근할 수 없을 때 AWS 계정에 접근할 수 있도록 하기 위해서죠.
출처: 문서
본문
참고 — 보안 모범 사례에 따라 IAM 사용자를 만드는 대신 자격 증명 페더레이션으로 리소스 접근을 제공하는 것을 권장해요. IAM 사용자가 필요한 구체적인 상황은 IAM 사용자를 만들어야 하는 경우(역할이 아닌)를 참고하세요.
비상 접근용 IAM 사용자 만들기 (To create an IAM user for emergency access)
최소 권한 (Minimum permissions) – 다음 단계를 수행하려면 최소한 다음 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)
- _AWS Sign-In 사용자 가이드_의 AWS 로그인 방법 항목에 설명된 사용자 유형에 맞는 로그인 절차를 따라요.
- IAM Console Home 페이지의 왼쪽 탐색 창에서 Search IAM 텍스트 상자에 검색어를 입력해요.
- 탐색 창에서 Users를 선택한 뒤 Create user를 선택해요.
참고 — IAM Identity Center가 활성화되어 있다면 AWS Management Console은 사용자 접근을 IAM Identity Center에서 관리하는 게 좋다고 알림을 보내요. 이 절차에서 만드는 IAM 사용자는 자격 증명 공급자가 사용 불가능할 때만 쓰기 위한 거예요.
- Specify user details 페이지의 User details 아래 User name에 새 사용자 이름을 입력해요. 이 이름이 AWS 로그인 이름이에요. 이 예시에서는
EmergencyAccess를 입력해요.
참고 — 사용자 이름은 최대 64자로 문자, 숫자, 그리고 다음 문자(+, =, ,, ., @, _, -)의 조합일 수 있어요. 이름은 계정 내에서 고유해야 하며 대소문자를 구분하지 않아요. 예를 들어 TESTUSER와 testuser라는 두 사용자를 만들 수 없어요. 사용자 이름이 정책이나 ARN의 일부로 사용될 때는 대소문자를 구분해요. 콘솔에서 고객에게 표시될 때(예: 로그인 과정)는 대소문자를 구분하지 않아요.
- Provide user access to the AWS Management Console – optional 옆의 확인란을 선택한 뒤 I want to create an IAM user를 선택해요.
- Console password 아래에서 Autogenerated password를 선택해요.
- User must create a new password at next sign-in (recommended) 옆의 확인란을 선택 해제해요. 이 IAM 사용자는 비상 접근용이므로 신뢰할 수 있는 관리자가 비밀번호를 보관하고 필요할 때만 제공해요.
- Set permissions 페이지의 Permissions options 아래에서 Add user to group을 선택한 뒤 User groups 아래에서 Create group을 선택해요.
- Create user group 페이지의 User group name에
EmergencyAccessGroup을 입력한 뒤 Permissions policies 아래에서 AdministratorAccess를 선택해요. - Create user group을 선택해 Set permissions 페이지로 돌아가요.
- User groups 아래에서 앞서 만든
EmergencyAccessGroup이름을 선택해요. - Next를 선택해 Review and create 페이지로 진행해요.
- Review and create 페이지에서 새 사용자에 추가될 사용자 그룹 멤버십 목록을 검토한 뒤, 준비가 되면 Create user를 선택해요.
- Retrieve password 페이지에서 Download .csv file을 선택해 사용자 자격 증명 정보(연결 URL, 사용자 이름, 비밀번호)가 담긴 .csv 파일을 저장해요. 이 파일을 저장해 두면 자격 증명 공급자에 접근할 수 없을 때 IAM에 로그인해야 하는 상황에 쓸 수 있어요.
- 새 IAM 사용자가 Users 목록에 표시돼요. User name 링크를 선택해 사용자 세부 정보를 확인해요.
AWS CLI
EmergencyAccess라는 사용자를 만들어요.
aws iam create-user \
--user-name EmergencyAccess
- (선택) 사용자에게 AWS Management Console 접근 권한을 주려면 비밀번호가 필요해요. IAM 사용자의 비밀번호를 만들려면 비밀번호가 포함된 JSON 파일을 전달하는
--cli-input-json매개변수를 사용할 수 있어요. 또한 사용자에게 계정의 로그인 페이지 URL을 알려줘야 해요.
aws iam create-login-profile \
--generate-cli-skeleton > create-login-profile.json
- 텍스트 편집기로
create-login-profile.json파일을 열고 비밀번호 정책을 준수하는 비밀번호를 입력한 뒤 저장해요. 예를 들어:
{
"UserName": "EmergencyAccess",
"Password": "Ex@3dRA0djs",
"PasswordResetRequired": false
}
--cli-input-json매개변수에 JSON 파일을 지정해aws iam create-login-profile명령을 다시 실행해요.
aws iam create-login-profile \
--cli-input-json file://create-login-profile.json
참고 — JSON 파일에 제공한 비밀번호가 계정의 비밀번호 정책을 위반하면
PasswordPolicyViolation오류가 발생해요. 그런 경우 계정의 비밀번호 정책을 검토하고 요구 사항을 준수하도록 JSON 파일의 비밀번호를 업데이트하세요.
EmergencyAccessGroup을 만들고 AWS 관리형 정책AdministratorAccess를 그룹에 연결한 뒤EmergencyAccess사용자를 그룹에 추가해요.
참고 — AWS 관리형 정책 은 AWS가 만들고 관리하는 독립형 정책이에요. 각 정책은 정책 이름을 포함한 자체 Amazon Resource Name(ARN)을 가져요. 예를 들어
arn:aws:iam::aws:policy/IAMReadOnlyAccess는 AWS 관리형 정책이에요. ARN에 대한 자세한 내용은 IAM ARN을, AWS 서비스용 AWS 관리형 정책 목록은 AWS 관리형 정책을 참고하세요.
aws iam create-group \
--group-name EmergencyAccessGroup
aws iam attach-group-policy \
--policy-arn arn:aws:iam::aws:policy/AdministratorAccess \
--group-name EmergencyAccessGroup
aws iam add-user-to-group \
--user-name EmergencyAccess \
--group-name EmergencyAccessGroup
aws iam get-group명령을 실행해EmergencyAccessGroup과 그 구성원을 나열해요.
aws iam get-group \
--group-name EmergencyAccessGroup