Search
Duplicate

AWS 계정 생성 및 실습 준비

날짜
2021/07/18
작성자
태그
AWS
IAM
MFA
Series
AWS 입문하기!
완료

1. 서론

앞으로 고장난 베짱이에 올라올 많은 포스팅들에 Amazon Web Service(AWS)를 활용한 실습이 포함됩니다. 공부에서 실습은 언제나 가장 중요한 요소로 많은 사람들이 따라하며 공부할 수 있게 Step-By-Step으로 실습을 제공할 예정이에요.
실습을 통해 실제로 네트워크 환경, 서버를 비롯한 다양한 서비스와 리소스(자원)를 사용합니다. 물론 AWS의 특성상 사용한 만큼 비용을 지불해야하구요.
걱정하지 마세요! AWS는 회원들을 위해 (=고객으로 만들기 위해) 가입 후 1년간 다양한 서비스를 무료로 이용할 수 있게 해줍니다. Free-Tier를 통해서요!
원활한 실습 진행을 위해서 AWS Free-Tier 계정을 생성하고 여러가지 초기설정에 대해서 알아보겠습니다.

2. AWS Free-Tier 계정 생성하기

기간에 상관없이 Always Free로 제공되는 서비스들도 있지만 가입 후 12개월간 제공되는 Free-Tier 리소스로 많은 AWS의 핵심 서비스들을 체험하고 실습할 수 있습니다.
대표적인 예시로 서버, Database, Storage 관련 서비스들을 무료로 사용할 수 있습니다.
AWS 계정 생성 (스압주의)
AWS에 로그인 하기

3. IAM User 생성

눈치채셨는지 모르겠지만 방금 로그인할 때 IAM과 마주쳤던걸 기억하시나요?
보안과 권한 남용의 문제를 예방하기 위해서 AWS는 Root User 사용하지 않는것을 권장합니다. 내가 이 계정의 주인이더라도요!
너무나 강력해서 사용을 자제해야하는 Root계정임니다... 심지어 계정 삭제도 가능해요... 근육 보이시죠 ㄷㄷ
Root User를 사용하지 않고 접속하기 위해서 IAM User에 대해서 알아보겠습니다.

What is IAM ? (1 AM 아님 ㅎ)

AWS Identity and Access Management(IAM)는 AWS 리소스를 안전하게 제어할 수 있도록 AWS 계정과 리소스의 권한을 관리하는 AWS 서비스입니다.
IAM Policy : 실질적인 권한들이 지정된 Policy를 User & Role에 연결해서 사용합니다.
IAM User : 내 계정에 특정 권한을 가진채로 Login 하는 유저
IAM Role : 다른 계정 or AWS 서비스특정 권한을 부여하는 카드! (줬다 뺐다 할 수 있음)
다른 계정에 일시적으로 권한을 부여하고 싶을 때, Role을 통해 임시로 권한을 부여해줄 수 있습니다.
다른 계정 뿐 아니라 AWS의 다양한 리소스들에게도 권한을 부여해서 여러가지 일을 시킬 수 있습니다.
지금 저희는 다른 계정이 아닌 나의 계정에 Root User대신 사용할 User를 만들어야 하니 IAM User를 생성해야합니다.

IAM User 생성하기

IAM User 생성
IAM User 로그인 Test

4. MFA 설정

귀찮으시겠지만 마지막 한 단계가 남았습니다! 보안은 원래 필연적으로 귀찮답니다...
IAM User를 통해 Root User대신 사용자가 권한을 지정한 Custom User를 생성해보았습니다.
이제 마지막으로 MFA를 설정해서 한번더 리소스를 보호하겠습니다.

What is MFA ?

Multi-Factor Authentication(MFA)는 2개 이상의 수단으로 사용자 인증을 하는 방식입니다. 대부분의 사람들 모두 당연히 Password 인증을 기본으로 생각하고 있습니다. 편하고 익숙하면서 위험도도 큰 방식이죠!
AWS에서는 사용자가 AWS 웹 사이트 또는 서비스에 액세스할 때 사용자의 정규 로그인 자격 증명 외에도 AWS가 지원되는 MFA 메커니즘의 고유 인증을 제출하라고 요청함으로써 보안을 더욱 강화합니다. 라고 설명하네요
MFA는 말 그대로 다중 채널을 통한 인증이기 때문에 Password 와는 아예 다른 방식이여야합니다. (사용자가 2차 비밀번호를 사용하는것도 보안 강화에 효과가 있겠지만 MFA라고 부르진 않는 것 같습니다.)
대중적인 MFA 방식은 다음과 같습니다.
1.
Password : 사용자가 설정한 Password를 입력하여 인증
2.
OTP (One Time Password) : 사전에 OTP 기기와 AWS에서 세팅을 한 후에, 일정 시간동안 유효한 숫자 Password를 입력하여 인증
3.
인증 전용 USB (U2F) : 사전에 등록된 USB를 발급받고 인증 시 USB를 PC에 꽂아서 인증
우리가 흔히 사용하는 지문인식, 얼굴인식같은 방식은 Password 입력을 간편하게 해 주는 것이라 Password랑 같은 수단이라고 생각하시면 됩니다. (Password 변경하면 Face ID, 지문인식도 모두 변경해야 하는게 이것 때문입니다.)
보통은 1번+2번, 1번+3번의 형식으로 이중 구성합니다! Password를 알더라도 사실상 휴대폰이나 USB를 물리적으로 얻어야 하고, 반대로 USB를 훔쳤더라도 사용자 머릿속에 있는 Password를 모르면 접속이 불가능하기 때문이죠. 이제 왜 MFA가 강력한 보안방식인지 아시겠죠!?

AWS 계정에 MFA 설정하기

USB 방식은 비용이 들기 때문에 저희는 OTP 인증방식으로 설정하겠습니다. 사전에 스마트폰에 OTP 기능을 지원하는 앱을 설치해주세요. (포스팅에선 Google Authentication을 사용했습니다.)
Root User에 MFA 설정
Root User 로그인 Test
IAM User에 MFA 설정

5. 결론

개념만 따지자면 계정생성하고 IAM User 만들어서 MFA 설정,,, 한 줄로 끝나는데 Step-by-Step으로 설명하려니 글이 굉장히 길어지네요.
간단한 세 줄 요약!!! 1. AWS Free-Tier 이용이 가능하게 → AWS 계정 생성 2. 모든 권한을 가진 Root User 계정 유출 or 권한 남용을 대비해서 → IAM User 생성 3. 계정을 안전하게 지키기 위한 이중 인증 → MFA 설정
이런 설정들을 통해서 앞으로 1년동안 무료로 사용 가능한 계정을 생성하여 IAM User를 만들고 MFA 설정도 마쳤습니다. 이제 AWS를 사용하기 위한 정석적인 스타팅을 했다고 생각하시면 됩니다.
물론 Root User를 사용하는 경우도 있고 MFA를 설정하지 않는 사람들도 있겠지만 처음 사용하시는 분들에게 AWS에서 권장하는 모범 사례를 적용시켜드리는게 건전한 AWS 사용이라고 생각했습니다.
글이 길어지면 아무래도 입문하시는 분들에게는 복잡하게 느껴지고 스크롤에 압도되고 그러는데 천천히 읽어보면 다 이해하실 수 있게 작성하려고 노력했습니다.
어렵게 느껴지거나 이해가 안 되는 부분은 언제든지 물어봐주세요!
다음글 보러가기