brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Mar 25. 2019

59. AWS계정관리 IAM 이해하기

IAM (Identity Access Managemenet)

AWS 리소스(서버,스토리지등)을 안정하게 관리하기 위한 서비스

로그인기능과 권한 부여 기능 2가지를 관리한다.



<1>  AWS에는  ROOT계정과  IAM(개인)계정 2개가 있다.

<2>  2차 인증 MFA는 필수로 설정하자.

<3>  그룹으로 AWS를 관리한다.

<4>  AWS API계정 사용하기

<5>  AWS CLI툴 설치하기



<1>  AWS에는  ROOT계정과  IAM(개인)계정  2개가 있다.


1) AWS ROOT 계정은 가입할 때 생성하는 계정이다.

   ROOT계정이라고 한다.

   ROOT계정은 계정 폐쇄등 모든것을 할수 있는 계정이다.

   그래서, 보안상 ROOT계정은 사용하지 않도록 한다.


2)  IAM(개인)계정은 일반 사용자에게 생성해주는 계정이다.

     일반 사용자를 만들고  admin 권한을 제공하여, 관리자를 두고 운영을 하도록 권장한다.

     Admin이 일반 개발자 계정을 만들고 권한을 할당 한다.


역할

ROOT - MFA만 설정하고 사용하지 않도록 함.

IAM  Admin  관리자  - 일반 개발자 계정을 생성하고  권한을  할당한다.

일반 개발자 - 필요한 서비스 권한 요청하고  할당 받은 권한 사용한다.




<2>  2차 인증 MFA는 필수로 설정하자.


1

AWS에서 ROOT 계정은 MFA 설정 필수이다.

ROOT가 탈취되면 계정 탈퇴와 모든 리소스가 지워 질수 있다.


2

개인 IAM계정도  2차 인증인 MFA 반드시 설정을 해야 사용하자.


3

스마트폰에  Google OTP 설치하라.


4. PC로 사용하려면, 크롬에 확장 프로그램을 설치해 사용하라.

https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai




<3>  그룹으로 AWS를 관리한다.


1

그룹을 생성한다.


2. 개인 계정을 생성 한다

개인 계정들을 그룹에 할당한다.


3

그룹에 권한을 부여하여 관리한다.

// 개인 계정에 일일이 권한을 부여해도 된다.

관리상 그룹에 권한을 부여하는것이다.


주의

1. 개인 계정 생성(User)  : 개인 계정 생성한다.

2. 그룹 생성(Group) :   admin 그룹,   Dev그룹, SEC(보안그룹)을 각각  생성한다.

3. 권한 할당하기(Policy)  :  admin 그룹에  Admin 정책(Policy)을  부여한다. DEV 그룹에는 요청한 권한을 제공하낟.



1. 계정 생성(User) 

개인 계정 생성한다.

1인 1 계정 원칙.



작업 순서


1)  [Services] - [iam]


2) User name

1003이라고  만든다.


3) Programmatic access 권한을 할당하지 않는다.

API, CLI, SDK 사용 시 필요한 권한이다.

원격으로 관리하지 않으면 필요하지 않다.


4) AWS Management Console access  체크   

콘솔로 로그 하도록 체크한다.


5) Custom password :

로그인 사용할 암호를 지정한다.


6) Require password reset  체크  

다음번 로그인 시 암호를 재설정하도록 한다.






2. 그룹(Group) 생성 :   dev 그룹을 만든다.


새로 만든 1003 계정을  dev그룹에 추가한다.




3.  권한 부여 하기 (Policy)  :  Dev 그룹에  필요한 권한을 부여한다.






5. 보안 강화를 위해 일반 계정에 대해서도  2차 인증인  MFA 설정하자.


1) 스마트폰에 구글 OTP앱을 설치한다.


2) IAM > 개인 계정 > Security cerdentials 탭 > Assign MFA device에  Manage 클릭> MFA를 설정한다.




3) Virtual MFA device를 선택한다.



필수 : QR코드 와 Secret key는  캡처해서 별도 보관한다.

// Show secret key를 클릭하면 text가 나온다.

노트패드에 복사해 저장한다.

크롬브라우저에 구글 OTP확장프로그램을 사용하는경우 필요하다.


4)  구글 OTP 앱으로 사용하는 경우  QR코드를 읽는다.


5) 첫 번째 코드를 MFA code 1에 입력한다.


6) 몇 분 있다가 나오는 2번째 코드를  MFA code 2에 입력한다.


7) 완료




6.  사용법 : 콘솔 로그인


1

https://xxxxxxxxxxxxxxxxxxxxxxxx

로그인한다.

로그인 시 암호를 재설정한다.



2

계정과 암호 넣는다.

MFA입력한다

로그인 완료




<4>  AWS API계정 사용하기


CLI 사용 시 필요한 권한이다.


1. IAM  계정 생성 시  Programmatic access 권한을 할당한다.


2. API계정은 관리상 별도로 생성한다.

Access Key와  Secret Key를 발급받는다.

Access Key/SecretKey 는 1개 할당한다.

Access Key/SecretKey 는 보안상 3개월 또는 6개월 단위로 교체가 필요하다.

나머지 1개는 이때 추가 발급해 기존 키를 변경하도록 한다. (계정당  최대 2개까지 할당받을 수 있다.)


3. API계정에 권한을 부여해야 한다.

Attach Policy로 부여할 수 있다.


4. AWS CLI를 설치하고 사용하면 된다.




<5>  AWS CLI툴 설치하기


Linux   OS

[root@ip-10-10-0-107 ~]# yum install python-setuptools

[root@ip-10-10-0-107 ~]# easy_install pip

[root@ip-10-10-0-107 ~]# pip install awscli

[root@ip-10-10-0-107 ~]# aws --version

aws-cli/1.15.60 Python/2.7.5 Linux/3.10.0-862.el7.x86_64 botocore/1.10.59


awscli 업데이트하기

[root@ip-10-10-0-107 ~]# pip   install   -U   awscli

[root@ip-10-10-0-107 ~]# aws   --version

aws-cli/1.15.76 Python/2.7.5 Linux/3.10.0-862.el7.x86_64 botocore/1.10.75


참고

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-chap-install.html



https://brunch.co.kr/@topasvga/1544



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari