허가 (컴퓨터 과학)

허가(허용; )란 리소스에 대한 접근 권한 및 정책을 지정하는 기능이다. 정보 보안 및 컴퓨터 보안, 특히 접근 제어 분야와 관련이 있다. 예를 들어 인사부서 직원들은 보통 직원 데이터를 열람할 수 있도록 허용되어 있다. 하지만 이러한 정책은 일반적으로 컴퓨터 시스템에 접근 제어 규칙들로 저장된다. 컴퓨터 시스템은 어떤 (인증된) 리소스 수요자가 리소스에 대한 요청을 하면, 저장된 접근 제어 규칙들을 적용해 요청을 허가할지 거부할지를 결정한다. 여기서 리소스는 개개의 파일 또는 데이터, 컴퓨터 프로그램이나 프로그램의 일부 기능, 컴퓨터 하드웨어 및 장치 등을 포함한다. 그리고 리소스 수요자는 컴퓨터 사용자뿐만 아니라 컴퓨터 프로그램이나 다른 장치들이 될 수도 있다.

개요
컴퓨터 시스템이나 네트워크에서 접근 제어는 접근 정책을 기반으로 한다. 접근 제어는 두 단계로 나뉘는데, 첫 번째는 접근 제어 정책을 정의하는 단계고, 두 번째는 정책에 따라 접근 요청을 허가하거나 거부하는 단계다. 허가 기능은 이 앞단계에 해당한다.

대부분의 현대 멀티유저 운영체제들은 접근 제어를 지원하고, 따라서 허가 기능을 필요로한다. 접근 제어 프로그램은 먼저 인증 기능을 통해 사용자의 신원을 확인한다. 사용자가 리소스에 접근하려하면, 접근 제어 프로그램은 접근 제어 정책을 참고해 이를 허가할지 거부할지를 결정한다. 정책을 정하는 것은 보통 해당 부서의 부서장의 역할이지만, 많은 경우 시스템 관리자가 대리한다. 이러한 정책은 보통 접근 제어 목록과 같은 형식으로 저장된다. 이때 정책은 되도록 최소 권한의 원칙을 바탕으로 만들어져야 한다. 다시 말하면 사용자는 작업을 하기 위해 반드시 필요한 리소스에만 접근이 허용되어야 한다. 오래된 시스템 혹은 단독 사용자 시스템들의 경우 인증과 접근 제어 기능이 없거나 굉장히 약한 경우가 많다.

"익명 사용자" 혹은 "손님"은 인증을 하지 않아도 되는 사용자를 의미한다. 보통 이들에겐 굉장히 제한된 자원만이 허가된다. 하지만 분산 시스템에서는 확실하게 인증된 신원없이 키나 티켓과 같은 접근 토큰으로 리소스 접근을 허용해야 하는 경우들이 종종 있다.

신뢰할 수 있는 사용자들은 보통 시스템 리소스에 무제한적인 접근이 허용되기 때문에 반드시 인증을 통해 신원이 확인되어야 한다. 시스템 리소스가 원치 않은 용도로 사용되는 것을 피하기 위해선 "부분적으로 신뢰할 수 있는" 사용자나 손님들은 제한된 리소스만 허가되어야 한다. 일부 운영체제에선 기본적으로 모든 사용자에게 모든 리소스에 대한 무제한 접근을 허용한다. 반대로 다른 운영체제들에서는 반드시 시스템 운영자가 직접 허가를 해야만 리소스를 접근할 수 있는 경우도 있다.

각주 

접근 제어
컴퓨터 접근 제어