속성 기반 접근 제어 (Attribute-Based Access Control, ABAC)
ABAC는 주체(사용자), 객체(리소스), 작업, 환경 조건의 속성을 조합하여 접근 제어 정책을 정의한다.
이를 통해 매우 세분화되고 유연한 접근 제어가 가능하다.
의료, 금융, 정부 등 복잡한 보안 요구사항을 가진 분야에서 유용하게 활용될 수 있다.
주요 특징
- 유연성: 다양한 속성 조합을 통해 복잡한 접근 제어 정책을 수용할 수 있다.
- 세분화: 사용자 역할뿐만 아니라 다양한 속성을 고려하여 더 정교한 접근 제어가 가능하다.
- 동적 정책: 실시간 속성 변화에 따라 접근 제어 결정을 동적으로 수행할 수 있다.
- 확장성: 새로운 속성을 쉽게 추가하여 정책을 확장할 수 있다.
ABAC의 주요 구성 요소
- 속성: 주체, 객체, 환경 조건에 대한 특성을 정의한다.
- 주체(Subject) 속성
- 사용자 ID, 이름, 직급, 부서, 보안 등급
- 근속 연수, 자격증, 교육 이수 여부
- 소속 조직, 프로젝트 참여 이력
- 객체(Object/Resource) 속성
- 데이터 분류, 보안 레벨
- 소유자, 작성일, 만료일
- 프로젝트 코드, 부서 코드
- 데이터 타입, 크기, 형식
- 행동(Action) 속성
- 읽기, 쓰기, 삭제, 수정
- 승인, 거부, 이관
- 다운로드, 공유, 인쇄
- 환경(Environment) 속성
- 접근 시간, 위치
- 네트워크 종류(내부/외부)
- 디바이스 종류, 보안 상태
- 현재 위험 수준
- 주체(Subject) 속성
- 정책 모델: 속성들의 조합으로 접근 제어 규칙을 정의한다.
- 아키텍처 모델: ABAC 시스템의 구현 방식을 정의한다.
ABAC의 장점
- 높은 유연성과 세분화된 접근 제어 가능
- 동적이고 컨텍스트 인식적인 정책 적용 가능
- 새로운 사용자나 리소스에 대해 개별 권한 설정 없이 속성만으로 접근 제어 가능
ABAC의 단점
- 구현 및 관리의 복잡성
- 성능 영향: 많은 속성을 평가해야 하므로 처리 시간이 길어질 수 있음
- 정책 설계의 어려움: 복잡한 속성 조합으로 인한 예기치 않은 결과 발생 가능성
모범 사례
정책 설계
- 명확한 속성 정의와 표준화
- 단순한 규칙부터 시작하여 점진적으로 확장
- 정책 템플릿 활용
성능 최적화
- 자주 사용되는 속성 캐싱
- 정책 평가 결과 캐싱
- 속성 검증 병렬 처리
모니터링과 감사
- 접근 결정 로깅
- 정책 변경 이력 관리
- 성능 메트릭 수집
관리 도구
- 정책 시각화 도구
- 정책 시뮬레이션 기능
- 속성 관리 인터페이스
예시
|
|