불친절한 블로그
[AWS] IAM 알아보기 본문
IAM - Identity and Access Management
IAM의 기본 용어 정리
- IAM Group
- IAM User
- IAM Role
- IAM Policy
- Access Control
- RBAC (Role-Based Access Control)
- ABAC (Attribute-Based Access Control)
Access Control
기능들을 사용할 수 있고, 사용할 수 없게 권한을 통제하는 것을 Access Control(접근 제어)라고 한다.
IAM User
사용자에게 권한을 직접 부여할 수 있다.
사용자1 : a기능 사용자2 : b기능 사용자3 : a기능 사용자4 : b기능 |
IAM Group
사용자에게 일일히 권한을 부여하고 보니 동일한 기능을 사용하고 있는 사용자들이 생기면서
같은 기능 사용하는 사용자를 모아두면 좋겠다는 생각이 들었고
그 역할을 그룹이 하게 되었다.
그룹a : a가능 그룹b : b가능 사용자1 : 그룹a 사용자3 : 그룹a 사용자2 : 그룹b 사용자4 : 그룹b |
IAM Role
그룹으로 묶는 것도 점점 복잡해지면서 권한 검사를 할때 그룹으로 조건을 거는 것이 어려울 수 있고
그룹으로 묶었을때 기능a가 가능한 그룹이 그룹a, 그룹c, 그룹d가 있는데 '어느 그룹 소속인지' 구별이 모호해진다.
Role(역할)이라는 개념이 생긴다.
그룹a : a가능 그룹b : b가능 그룹c : a가능, c가능 그룹d : a가능, c불가, d가능 사용자1 : 그룹a 사용자3 : 그룹a, 그룹d 사용자2 : 그룹b, 그룹c 사용자4 : 그룹b, 그룹d |
RBAC (Role-Based Access Control)
그룹에다가 권한을 바로 주는 대신에 논리적으로 역할을 만들고 역할을 그룹이나 사용자에 연결한다.
즉 Group은 UserGroup으로 주로 사용되고, Role은 권한의 Group으로 사용된다.
그룹 관리자 그룹 근무자 그룹 이용자 그룹 역할 a를 할 수 있는 역할 b를 할 수 있는 역할 |
ABAC (Attribute-Based Access Control)
권한 부여 형식(단순 허용, 불가)이 아니라 조건문 형식(if)으로 동적인 권한 부여가 가능하다.
사용자 사용자1 : 그룹 a 사용자2 : 그룹 a 그룹 그룹 a : 역할 [a1,a2] 역할 역할a1 : 정책 [aa1] 역할a2 : 정책 [aa2] 정책 allow aa1 (단순 권한) allow aa2 if 사용자1 == True allow aa3 if 그룹a == '~~~' allow aa4 if time between 09:00 and 12:00 |
IAM Policy
정책(Policy)은 술어논리(Predicate Logic)를 사용해서 동적이면서, 조건적으로 권한을 부여할 수 있게 하는 요소이다.
IAM Policy는 JSON형식으로 작성된다.
'IT Infrastructure' 카테고리의 다른 글
[Docker] 프로젝트 도커 이미지 만들기 (0) | 2021.02.02 |
---|---|
[AWS] 다른 AWS 계정으로 EC2 인스턴스 이동 방법 (0) | 2021.01.19 |
[Ubuntu][Linux][AWS] 서버 부팅시 서비스 자동실행 설정 (0) | 2021.01.08 |
[Ubuntu][Linux] 실행중인 프로세스 확인 (0) | 2021.01.08 |
[Ubuntu] Apache 가상 호스트 설정 (0) | 2020.09.15 |