본문 바로가기
개발/aws

AWS IAM

by codeStudyCafe 2024. 12. 13.

보통 회사에는 다양한 역할이 있습니다. 사장, 백엔드, 프론트엔드, 인프라 담당자 등 많은 역할이 있고 거기에 따른 다양한 권한이 있습니다. 그럼 사람마다 다른 권한이 부여되야 하는데요, 그러기 위해서 IAM(Identity and Access Management)이 있습니다.

루트 계정, IAM 계정

루트 계정은 무엇이든 할 수 있는 계정입니다. 사장님 같은거라 보면 됩니다. IAM 계정은 직원 계정입니다. 대부분의 작업은 IAM을 이용해서 이루어 집니다(근데 개인 프로젝트를 한다면 루트계정 써도 뭐 상관 없습니다). 

각각의 역할을 제어하는 방법으로는 2가지가 있습니다.

1. RBAC(Role Base Access Control)

역할(개발자, db관리자 등)에 따라서 어떤 리소스에 접근할 수 있는지 정하는 방식입니다. 개발자가 접근할 수 있는 리소스, db관리자가 접속할 수 있는 리소스 등을 개발자와 db관리자에게 각각 할당해 주는 것이죠.

어떤 회사가 A라는 서비스를 운영하고 있다고 합니다. 그럼 이 서비스의 서버가 있고 db가 있습니다. 개발자한테는 서버의 접근 권한, db관리자한테는 db접근 권한, devOps는 전체 접근 권한을 주는 것이 RBAC방식입니다.

 

만약 이 회사에서 B라는 신규 서비스를 출시한다면 어떻게 될까요? 각각의 역할에 리소스를 할당해 주어야 합니다. 이 경우는 역할이 3개밖에 안되지만 실제 회사에서는 역할이 정말 많을 것이고 서비스를 만들 때 마다 모든 역할에 서비스를 할당해 주는 불편함이 있을 것입니다.

2. ABAC(Attribute Base Access Control)

이 방식은 속성을 이용해서 리소스를 할당하는 방식입니다. 각각의 역할에 태그를 할당하고 각 서비스에 접근할 수 있는 태그들을 할당하는 방식입니다. 서버에는 개발자와 devOps가 접근 가능하다고 표기하는 것이죠.

 

 

이 방식대로 한다면 신규 서비스가 만들어 졌을 때 각 서비스에 적절한 태그를 부여해 주면 됩니다.

실습

aws에 가서 IAM을 검색합니다.

 

먼저 사용자부터 만들어 줍니다. 왼쪽의 "사용자"를 누르고 오른쪽 "시용자 생성"을 누릅니다.

 

뭔가 처음 보는 것이 나옵니다. 예전에는 안그랬는데 말이죠. 아무래도 "IAM 사용자를 생성하고 싶음"이 예전 방식이고 "Identity Center에서 사용자 지정"가 새로 추가된 방식인것 같습니다. aws가 좋아하는 방식으로 진행해 보겠습니다. 사용자 이름을 정해주고 아래와 같이 권한을 제공해 줍니다.

 

여기서 다음을 누르면 팝업 창이 나오는데 Identity Center를 누르면 아래 화면으로 넘어갑니다.

 

리전을 서울로 바꿔줍니다.

 

활성화를 누르고 continue를 눌러줍니다.

 

화면 왼쪽에서 user를 눌러주고 세팅을 진행합니다. 혹시 모르니 이름이나 성은 전부 영어로 해줍니다.

 

그룹 생성을 눌러줍니다.

 

admin이름의 그룹을 생성해 줍니다.

 

이전 창으로 돌아가서 새로고침을 누르면 admin 보입니다. 체크해 주고 쭉 넘어갑니다.

 

다 완료하면 저희가 입력한 계정으로 이메일이 갑니다. accept를 해줍니다.

 

암호를 입력해 주고 쭉 진행해 줍니다. 이때 이름은 이메일이 아니라 위에서 입력한 이름을 넣어야 합니다.

 

모두 완료하면 아래와 같은 화면이 나옵니다. 지금은 아무 권한이 없어서 비어 있습니다. 이제 권한을 주겠습니다.

 

먼저 권한을 만듭니다.권한 세트 - 권한 세트 생성을 누릅니다.

 

사전 정의된 권한 세트에서 administrator Access를 누릅니다.

 

기본 설정 그대로 넘어갑니다.

 

아래쪽 "생성"을 누릅니다.

 

이제 생성한 권한을 계정에 연결해 줍니다. 다중 생성 권한 - aws 계정에서 만들었던 계정을 누릅니다.

 

"사용자 또는 그룹 할당"을 누릅니다.

 

사용자 - tech1을 누릅니다.

 

그 다음 권한을 설정해 줍니다.

 

제출을 누릅니다. 시간이 조금 지나면 승인됩니다.

 

이제 메일로 이동해서 아래 "your AWS access portal URL"을 누릅니다.

 

그럼 이제 이 계정으로 콘솔에 접근할 수 있습니다.

'개발 > aws' 카테고리의 다른 글

AWS ACM  (0) 2025.01.06
AWS RDS  (0) 2025.01.03
AWS ROUTE53  (0) 2024.12.27
AWS EC2를 vscode에 연결  (0) 2024.12.23
AWS EC2  (1) 2024.12.20