2009-04-10 4 views
8

.NET에서 CAS (코드 액세스 보안)이란 무엇입니까? 그것을 사용하면 어떤 이점이 있습니까?.NET에서 코드 액세스 보안이란 무엇입니까

+0

- [코드 액세스 보안 (CAS) 기반의 샌드 박스 .Net Core에서 지원되지 않습니다 **] (https://blogs.msdn.microsoft.com/dotnet/2016/02/10/porting-to-net-core/). CAS를 사용하려면 .Net Framework 전체를 사용해야합니다. – RBT

답변

13

CAS에 대해 알아 낸 최고의 링크는 my Delicious page on the subject에 있습니다.

요약하면 CAS는 .NET 용 보안 샌드 박스입니다. 로컬 앱은 일반적으로 모든 것을 할 수 있다는 것을 의미하는 완전한 신뢰를 가지고 있습니다. 브라우저에서 호스팅되는 .NET 응용 프로그램은 그다지 많은 기능을 수행 할 수 없습니다. 그 사이에 CAS를 사용하여 모든 보안 설정을 미세 조정할 수 있습니다.

로그인 한 사용자의 컨텍스트 내에서도 .NET 응용 프로그램이 수행 할 수있는 작업을 효과적으로 제어 할 수 있습니다. IMO의 가장 중요한 부분은 보안 검사가 스택을 걷는 것이므로 어떤 코드가 무언가를 할 수있는 권한이 있어도 이 아닌 다른 프로그램에서 해당 메서드를 호출하면에 뭔가 할 수있는 권한이 있다는 요청입니다. (특별한 조치가 취해지지 않는 한) 실패 할 것입니다.

단점 : 배우는 것은 꽤 복잡한 짐승입니다. 많은 잡았다. 그러나 내가 제공 한 링크를 통해 당신이 알아야 할 세부 사항을 배우게됩니다.

+0

링크를 공유해 주셔서 고맙습니다. Andrew ... – tush1r

4

코드 액세스 보안은 다음과 같은 요소로 구성

  • 권한
  • 권한은
  • 코드 그룹을 설정
  • 증거
  • 정책


사용 권한

사용 권한이란 보호 된 리소스에 대한 액세스 또는 보호 된 작업을 수행 할 수있는 권한을 나타냅니다. .NET Framework는 FileIOPermission (파일 작업시), UIPermission (사용자 인터페이스 사용 권한), SecurityPermission (코드 실행에 필요하며 보안을 우회하는 데 사용될 수도 있음) 등과 같은 여러 가지 권한 클래스를 제공합니다. 여기에 모든 권한 클래스를 나열하면 아래에 나열되어 있습니다.

권한

액세스권 세트는 권한 설정 컬렉션이다. FileIOPermission과 UIPermission을 자신의 권한 집합에 넣고 "My_PermissionSet"이라고 부를 수 있습니다. 권한 세트에는 여러 가지 권한이 포함될 수 있습니다. FullTrust, LocalIntranet, Internet, Execution 및 Nothing은 .NET Framework의 기본 제공 권한 집합 중 일부입니다. FullTrust는 전 세계에서 모든 권한을 가지며, Nothing에는 권한이 전혀 없으며 실행 권한도 없습니다.

코드 그룹

코드 그룹은 회원이 지정된 조건을 가지고 코드의 논리적 그룹입니다. http://www.somewebsite.com/의 코드는 하나의 코드 그룹에 속할 수 있으며 특정 강력한 이름을 포함하는 코드는 다른 코드 그룹에 속할 수 있으며 특정 어셈블리의 코드는 다른 코드 그룹에 속할 수 있습니다. My_Computer_Zone, LocalIntranet_Zone, Internet_Zone 등과 같은 내장 코드 그룹이 있습니다. 권한 세트와 마찬가지로 .NET Framework에서 제공하는 증거를 기반으로 요구 사항을 충족하는 코드 그룹을 만들 수 있습니다. Site, Strong Name, Zone, URL은 증거 유형 중 일부입니다.

정책

보안 정책 코드에 부여 할 권한을 결정할 때 CLR은 다음 규칙의 구성 집합입니다. Enterprise, Machine, User 및 Application Domain의 네 가지 정책 수준이 있으며 각각은 서로 독립적으로 작동합니다. 각 레벨에는 자체 코드 그룹과 권한 세트가 있습니다. 그것들은 아래에 주어진 계층 구조를 가지고 있습니다.

  1. 기업
  2. 기계
  3. 사용자
  4. 응용 프로그램 도메인 사람이 닷넷 코어에서 찾고이 스레드에서 최대 토지의 경우
+0

좋은 답변. 잘 복사하여 붙여 넣을 수 있습니다. 원본 기사는 여기에 - http://www.codeproject.com/Articles/5724/Understanding-NET-Code-Access-Security –

관련 문제