역할 기반 보안

역할은 재무용 또는 업무용 응용 프로그램에서 정책을 시행하는 데 종종 사용됩니다. 예를 들면, 요청하고 있는 사용자가 지정된 역할의 멤버인지 여부에 따라 응용 프로그램에서 처리되는 트랜잭션의 크기를 제한할 수 있습니다. 예를 들면 일반 직원은 지정된 임계값보다 적은 수의 트랜잭션을 처리할 수 있는 반면, 관리자는 그보다는 많은 트랜잭션을, 부사장은 훨씬 더 많은 또는 무제한적인 트랜잭션을 처리할 수 있습니다. 역할 기반 보안은 응용 프로그램에서 하나의 동작을 완료하는 데 여러 번의 승인을 요구하는 경우에도 사용될 수 있습니다. 구매 시스템이 이러한 경우에 해당하는데, 직원이 구매 요청을 할 수는 있지만 구매 대리인만이 해당 요청을 공급업체에 보낼 수 있는 구매 주문으로 변환하는 작업은 할 수 있습니다.

.NET Framework의 역할 기반 보안에서는 현재 스레드에서 사용할 수 있는 보안 주체(관련 ID로부터 생성됨)에 대한 정보를 생성하여 권한 부여를 지원합니다. ID(및 ID를 통해 정의되는 보안 주체)는 Windows 계정을 기반으로 하는 ID일 수도 있고 Windows 계정과는 상관 없는 사용자 지정 ID일 수도 있습니다. .NET Framework 응용 프로그램에서는 보안 주체의 ID, 역할 멤버 또는 이 둘 모두에 기반하여 부여할 권한을 결정할 수 있습니다. 역할은 보안과 관련하여 동일한 권한을 가지는 명명된 보안 주체의 집합(금전 출납 계원, 관리자 등)입니다. 보안 주체는 하나 이상의 역할 멤버가 될 수 있습니다. 따라서 응용 프로그램에서는 역할 멤버를 사용하여 특정 보안 주체에 요청된 동작을 수행할 수 있는 권한이 있는지 여부를 확인합니다.

코드 액세스 보안을 쉽고 일관성 있게 사용할 수 있도록 .NET Framework의 역할 기반 보안에서는 공용 언어 런타임을 사용하여 코드 액세스 보안 검사와 유사한 방식으로 권한을 부여하는 System.Security.Permissions.PrincipalPermission 개체를 제공합니다. PrincipalPermission 클래스는 보안 주체가 일치해야 하는 ID 또는 역할을 나타내며 선언적 및 명령적 보안 검사와 호환됩니다. 직접 보안 주체의 ID 정보에 액세스하고, 필요한 경우 코드로 역할 및 ID 검사를 수행할 수도 있습니다.

.NET Framework에서는 다양한 응용 프로그램의 요구 조건을 충족시킬 수 있을 만큼 융통성있고 확장 가능한 역할 기반 보안 기능을 지원합니다. 또한, COM+ 1.0 서비스 등의 기존 인증 인프라와 상호 운용하거나 사용자 지정 인증 시스템을 만들 수도 있습니다. 역할 기반 보안은 특히, 서버에서 주로 처리되는 ASP.NET 웹 응용 프로그램에 아주 적합합니다. 하지만 .NET Framework의 역할 기반 보안은 클라이언트 또는 서버 모두에 사용될 수 있습니다.

이 단원을 읽기 전에 먼저 주요 보안 개념의 내용을 이해하도록 하십시오.

관련 항목

제목

설명

Principal 개체 및 Identity 개체

Windows/일반 ID 및 Principal의 설정 및 관리 방법에 대해 설명합니다.

PrincipalPermission 개체

권한 개체를 선언형으로 구현하는 방법과 명령형으로 구현하는 방법에 대해 설명합니다.

역할 기반 보안 검사

보안 검사를 선언형으로 구현하는 방법, 명령형으로 구현하는 방법 또는 Principal 개체에 직접 액세스하여 구현하는 방법에 대해 설명합니다.

COM+ 1.0 보안과의 상호 운용

COM+ 1.0 보안과 .NET Framework를 상호 운용하는 방법에 대해 간단히 설명합니다.

주요 보안 개념

.NET Framework 보안을 사용하기 전에 반드시 이해해야 하는 기본 개념을 소개합니다.

보안 도구(.NET Framework)

.NET Framework에 포함된 보안 도구들을 보여 주면서 이에 대해 간단히 설명합니다.

참조

System.Security.Permissions.PrincipalPermission