1. 역할 기반 액세스 제어(RBAC)
1-1 기본 개념
- 조직 내 역할에 따라 사용자에게 권한을 할당하는 액세스 제어 방법
- 권한이 사용자에게 직접 할당되는 것이 아니라 역할이 먼저 할당되고 사용자가 이러한 역할에 할당 되는 것
1-2 적용 방식
역할 정의
- 관리자, 관리자, 직원 등과 같은 조직 내의 다양한 역할을 정의한다.
역할에 권한 할당
- 각 역할이 수행할 수 있는 작업을 지정
ex) 관리자 역할 = 해당 부서와 관련된 모든 리소스에 대한 전체 액세스 권한
역할에 사용자 할당
- 권한이 할당된 역할에 사용자를 할당
1-3 장점
단순성
- 개별 권한 대신 역할을 할당하여 권한을 더 쉽게 관리 가능
확장성
- 역할은 여러 사용자 간에 재사용될 수 있으므로 대규모 조직에 맞게 확장 가능
업무 분리
- 사용자 역할에 필요한 것만 액세스하도록 제한하여 최소 권한 원칙을 시행하는 데 도움이 됨
2. 속성 기반 액세스 제어(ABAC)
2-1 기본 개념
- 사용자, 리소스, 작업 및 환경의 속성을 기반으로 권한을 부여하는 액세스 제어 방법
- RBAC에 비해 더 역동적이고 세분화된 접근 방식을 사용합니다.
2-3 적용 방식
속성 정의
- 사용자, 자원, 작업 및 환경에 대한 관련 속성을 식별 예를 들어 사용자 속성에는 직위, 부서 등 포함
정책 생성
- 속성 조합을 사용하여 액세스 제어 정책을 개발
ex) 직위가 "관리자"이고 허가 수준이 "높음"인 사용자만 특정 기밀 문서에 액세스 가능
액세스 요청 평가
- 사용자가 리소스에 대한 액세스를 요청하면 시스템은 사용자, 리소스, 작업 및 환경의 속성을 비교하여 정책에 대해 요청을 평가
2-4 장점
유연성
- 광범위한 속성을 기반으로 보다 세부적이고 동적인 액세스 제어 결정 가능
상황 인식
- 시간, 위치, 장치 유형과 같은 상황별 정보를 고려 가능
정책 정확성
- 매우 구체적이고 상세한 액세스 제어 정책을 지원
측면 | RBAC | ABAC |
통제 기반 | 역할 기반 | 속성 기반 |
유연성 | 떨어짐 | 뛰어남 |
정책 정의 | 사전 정의된 역할 기반 | 동적 속성 및 정책 기반 |
상황 인식 | 제한됨 | 높음 |
복잡성 | 구현이 더 쉬워짐 | 더 복잡함 |
오늘 배운점
RBAC는 더 간단하며 안정적인 역할과 예측 가능한 환경에서 사용할만 하다고 생각이 들었다.
ABAC는 제어 변수에 세밀하게 대응할 수 있는 유연성이 있기에
권한 체계가 다소 복잡한 경우 사용하면 좋을 것 같다고 생각이 들었다
'Knowledge of Dev' 카테고리의 다른 글
240620 Why QueryDSL? (0) | 2024.06.20 |
---|---|
240619 Refresh Token (0) | 2024.06.19 |
SpringSecurity 용어 정리 및 흐름 (0) | 2024.06.06 |
AOP(Aspect Oriented Programming) (0) | 2024.06.05 |
JWT(JSON Web Token) (0) | 2024.05.29 |