권한부여: 개요

등록일시: 2017-01-14 08:00,  수정일시: 2017-01-20 11:10
조회수: 4,529
이 문서는 ASP.NET Core 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.
본문에서는 권한부여(Authorization)의 개념과 ASP.NET Core에서 제공되는 권한부여 유형을 살펴봅니다.

권한부여(Authorization)는 사용자가 수행할 수 있는 작업을 결정하는 과정을 말합니다. 가령, 관리자 권한을 가진 사용자는 문서 라이브러리를 만들고, 문서를 추가하고, 문서를 편집하고, 그 전부를 삭제할 수 있습니다. 반면, 문서 라이브러리를 사용하는 일반 사용자는 문서를 읽을 수 있는 권한만 갖고 있습니다.

권한부여는 사용자의 신원을 확인하는 과정인 인증(Authentication)과는 무관한 독립적인 과정입니다. 인증은 현재 사용자에 대한 하나 이상의 신원(Identity)을 만들 수 있습니다.

권한부여의 유형

ASP.NET Core의 권한부여에서는 간단한 선언적 역할 기반 모델과, 요구사항(Requirements)을 이용해서 권한을 표현하고 처리기를 사용해서 요구사항에 대한 사용자 클레임을 평가하는 풍부한 정책 기반 모델을 제공해줍니다. 간단한 정책이나, 사용자의 신원 및 사용자가 접근하려는 리소스의 속성 양쪽 모두를 평가하는 복잡한 정책을 기반으로 명령형 검사를 수행할 수도 있습니다.

네임스페이스

Authorize 어트리뷰트와 AllowAnonymous 어트리뷰트를 비롯한 권한부여 구성 요소들은 Microsoft.AspNetCore.Authorization 네임스페이스에 위치해 있습니다.