AWS에서 이용하는데 있어, 다소 헤깔릴 수 있는 '계정'에 대해서 정리해 보았습니다.
AWS에서 사용하는 계정
- OS(Linux / Windows) 계정
- AWS 계정
- IAM
OS 계정은 OS에서 관리되는 계정이고, IAM과 AWS 계정은 AWS에서 관리되는 계정을 의미한다.
OS(Linux / Windows) 계정
- Linux 및 Windows에서 생성된 개정이고, OS의 설정이나 미들웨어 Application 설정등이 가능하다.
- 물리적인 서버 환경에서 클라우드로 전화해도 OS 계정에서 할 일은 거의 변경되지 않는다.
- 기존 하던데로 관리하면 된다.
AWS 계정
- Linux의 Root 계정과 동일한 성격의 계정
- AWS에서의 모든 작업을 수행이 가능하다. 원칙적으로 MFA와 연동을 하고 IAM 관리자 계정을 사용하고 가급적 사용하지 않는다.
IAM
- AWS 를 안전하게 사용하기 위한 인증/허가 시스템을 의미 한다.
- 쉽게 이야기해서 인스턴스를 생성하고, 네트웍 설정 등 서버 구성을 할 수 있는 사용자를 생성하고 권한을 부여할 수 있다.
- AWS 사용자 인증 및 접근 정책 관리
- AWS 관리를 위한 그룹, 사용자 및 role(역할) 생성
- 그룹별 제한된 권한의 부여 가능
- 사용자별 인증(MFA) 및 권한 부여 가능
- IAM에서 사용하는 인증 도구 - 1
- Access Key / Secret Access Key
- AWS CLI를 사용하는 필요한 정보이고, 2개까지 생성이 가능하며, key가 외부에 노출되지 않도록 주의해야 한다.
- IAM에서 사용하는 인증 도구 - 2
- AWS 관리 콘솔 로그인 암호(Web Access)
- MFA(Multi-Factor Authentication)
사용자 기반과 리소스 기반 권한 설정
- IAM 사용자 기반
- IAM 사용자 에게 부여된 권한으로 Access Key / Secret Access Key를 통해서 AWS에 자원을 제어 할 수 있다.
CLI 즉, 프로그램벅으로 S3 Bucket, SQS 등에 대한 접근이 가능하게 된다. - 주로 AWS 외부에서 AWS 자원에 접근하는 용도로 적합하다.
예로, Production 환경만 AWS에서 운영하고, 나머지 Staging이나 QA는 AWS가 아닌 곳에서 운영을 한다면,
Staging과 QA에서만 사용한다. - IAM Role 기반(리소스)
- IAM 사용자가 아닌 AWS 자원에 권한을 부여하여, 권한이 부여된 자원에서 AWS를 자원을 제어할 수 있다.
- 주로, EC2 인스턴스에 적합한 권한을 부여하고, AWS 자원에서 접근하는 용도로 사용하며,
AWS EC2 인스턴스에서는 사용자 기반이 아닌 Role 기반으로 처리하도록 한다. - IAM 사용자와 Role 기반 비교
- IAM Role을 사용하게 되면 인스턴스와 key 관리를 분리하여 프로그램에 key 정보를 노출하지 않으므로 더 높은 보안성을 제공할 수 있다.
Reference
- http://dev.classmethod.jp/cloud/aws/aws-beginner-account/
- http://www.slideshare.net/awskorea/20150109-aws-black-belt-iam-younjin?related=1
'AWS' 카테고리의 다른 글
| AWS Cloud 2016 발표 후기 (0) | 2016.01.11 |
|---|---|
| AWS Region 선택의 중요성 (0) | 2016.01.11 |
| Amazon Cognito에 대한 날림 정리 (0) | 2015.07.21 |
| 인스턴스 권한을 변경 할 수 있는 IAM Policy (0) | 2015.03.09 |
| AWS Identity and Access Management(IAM) (0) | 2014.09.21 |