보안 권한
업데이트: 2007년 11월
공용 언어 런타임을 사용하면 코드에서 수행 권한이 있는 작업만 수행되도록 할 수 있습니다. 런타임에서는 권한이라는 개체를 사용하여 관리 코드에 제한 사항을 적용하기 위한 메커니즘을 구현합니다. 사용 권한의 기본적인 용도는 다음과 같습니다.
코드에서는 필요하거나 사용할 수 있는 권한을 요청할 수 있으며, .NET Framework 보안 시스템에서는 이러한 요청을 받아들일지 여부를 결정합니다. 코드 증명을 확인하여 해당 사용 권한을 부여할 만한다고 판단되는 경우에만 요청을 받아들입니다. 각 요청에 대해 현재 보안 설정에서 허용하는 것보다 많은 사용 권한이 코드에 부여되지는 않습니다. 그러나 요청에 따라서는 적은 사용 권한이 코드에 부여되기도 합니다.
런타임에서는 해당 코드 ID의 특징, 요청된 권한 및 코드의 신뢰 정도(관리자가 설정한 보안 정책에 따라 결정됨)에 따라 코드에 권한을 부여할 수 있습니다. 런타임에서 부여할 권한이 결정되는 방법에 대한 자세한 내용은 보안 정책 및 권한 부여를 참조하십시오.
코드에서 해당 코드의 호출자가 특정 권한을 가지도록 요구할 수 있습니다. 특정 사용 권한에 대한 요구를 코드에 포함시키면 해당 코드를 사용하는 모든 코드에 해당 사용 권한이 있어야만 실행됩니다.
세 가지 유형의 사용 권한이 있으며, 용도는 각각 다릅니다.
코드 액세스 권한. 보호되는 리소스에 액세스하거나 보호되는 작업을 수행할 수 있음을 나타냅니다.
ID 권한. 해당 코드에 특정 종류의 ID를 지원하는 자격 증명이 있음을 나타냅니다.
역할 기반 보안 권한. 사용자(또는 사용자를 대신하는 에이전트)가 특정 ID를 가지는지 또는 지정된 역할의 멤버인지 여부를 확인하기 위한 메커니즘을 제공합니다. PrincipalPermission은 유일한 역할 기반 보안 권한입니다.
런타임에서는 일부 네임스페이스에 기본 권한 클래스가 제공되며, 사용자 지정 권한 클래스의 디자인 및 구현을 지원하는 기능도 제공됩니다.