보안 경계

보안은 애플리케이션 경계에서만 검사됩니다. 즉, 동일한 애플리케이션의 두 구성 요소에 대해 한 구성 요소가 다른 구성 요소를 호출할 때 보안 검사 수행되지 않습니다. 그러나 두 애플리케이션이 동일한 프로세스를 공유하고 한 애플리케이션의 구성 요소가 다른 구성 요소를 호출하는 경우 애플리케이션 경계가 교차하기 때문에 보안 검사 수행됩니다. 마찬가지로 두 애플리케이션이 서로 다른 서버 프로세스에 있고 첫 번째 애플리케이션의 구성 요소가 두 번째 애플리케이션의 구성 요소를 호출하는 경우 보안 검사 수행됩니다.

따라서 두 구성 요소가 있고 다른 구성 요소를 호출할 때 보안 검사를 수행하려면 구성 요소를 별도의 COM+ 애플리케이션에 배치해야 합니다.

COM+ 라이브러리 애플리케이션은 다른 프로세스에서 호스팅되므로 라이브러리 애플리케이션과 호스팅 프로세스 간에 보안 경계가 있습니다. 또한 라이브러리 애플리케이션은 프로세스 수준 보안을 제어하지 않으므로 보안을 구성하는 방법에 영향을 줍니다. 자세한 내용은 라이브러리 애플리케이션 보안을 참조하세요.

구성 요소 호출 시 보안 검사 수행해야 하는지 여부를 결정하는 것은 구성된 구성 요소가 인스턴스화될 때 생성된 개체 컨텍스트의 보안 속성을 기반으로 합니다. 자세한 내용은 보안 컨텍스트 속성을 참조하세요.

Component-Level 액세스 검사

COM+ 서버 애플리케이션의 경우 구성 요소 수준 또는 프로세스 수준에서 액세스 검사를 적용할 수 있습니다.

구성 요소 수준 액세스 검사를 선택하면 세분화된 역할 할당을 사용하도록 설정합니다. 구성 요소, 인터페이스 및 메서드에 역할을 할당하고 명시적 권한 부여 정책을 달성할 수 있습니다. 이는 역할 기반 보안을 사용하는 애플리케이션에 대한 표준 구성입니다.

COM+ 라이브러리 애플리케이션의 경우 역할을 사용하려면 구성 요소 수준 보안을 선택해야 합니다. 라이브러리 애플리케이션은 프로세스 수준 보안을 사용할 수 없습니다.

프로그래밍 방식 역할 기반 보안을 사용하는 경우 구성 요소 수준 액세스 검사를 선택해야 합니다. 보안 호출 컨텍스트 정보는 구성 요소 수준 보안을 사용하도록 설정한 경우에만 사용할 수 있습니다. 자세한 내용은 보안 통화 컨텍스트 정보를 참조하세요.

또한 구성 요소 수준 액세스 검사를 선택하면 보안 속성이 개체 컨텍스트에 포함됩니다. 즉, 보안 구성은 개체가 활성화되는 방식에서 역할을 할 수 있습니다. 자세한 내용은 보안 컨텍스트 속성을 참조하세요.

Process-Level 액세스 검사

프로세스 수준 검사는 애플리케이션 경계에만 적용됩니다. 즉, 전체 COM+ 애플리케이션에 대해 정의한 역할은 애플리케이션 내의 모든 리소스에 대한 액세스 권한이 부여된 사용자를 결정합니다. 더 세분화된 역할 할당은 적용되지 않습니다. 기본적으로 역할은 애플리케이션의 구성 요소에 대한 호출의 유효성을 검사하는 보안 설명자를 만드는 데 사용됩니다. 이 경우 여러 역할을 사용하여 자세한 권한 부여 정책을 생성하지 않을 수 있습니다. 애플리케이션은 단일 보안 설명자를 사용합니다.

COM+ 라이브러리 애플리케이션의 경우 프로세스 수준 액세스 검사를 선택하지 않습니다. 라이브러리 애플리케이션은 클라이언트 프로세스에서 호스트되므로 프로세스 수준 보안을 제어하지 않습니다. 자세한 내용은 라이브러리 애플리케이션 보안을 참조하세요.

프로세스 수준 액세스 검사를 사용하도록 설정하면 보안 호출 컨텍스트 정보를 사용할 수 없습니다. 즉, 프로세스 수준 보안만 사용하는 경우 프로그래밍 방식 보안을 수행할 수 없습니다. 자세한 내용은 보안 통화 컨텍스트 정보를 참조하세요.

또한 보안 속성은 개체 컨텍스트에 포함되지 않습니다. 즉, 프로세스 수준 액세스 검사만 사용하는 경우 보안 구성은 개체가 활성화되는 방식에서 역할을 하지 않습니다. 자세한 내용은 보안 컨텍스트 속성을 참조하세요.

역할 효과적으로 디자인

보안 호출 컨텍스트 정보

보안 컨텍스트 속성

클라이언트 권한 부여에 역할 사용