코드 액세스 권한
코드 액세스 권한은 리소스 및 작업이 무단으로 사용되지 않도록 보호하는 데 사용되는 권한 개체입니다. 이 권한은 공용 언어 런타임에서 관리 코드에 보안 관련 제한 사항을 적용하기 위한 메커니즘에서 기본적인 부분입니다.
각 코드 액세스 권한은 다음 권한 중 하나를 나타냅니다.
파일, 환경 변수 등의 보호되는 리소스에 액세스할 수 있는 권한
비관리 코드에 액세스하는 등의 보호되는 작업을 수행할 수 있는 권한
모든 코드 액세스 권한은 코드를 통해 요청 또는 요구될 수 있으며, 런타임에서는 코드에 부여할 권한이 결정됩니다.
각 코드 액세스 권한은 CodeAccessPermission 클래스에서 파생되므로, 모든 코드 액세스 권한에는 Demand, Assert, Deny, PermitOnly, IsSubsetOf, Intersect 및 Union 같은 공통적인 메서드가 있습니다.
중요 |
---|
.NET Framework 버전 4에서 런타임 지원은 Deny, RequestMinimum, RequestOptional 및 RequestRefuse 권한 요청을 적용하기 위해 제거되었습니다.이러한 요청은 .NET Framework 4 이상을 기반으로 하는 코드에서 사용하면 안 됩니다.이 변경 내용 및 다른 변경 내용에 대한 자세한 내용은 .NET Framework 4의 보안 변경 내용을 참조하십시오. |
.NET Framework에서 제공하는 코드 액세스 권한은 다음과 같습니다.
권한 클래스 이름 |
권한 |
---|---|
ASP.NET-호스팅 환경의 리소스에 액세스합니다. |
|
System.DirectoryServices 클래스에 액세스할 수 있는 권한 |
|
DNS(Domain Name System)에 액세스할 수 있는 권한 |
|
환경 변수를 읽거나 쓸 수 있는 권한 |
|
이벤트 로그 서비스를 읽거나 쓸 수 있는 권한 |
|
열기 대화 상자에서 사용자가 선택한 파일에 액세스할 수 있는 권한 |
|
파일 또는 디렉터리를 읽거나, 추가하거나, 쓸 수 있는 권한 |
|
격리 저장소(웹 사이트, 게시자 또는 서명과 같은 코드 ID의 일부 항목 및 특정 사용자와 관련된 저장소)에 액세스 할 수 있는 권한 |
|
관리되는 MSMQ(Microsoft Message Queueing) 인터페이스를 사용하여 메시지 큐에 액세스할 수 있는 권한 |
|
ODBC 데이터 소스에 액세스합니다. |
|
OLE DB를 사용하여 데이터베이스에 액세스할 수 있는 권한 |
|
Oracle 데이터베이스에 액세스합니다. |
|
성능 카운터에 액세스할 수 있는 권한. |
|
프린터 액세스 권한 |
|
런타임에 형식에 대한 정보 검색 권한 |
|
레지스트리 키 및 값을 읽거나, 쓰거나, 만들거나, 삭제할 수 있는 권한 |
|
실행, 어설션, 비관리 코드로의 호출, 유효성 검사 생략 등에 관련된 권한 |
|
실행 중이거나 중지된 서비스에 액세스할 수 있는 권한 |
|
전송 주소에 대해 연결을 만들거나 허용할 수 있는 권한 |
|
SQL 데이터베이스에 액세스할 수 있는 권한 |
|
사용자 인터페이스 기능에 액세스할 수 있는 권한 |
|
웹 주소에 대해 연결을 만들거나 허용할 수 있는 권한 |
아울러 .NET Framework에서는 사용자 정의 권한을 만드는데 사용할 수 있는 다음 추상 클래스가 제공됩니다.
권한 클래스 이름 |
권한 |
---|---|
데이터베이스에 액세스할 수 있습니다. |
|
격리된 저장소에 액세스할 수 있습니다. |
|
시스템 리소스에 액세스할 수 있습니다. |