티스토리 뷰

728x90
반응형

시큐리티 관련 글을 찾아 읽다가 RBAC, ABAC라는 약어를 접하게 되었다.

 

처음엔 그냥 무시하고 지나갔으나, 잊을만하면 한 번씩 눈에 띄어서 그냥 정리하고 넘어가기로 한다.

 

RBAC(Role-Based Access Control)

 

이름에서 추측할 수 있듯이 사용자의 역할에 따라 각종 접근 권한을 결정하는 방식이다.

 

스프링 시큐리티로 회원 권한을 설정할 때 ROLE_USER 하는 식으로 정하는 방식이 바로 이것이다.

 

각종 메서드와 엔드포인트의 접근 및 사용권한과 로그인 지속시간 여부 등을 역할별로 할당할 수 있다.

 

ABAC(Attribute-Based Access Control)

 

이 방식은 접근 권한을 사용자와 리소스 속성에 따라 결정하는 방식이다.

 

RBAC를 대체하는 개념이 아닌 보완하는 개념이라고 보면 편한데,

 

이미 주어진 역할 권한에서 세부사항(근속연수, 연봉 등)을 조절하는 것이라고 보면 된다.

 

리소스의 속성 역시 마찬가지로 제작자, 중요도 등을 세부적으로 정할 수 있다.

 

그냥 ROLE 권한을 세부적으로 정하면 되는 거 아닌가? 생각할 수 있지만

 

그렇게 했다간 근속 년수나 연봉이 바뀔 때마다 새로 역할 설정을 해주어야 하는 귀찮음이 존재한다.

 

이를 일종의 조건문으로 해결하는 것(if 근속연수가 최대 -> 특정 권한 획득)이 ABAC 방식이며, AWS IAM에서 Tag를 사용하면

 

이 방식을 적용할 수 있다고 한다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함