들어가기 전에
IAM(AWS Identity and Access Management)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 서비스입니다. IAM을 이용하면 각 사용자별로 인증 및 권한 부여를 따로 설정할 수 있습니다.
AWS 계정을 처음 생성하는 경우, AWS 전체 서비스 및 계정 리소스에 대해 완전한 액세스 권한을 지닌 단일 로그인 자격 증명으로 시작합니다. 이 자격 증명은 AWS 계정 루트 사용자라고 하며, 계정 생성 시 사용한 이메일 주소와 암호로 로그인하여 접근합니다. 이때, 일반적인 작업은 루트 사용자를 사용하지 않을 것을 권장하고 있기 때문에, IAM 사용자를 생성하여 AWS 관련 작업을 진행해야 합니다.
IAM 유저 생성하기
1. 상단 오른쪽의 계정명을 클릭한 후 내 보안 자격 증명을 클릭합니다. 이때, 리전은 한국에 산다면 서울로 지정하는 것이 좋습니다.
2. 화면 왼쪽의 액세스 관리 > 사용자탭에 접근한 후 사용자 추가를 클릭합니다.
3. 사용자 추가 폼에서 하기와 같이 작성한 뒤 다음을 클릭합니다.
- 사용자 이름: 신규로 생성하고자 하는 IAM 사용자명을 작성하시면 됩니다. AWS 로그인 시 사용하는 이름으로 하나 이상의 사용자를 동시에 추가할 수 있습니다(최대 10명까지 추가).
- AWS 액세스 유형 선택: 추후 콘솔에 로그인해야 하기 때문에 암호 - AWS 관리 콘솔 액세스로 선택했습니다.
- 추가적으로, 콘솔 비밀번호는 자동 생성으로 진행한 뒤 처음 접근했을 때 비밀번호 재설정 할 수 있도록 비밀번호 재설정 필요에 체크해주었습니다.
- 여러명의 계정을 한번에 생성한 뒤 각자 비밀번호를 바꾸게 하기 위해서는 아래와 같이 작성하는제 좋습니다.
4. 권한 설정에서는 그룹을 생성할 수 있습니다. 그룹에 권한을 설정하게 되면, 각 사용자별로 권한을 넣지 않고 그룹별로 권한을 나누어 사용자를 그룹에 넣어주기만 하면 됩니다.
- 만약에 그룹을 따로 생성하지 않았다면, 아래와 같이 그룹 생성을 클릭한 후 그룹을 생성하면 됩니다.
- 이때, 관리자 권한을 가질 그룹 생성이라면 AdministratorAccess를 체크하여 그룹을 생성합니다.
5. 생성된 그룹 또는 기존에 존재하는 그룹 중 이번에 생성하는 사용자에 매핑할 그룹을 체크한 뒤 다음을 클릭합니다.
6. 태그 추가는 선택 사항이므로 따로 설정하지 않고 다음으로 넘어갑니다.
7. 위 과정이 완료되면 아래와 같이 검토 페이지가 뜹니다. 내용을 확인한 후 문제가 없다면 사용자 만들기를 클릭합니다.
8. 사용자 추가가 완료되면 아래와 같이 화면이 뜨는 것을 확인할 수 있으며, .csv 다운로드를 통해 신규 생성한 IAM의 비밀번호를 확인한 뒤 IAM 계정으로 접근합니다.
- 이때, .csv 다운로드를 하지 않고 넘어가면 비밀번호를 알 수 없기 때문에 반드시 다운로드를 진행하셔야 합니다.
- 이메일 전송의 경우, 신규 IAM 사용자로 로그인하는 url을 메일로 전달하는 것이며 따로 비밀번호는 없기 때문에 .csv 다운로드가 필요합니다.
9. .csv 파일을 열게되면 IAM 사용자명, 콘솔 로그인 URL, 비밀번호를 확인할 수 있습니다. 콘솔 로그인 URL에 접근하면, 하기 페이지를 확인할 수 있으며 사용자 이름과 암호를 작성하여 로그인할 수 있습니다.
- 이때, 계정 ID는 콘솔 로그인 URL로 접근 시 작성되어 있음을 확인할 수 있습니다(또한, URL 내 앞 12자리 숫자가 계정 ID입니다).
추가 TIP - 비밀번호 정책 지정하기
AWS 루트 계정으로 암호 정책을 지정할 수 있습니다. 아래와 같이, 액세스 관리 > 계정 설정에 들어간 후 암호 정책 변경을 통해 진행 가능합니다. 필자의 경우, 대/소문자 및 숫자를 포함하도록 암호 정책을 설정하였습니다.
'Server > CLOUD' 카테고리의 다른 글
[AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(2) - IAM 인증키 Github Action에서 사용하여 배포 (0) | 2021.10.14 |
---|---|
[AWS] Github Action을 통해 Elastic Beanstalk으로 배포된 EC2 timezone 설정하기(.ebextensions) (0) | 2021.10.13 |
[AWS] RDS에 TIMEZONE 설정하기(SpringBoot 설정 포함) (0) | 2021.10.13 |
[AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(1) - EB 기본 세팅 (0) | 2021.10.12 |
[AWS] Elastic Beanstalk (0) | 2021.09.16 |