보안 클래스 라이브러리 작성
클래스 라이브러리는 보호된 리소스와 비관리 코드를 자주 액세스하므로 클래스 라이브러리에 프로그래밍 오류가 있으면 보안상 약점이 드러날 수 있습니다. 클래스 라이브러리를 설계하려면 코드 액세스 보안을 이해하고 클래스 라이브러리의 보안에 주의해야 합니다.
다음 표는 클래스 라이브러리의 보안을 설정할 때 고려해야 할 세 가지 주요한 요인을 나타냅니다.
보안 요소 |
설명 |
---|---|
보안 요구 |
요구는 코드의 호출자에게 권한을 요구하는 메커니즘으로, 클래스와 메서드 수준에 적용됩니다. 요구는 스택 워크를 호출하는데, 이 스택 워크에서 코드를 직접 또는 간접적으로 호출하는 모든 호출자는 코드가 호출될 때 검사됩니다. 요구는 리소스를 보호하기 위해 대개 클래스 라이브러리에서 사용됩니다. |
보안 재정의 |
재정의는 공용 언어 런타임이 내린 특정 보안 결정을 재정의하는 방법으로, 클래스와 메서드 범위에 적용됩니다. 재정의는 호출자가 코드를 사용할 때 호출됩니다. 재정의는 스택 워크를 중지하거나 특정 권한이 부여된 호출자의 액세스를 제한하기 위해 사용됩니다.
참고
.NET Framework 버전 4에서의 보안 관련 변경에 따라 일부 재정의는 더 이상 사용할 수 없습니다.이러한 변경 내용에 대한 자세한 내용은 .NET Framework 4의 보안 변경 내용을 참조하십시오.
주의
재정의는 위험할 수 있으므로 신중하게 사용해야 합니다.
|
보안 최적화 |
.NET Framework 4에서 도입된 투명성은 코드 액세스 보안을 최적화하는 새로운 방법을 제공합니다. 자세한 내용은 보안 투명 코드를 참조하십시오. |