권한 부여
포스팅 뷰569
권한 부여 또는 인가(Authorization)는 어떤 사람이나 사물이 어떤 대상(리소스)에 대한 권한을 부여하는 것이다. 대상에는 파일, 데이터, 서비스, 속성, 설정 등이 있고, 권한에는 보통 읽기, 쓰기, 변경, 삭제, 다운로드 등이 있다. 로그인 과정에서 보면, 인증을 통과한 사용자는 정의된 대상에 대해 정의된 권한을 갖는다. 권한은 어떤 업무를 하는 데 필요한 최소한의 권한만 부여하는 것이 바람직하다. 역할 기반 접근 통제(RBAC: Role Based Access Control) 모델에서는 어떤 사용자가 속하는 역할이 지정되면, 그 역할에 따른 대상과 권한이 정해진다. 권한 부여에 대한 공격으로는 권한 상승(Elevation of Privilege) 공격이 있다. 예를 들어 로그인을 통해 어떤 권한을 부여 받은 상태에서 최고관리자(Admin, Root) 권한 같이 더 높은 권한을 획득하는 공격이다. 시스템의 취약점을 악용하거나 최고관리자의 자격증명을 획득함으로써 가능하다. 읽기, 쓰기, 삭제, 다운로드, 설정 변경 등 권한을 명확히 나눠서 필요한 사람에게만 제공한다. 시스템 기본 제공 최고관리자 계정을 사용한다면, 그 계정의 사용자를 최소로 유지한다. 최고관리자 권한을 가진 담당자의 계정을 별도로 발급하고, 최고관리자 권한을 부여하는 것이 바람직하다. 대부분의 시스템 공격은 최고관리자 권한을 획득하는 데 집중하므로, 최고관리자 권한은 최소로 발급하고, 별도로 관리한다. 보통 권한 부여는 서버, DBMS, 그룹웨어 등 사내 애플리케이션, 개인정보처리스시템의 등록된 계정에 대해 업무 수행에 필요한 적절한 권한을 부여하는 것을 말하지만, 회사 출입증, 안전 구역 출입 권한, CCTV 열람 권한 등 오프라인에서의 권한 부여도 중요한 관리 대상이다.권한 부여의 정의
권한 부여의 원칙
권한 부여 시 유의사항