본 글은 AWS에서 제공하는 AWS Documentation (user guides, developer guides, API references, tutorials, etc)를 참고하여 작성하였습니다.
https://docs.aws.amazon.com/
IAM (Identity and Access Management)
AWS에서는 IAM (Identity and Access Management)이라는 웹 서비스를 제공합니다.
IAM 서비스에 접근하여 제공되는 기능을 사용하기 위해서는 아래와 같이 다양한 방법이 있습니다. (웹 콘솔은 그 중 하나입니다.)
1. AWS Management Console
2. AWS Command Line Interface
3. AWS SDK
4. IAM HTTPS API
이 서비스를 통해 AWS 리소스에 대한 인증과 권한이 부여된 대상(주체)를 제어할 수 있습니다.
(AWS 리소스에 대한 ACCESS 권한 설정이라고 보시면 됩니다.)
AWS에 가입하고 콘솔 페이지에 로그인하면 제일 먼저 해야할 일은 루트 사용자 계정 설정입니다.
처음 가입 후, 로그인한 계정이 루트 사용자 계정입니다.
루트 사용자 계정은 AWS의 모든 서비스와 리소스에 대한 FULL-ACCESS 권한이 부여되어 있습니다.
(모든 권한이 다 부여되어 있다고 생각하시면 됩니다.)
따라서 해당 계정은 보안적인 관점에서 매우 중요한 계정입니다.
AWS 가이드 문서에서는 루트 사용자 계정을 일상적인 작업, 심지어 관리 작업의 경우에도 사용하지 말 것을 강력히 권장하고 있습니다.
그래서 루트 사용자 계정을 통해 꼭 필요한 최소한의 작업을 진행한 후, 최대한 사용을 자제해야합니다.
또한, 루트 사용자 비밀번호를 아주 엄격히 관리해야합니다.
여담으로 루트 사용자 계정 패스워드를 금고에 보관하는 곳도 있다는 말을 들은 적이 있습니다.
IAM에 관한 내용은 다른 글에서 좀 더 자세히 설명하도록 하겠습니다.
꼭 해야할 작업
1. 계정 설정 확인 및 수정
계정 이름, 이메일 주소, 루트 사용자 암호 및 액세스 키, 신용카드 정보 등 중요한 정보를 변경하기 위해서는 루트 사용자 자격 증명을 요구합니다. 따라서, 설정한 정보가 올바른지 확인하고 변경해야 합니다.
[계정 설정]
콘솔 로그인 후, 우측 상단의 "계정 명"을 클릭, "계정" 탭을 클릭합니다.
계정 정보 및 결제 방법 등 필요한 정보를 확인하고 수정할 수 있습니다.
2. 비밀번호 정책 설정
일반적인 경우, 기존 비밀번호 정책을 그대로 사용하셔도 됩니다.
하지만 기업이거나 해당 조직에서 사용하는 또는 사용해야할 비밀번호 정책이 존재할 경우, 비밀번호 정책을 필요에 맞게 수정할 수 있습니다.
[IAM - 계정 설정 - 비밀번호 정책] 에서 현재 적용된 비밀번호 정책을 확인할 수 있습니다.
이를 수정하고 싶으면 [Change] 버튼을 클릭합니다.
위의 스크린샷의 정보를 수정하여 필요한 비밀번호 정책을 설정할 수 있습니다.
해당 비밀번호 정책은 기존 생성된 사용자 및 생성할 사용자까지 모두 적용됩니다.
3. MFA 활성화
AWS에서는 보안을 위해 모든 사용자가 Multi-Factor Authentication(MFA)를 활성화하는 것을 권장합니다.
개인적으로 루트 사용자 계정의 경우 MFA를 필수로 활성화 하는 것이 좋다고 생각합니다.
가장 간단하고 흔한 방법으로는 Google Authenticator 서비스를 사용하는 방법이 있습니다.
MFA 활성화 방법의 경우 aws docs를 참고하시면 됩니다.
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_credentials_mfa_enable.html
4. IAM 관리 계정 생성
루트 사용자를 대신하여 AWS 계정에 접근할 수 있는 별도의 사용자 계정을 생성해야 합니다.
따라서, IAM 사용자를 만들어 관리 권한을 부여하고, 이후 모든 관리 작업은 해당 IAM 사용자를 사용해야합니다.
IAM 사용자 생성 후, "AdministratorAccess" 관리형 정책을 연결하는 "관리자" 사용자 그룹에 IAM 사용자를 배치합니다.
그 후에 관리자 그룹에 속한 사용자들은 AWS 계정에 대한 사용자 그룹, 사용자 등을 설정합니다.
참고 : https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/getting-started_create-admin-group.html
AWS 가이드문서에서 제공하는 방법은 다음과 같습니다.
계정 설정에 들어가서 [결제 정보에 대한 IAM 사용자 및 역할 액세스] 를 확인합니다.
이 과정 없이 IAM 관리자 계정을 생성하면 결제관련 정보를 확인할 수 없습니다.
[편집] 버튼을 클릭하여 [IAM 액세스 확성화]의 체크박스를 선택한 후, [업데이트]를 클릭합니다.
그 후, IAM 웹 콘솔에서 [사용자] 섹션으로 접속합니다.
[사용자 추가] 버튼을 클릭합니다.
사용자 이름를 입력하고 액세스 유형을 [암호 - AWS 관리 콘솔 액세스]로 선택합니다.
이후, 비밀번호 재설정 필요에 체크 해준 후 권한 설정 단계로 넘어갑니다.
그룹에 사용자 추가 - 그룹 생성을 클릭하여 Administrators 그룹을 생성합니다.
(본 스크린샷에는 이미 생성되어 있습니다.)
그룹 생성을 클릭하면 위의 스크린샷과 같이 그룹 생성 화면이 나타납니다.
그룹 이름에 "Administrators" 를 입력하고, 정책은 "AdministratorAccess"를 선택한 후, 그룹 생성 버튼을 클릭해줍니다.
그룹 생성 및 선택 후, [다음:태크]를 클릭하면 태깅을 할 수 있습니다.
원하는 값을 Key-Value 형태로 입력해줍니다.
(선택 사항이라 대부분 이 과정에서 아무것도 입력안하고 넘어가지면, 최대한 필요한 정보를 입력하는 것이 좋습니다.)
마지막으로 입력 및 설정한 모든 정보를 검토한 후, [사용자 만들기] 버튼을 클릭하면 사용자가 생성됩니다.
생성된 계정으로 로그인 하면 비밀번호 변경 페이지가 나타납니다.
비밀번호를 변경해주면 콘솔에 로그인 됩니다.
여기서 설정된 비밀번호 정책에 알맞게 비밀번호를 설정해주어야 합니다.
비밀번호 설정 정책은 [IAM - 계정 설정 - 비밀번호 정책]에서 확인 및 수정이 가능합니다.
이후, 루트 사용자 자격 증명이 꼭 필요한 계정 및 서비스 관리 작업을 제외한 모든 작업은 AWS 계정 사용자로 이루어져야 합니다.
5. 기타
루트 사용자 계정을 통해서만 설정할 수 있는 몇가지 작업들이 있습니다.
아래의 사이트에서 확인해보시길 바랍니다.
https://docs.aws.amazon.com/ko_kr/general/latest/gr/root-vs-iam.html#aws_tasks-that-require-root
또한, 특별한 경우가 아니면 루트 사용자의 액세스 키 발급을 하지 않는 것이 좋습니다.
여담
AWS를 이용하여 실제 서비스를 운영하는 경우에는 AWS에서 권장하거나 제공하는 모범 사례 참고하는 것이 필수라고 생각합니다.
좀 더 자세한 내용을 살펴보고 싶으시면 AWS 문서 및 공식 유투브 영상을 확인해보시길 바랍니다.
'Develop > AWS' 카테고리의 다른 글
[AWS] AWS VPC와 EC2 설정 및 사용 (1) (0) | 2021.12.28 |
---|---|
[AWS] AWS Free Tier (AWS 무료로 사용하기) (0) | 2021.11.16 |
[AWS] AWS와 클라우드에 대해 알아봅시다. (0) | 2021.11.16 |