본문 바로가기
🧑🏻‍💻 Develop/AWS

팀 프로젝트에서 AWS 관리하기 (3) - 개발용 IAM 사용자

by dev-jaesoon 2022. 9. 18.

개발용 IAM 사용자 생성

그렇다면, 실제로 개발을 하면서 AWS 를 사용할 팀원들에게는 어떻게 IAM 사용자를 만들어 주면 될까? 기본적으로는 특정 서비스 또는 특정 동작에 대해서 사용자 별로 따로 권한을 설정할 수 있지만, 먼저 모든 서비스에 액세스 할 수 있도록 하는 PowerUserAccess 권한을 부여하여 IAM 개발용 IAM 사용자를 만들어 볼 것이다. (지난 번에 만든 Administrators 계정과 달리 유저 관리만 할 수 없다.)

 

PowerUser (IAM 사용자) 추가

IAM 콘솔로 이동하여, 왼쪽의 대시보드에서  Users - Add User 를 눌러 사용자 추가 화면으로 이동한다. 그리고 아래와 같이 User name 과 access type 을 설정한다. 본 글에서 선택한 Access key - Programmatic access 는 주로 AWS API, CLI, SDK 나 개발 도구에서 사용할 수 있도록 한다. (일반적인 AWS Console 을 사용하게 하고자 한다면, Password - AWS Management Console access 을 선택)

PowerUsers (IAM 사용자 그룹) 생성

이번에는 유저 관리는 할 수 없지만, 모든 서비스에 액세스가 가능한 PowerUsers 그룹을 생성할 것이다. 이번에 사용한 AdministratorAccess 와 PowerUserAccess 외에도 AWS 에서는 정말 다양한 종류의 권한을 제공하고 있다. 이러한 정책은 사용자가 직접 하나 하나 설정하여 생성할 수도 있지만, 가급적이면 AWS 에서 제공하는 정책을 사용하는 것을 추천한다.

PowerUser (IAM 사용자) 추가 완료

태그 설정은 건너뛰고, Review 에서 입력 내용을 완료한 후, Create User 를 클릭하여 IAM 사용자 추가를 완료한다. 이 때 Access key IDSecret access key 가 랜덤으로 생성되는데, 이렇게 생성된 키 정보는 복사를 하거나 .csv 파일을 다운로드 받아 해당 팀원에게 공유하면 된다. 해당 Key 값은 이 화면에서만 받을 수 있고 분실하면 다시 확인할 수 없기 때문에, 타인과 공유하지 않고 본인이 잘 관리하는 것이 중요하다.

IAM 사용자 생성 완료 화면
실제 CSV 파일

 

AWS 리소스에 액세스하기

액세스 키 설치하기

액세스 키 설치를 위해서는 awscli 패키지 설치가 필요하다. 패키지 설치 후, `$ aws configure list` 를 입력해 본다. 아직 액세스 키가 설치 되지 않아, <not set> 이 출력된다.

액세스 키를 설치하기 위해 ~/.asw 디렉터리를 생성해 credentials 과 config 파일을 생성한다. 

$ mkdir ~/.aws
$ touch ~/.aws/credentials
$ touch ~/.aws/config

# 디렉토리 및 파일 생성 결과 확인
$ ls -al ~/.aws

그리고 credentials 파일에 IAM 사용자 생성 시 발급 받은 access key 정보를 등록하고,

$ vi ~/.aws/credentials

[default]
aws_access_key_id=********
aws_secret_access_key=********

config 파일에는 aws 와 관련된 각종 설정 정보를 등록한다.

$ vi ~/.aws/config
# region 은 각자 자기가 사용할 AWS Region 에 맞추어 설정

[default]
region=ap-northeast-1
output=json

 

설치된 access key 확인, AWS CLI  사용하기

`$ aws configure list`  를 입력하면 설치된 access key 를 확인할 수 있다.

그리고 아래 명령어를 입력하여 실제로 aws s3에 접근하여 파일을 다운로드 받아보자.

$ mkdir temp
$ cd temp
$ aws s3 cp s3://wildrydes-us-east-1/WebApplication/1_StaticWebHosting/website ./ --recursive
$ ls -al

aws cli 를 사용하여, 파일이 다운받아진 것을 확인할 수 있다.

 

정리

이렇게 여러 개의 IAM 사용자를 생성하여 팀원 각자에게 나누어 준다면, 프로젝트에서 AWS 를 사용할 때 보다 효율적이고 안정적으로 리소스를 관리할 수 있다. AWS 에서는 특별한 경우에만 Root 사용자를 사용하고, 가급적이면 IAM 사용자를 생성하여 사용하는 것을 권장하고 있다.

  • Administrator : 관리자 권한 (AdministratorAccess 정책)
  • PowerUser : 개발자 권한 (PowerUserAccess 정책)

실제로 개발 조직이 커진다면, 여러 개의 그룹을 생성하고 이 그룹에 IAM 사용자를 등록하는 방식으로 AWS 계정을 운영할 수 있다.

 

관련 글 이어보기

 

팀 프로젝트에서 AWS 관리하기 (1) - IAM 사용자

IAM 사용자의 필요성을 느끼다! AWS를 팀 프로젝트에서 사용하고 싶다... 현재 웹 서비스 개발을 공부하고 있다면, 누구나 한 번 쯤은 프로젝트를 하게 될 것이고, 자기가 직접 만든 서비스를 여러

dev-jaesoon.tistory.com

 

팀 프로젝트에서 AWS 관리하기 (2) - 관리용 IAM 사용자 생성하기

지난 글에 이어서 실제로 관리용 IAM 사용자를 생성해 볼 것이다. 이렇게 생성한 관리용 IAM 사용자는 실제로 Root 사용자와 같이 AWS 서비스를 관리하기 위하여 사용되어 질 수 있다. 관리용 IAM 사

dev-jaesoon.tistory.com

 

댓글