이두잉의 AWS 세상

AWS 사용 전 준비 사항

2015.11.18 12:45 - leedoing leedoing

AWS 사용 전 필수적으로 설정해야 할 사항


계정에 대한 보안AWS 작업(API 호출)에 대한 로깅(CloudTrail)


1. 계정에 대한 보안

AWS Root 계정은 IDC 서버실 키와 같음... 따라서 Root 계정은 적극적인 보안 필요




첫 번째는 Root 계정은 사용을 금지하고, 필요에 따라 AWS를 사용할 수 있는 Policy(권한)을 부여한 User 계정을 사용

AWS Console에서 Identity & Access Management(이하 IAM)를 클릭


그 뒤에 Groups 혹은 Users를 통해 계정을 생성. Linux 계정 관리와 비슷합니다. 이번에는 Users를 생성해봄.


이번에는 Users를 생성해봄. Users->Enter User Names->Create 

Generate an access key for each user를 선택하여 각각 User가 Access Key를 갖도록


User의 Access와 Secret Key가 발급. 해당 Key를 이용해서 AWS 서비스들을 제어 가능.


다시 IAM 화면으로 돌아가면 계정이 생성된 것을 확인할 수 있음. 

- Groups : User Group

- Permissions : user가 사용할 policy(정책)

- Security Credentials : User 보안 정책. MFA나 패스워드 정책을 줄 수 있음.


Permissions로 오면 Managed Policies에 Attach Policy. 이것을 통해 각 계정이 사용할 수 있는 Policy를 등록


Attach Policy를 클릭하면 다음과 같은 화면이 나옴. AWS에서 미리 규정한 Policy들. AdministratorAccess의 경우 AWS 사용에 대한 모든 권한을 갖는 Policy.


Policy를 확인하면 다음과 같은 json 형식. 해당 Policy 등록으로 AWS를 사용할 수 있는 계정 생성은 완료.


다시 IAM 화면로 돌아와 User가 접근할 수 있는 Login Link를 생성. 해당 페이지는 이미 생성한 상태.


두 번째는 MFA 사용입니다. Root 계정이 아니더라도 각각 User들의 계정이 유출되면 부여된 Policy만큼 AWS을 남용할 수 있음. 따라서 전달받은 User들은 MFA를 등록.


다시 IAM->User로 돌아와 Security Credentials를 클릭. Manage Password를 클릭하여 auto 혹은 custom password를 설정할 수 있음. 설정 후 사용자에게 전달하면 됩니다. 사용자는 전달 받은 후에 MFA를 등록.

- Manage Password : 패스워드 정책 설정

- Manage MFA Device : MFA 사용

- Manage Signing Certificates : 개인 인증서 key 생성(pem/ppk)


Manage MFA Device를 클릭하면 MFA 사용을 위한 Device를 선택할 수 있음. virtual MFA의 경우 모바일폰에서 사용할 수 있으며, hardware MFA Device의 경우 Amazon에 주문하여 사용할 수 있습니다. virtual MFA를 사용 가능.


다음과 같은 바코드가 생성됩니다. 모바일 OTP APP(Google OTP 등)를 이용하여 해당 바코드를 스캔.


OTP APP로 바코드를 스캔하면 다음과 같은 화면을 볼 수 있음. 해당 코드를 순차적으로 Authentication Code1/2 란에 입력.


전달받은 접속 URL과 계정을 통해 AWS에 접속합니다. 접속 후에 MFA 코드를 입력받는 창이 나옴. APP를 실행시키고 받은 MFA코드를 입력하면 접속이 완료. 여기까지가 계정에 대한 보안 설정.

2. AWS 작업(API 호출)에 대한 로깅(CloudTrail)

AWS의 가장 밑단은 API 호출을 통해 이루어짐. 따라서 API 로깅을 통해 어느 사용자가 어떤 API를 호출했는지 확인이 가능.

갑자기 예상하지 않은 인스턴스가 생성되어 요금이 많이 발생된 경우 등 API 원인 파악을 위해 사용함.

CloudTrail은 AWS의 서비스 중 하나로 API에 대한 로깅을 지원. CloudTrail을 활성화 하면 API 로그가 S3에 저장.


AWS Console에서 CloudTrail을 클릭하고 다음 화면에서 Get Started Now를 클릭.

다음과 같은 화면이 나타남.

- Create a new S3 bucket? : 로그가 저장될 S3 버킷을 생성할 지, 기존 버킷에 저장할 지 선택

- S3 bucket : 버킷명을 기입

- Log file prefix : 선택한 버킷 밑으로 AWS에서 정해진 규칙대로 CloudTrail 로그가 저장, 임의로 변경할 경우 선택

- SNS notification for every log file delivery? : 해동 로그가 S3에 저장될 때마다 Noti를 받을지 정함. SNS topic을 먼저 생성.


설정이 완료되고 다시 CloudTrail을 클릭하면 History 내역을 볼 수 있음.


CloudTrail 로그 데이터를 ELK와 연동하여 Visualization이 가능한 서비스를 구축할 수도 있음.


이상으로 AWS 사용하기 앞서서 준비해야 할 사항에 대해 알아봄

첫 번째는 계정 관리이며 두 번째는 CloudTrail 활성화를 통한 AWS API 로깅.


감사합니다.