역할은 종종 금융 또는 비즈니스 애플리케이션에서 정책을 적용하는 데 사용됩니다. 예를 들어 애플리케이션은 요청을 만드는 사용자가 지정된 역할의 멤버인지 여부에 따라 처리되는 트랜잭션의 크기에 제한을 적용할 수 있습니다. 서기는 지정된 임계값보다 작은 트랜잭션을 처리할 수 있는 권한을 가질 수 있고, 감독자는 더 높은 한도를 가질 수 있으며, 부사장은 여전히 더 높은 한도(또는 전혀 제한 없음)를 가질 수 있습니다. 애플리케이션에서 작업을 완료하기 위해 여러 승인이 필요한 경우에도 역할 기반 보안을 사용할 수 있습니다. 이러한 경우는 모든 직원이 구매 요청을 생성할 수 있는 구매 시스템일 수 있지만 구매 에이전트만 해당 요청을 공급자에게 보낼 수 있는 구매 주문으로 변환할 수 있습니다.
.NET 역할 기반 보안은 연결된 ID에서 생성된 보안 주체에 대한 정보를 현재 스레드에서 사용할 수 있도록 하여 권한 부여를 지원합니다. ID(및 정의하는 데 도움이 되는 보안 주체)는 Windows 계정을 기반으로 하거나 Windows 계정과 관련이 없는 사용자 지정 ID일 수 있습니다. .NET 애플리케이션은 보안 주체의 식별 또는 역할 참여 또는 둘 모두를 기반으로 하여 권한 부여를 결정할 수 있습니다. 역할은 보안과 관련하여 동일한 권한(예: 텔러 또는 관리자)을 갖는 명명된 보안 주체 집합입니다. 주체는 하나 이상의 역할의 멤버일 수 있습니다. 따라서 애플리케이션은 역할 멤버 자격을 사용하여 보안 주체가 요청된 작업을 수행할 권한이 있는지 여부를 확인할 수 있습니다.
코드 액세스 보안에서 사용 편의성과 일관성을 제공하기 위해 .NET 역할 기반 보안은 공용 언어 런타임이 코드 액세스 보안 검사와 유사한 방식으로 권한 부여를 수행할 수 있도록 하는 개체를 제공합니다 System.Security.Permissions.PrincipalPermission . PrincipalPermission 클래스는 주체가 일치해야 하는 신원 또는 역할을 나타내며, 선언적 및 명령적 보안 검사와 호환됩니다. 코드에서 필요할 때 주체의 신원 정보를 직접 액세스하고 역할 및 신원 검사를 수행할 수도 있습니다.
.NET은 광범위한 애플리케이션의 요구 사항을 충족할 수 있을 만큼 유연하고 확장 가능한 역할 기반 보안 지원을 제공합니다. COM+ 1.0 서비스와 같은 기존 인증 인프라와 상호 운용하거나 사용자 지정 인증 시스템을 만들도록 선택할 수 있습니다. 역할 기반 보안은 주로 서버에서 처리되는 ASP.NET 웹 애플리케이션에서 사용하기에 특히 적합합니다. 그러나 클라이언트 또는 서버에서 .NET 역할 기반 보안을 사용할 수 있습니다.
이 섹션을 읽기 전에 주요 보안 개념에 제시된 자료를 이해해야 합니다.
참고하십시오
.NET