프로그래밍 방식 구성 요소 보안

구성 요소가 포함된 COM+ 애플리케이션에서 역할 기반 보안을 사용하는 경우 구성 요소 내에서 프로그래밍 방식 보안 기능에 액세스할 수 있습니다. 역할 멤버 자격을 검사 코드의 특정 섹션이 실행되는지 여부를 확인하고, 보안 호출 컨텍스트 개체를 사용하여 보안 정보에 액세스할 수 있으며, 현재 호출에 대해 보안이 사용하도록 설정되어 있는지 여부를 확인할 수 있습니다. SecurityCallContext 개체(Microsoft Visual Basic 애플리케이션의 경우)에 대한 참조 또는 ISecurityCallContext 인터페이스(C 및 Microsoft Visual C++ 애플리케이션의 경우)에 대한 포인터를 사용하여 이러한 모든 작업을 수행할 수 있습니다.

프로그래밍 방식의 역할 기반 보안에 대한 자세한 내용은 이 섹션의 다음 topics 참조하세요.

가장 및 COM 보안 기능

역할 기반 보안을 사용하지 않는 COM+ 애플리케이션에서 구성 요소를 사용하는 경우 프로그래밍 방식 역할 검사 및 보안 호출 컨텍스트 정보를 사용할 수 없습니다. 그러나 COM에서 제공하는 프로그래밍 방식의 보안 기능을 사용할 수 있습니다. 자세한 내용은 COM의 보안을 참조하세요.

COM에서 제공하는 대부분의 보안 기능을 사용할 수 있지만 COM+ 애플리케이션이 실행되는 서로게이트에 의해 CoInitializeSecurity 가 호출되므로 COM+ 애플리케이션의 일부인 구성 요소에서 CoInitializeSecurity를 호출할 수 없습니다. 그러나 클라이언트에 대한 정보를 검색하는 CoQueryClientBlanket과 같은 다른 보안 함수를 호출할 수 있습니다.

특히 클라이언트의 ID를 사용하여 일부 리소스에 액세스해야 하는 경우(예: 보안 설명자로 보호되는 파일에 액세스하거나 클라이언트의 ID를 데이터베이스로 전파하는 경우) 프로그래밍 방식으로 가장을 수행할 수 있습니다. 이 작업을 수행하는 시기와 방법에 대한 자세한 내용은 클라이언트 가장 및 위임을 참조하세요.

보안 기능 테스트

구성 요소에서 COM+ 프로그래밍 보안을 사용하는 경우 구성 요소의 보안 기능을 테스트할 준비가 되면 구성 요소를 COM+ 애플리케이션에 통합해야 합니다. COM+ 애플리케이션에 통합되지 않고 COM+ 프로그래밍 보안을 사용하는 구성 요소가 실행되는 경우 예외가 throw됩니다. 따라서 이러한 구성 요소가 COM+ 환경에 속하지 않는 애플리케이션에 성공적으로 통합될 수 있도록 하려면 이러한 예외가 적절하게 처리되도록 해야 합니다.

보안 요구 사항 문서화

역할 기반 보안을 사용하는 COM+ 애플리케이션에 대한 독립 실행형 구성 요소를 작성하는 경우 구성 요소가 COM+ 애플리케이션에 통합될 때 보안을 적절하게 구성할 수 있도록 구성 요소를 문서화해야 합니다. 예를 들어 추가해야 하는 역할을 식별하고 각 역할을 할당해야 하는 메서드와 인터페이스를 설명해야 합니다. 또한 IsCallerInRole("Teller")과 같은 메서드가 호출되는 경우 텔러만 액세스할 수 있는 기능을 설명해야 합니다. 또한 전체 구성 요소에 대한 액세스를 보호하는 데 역할이 필요한지 여부를 지정해야 합니다.

클라이언트 인증

클라이언트 가장 및 위임

라이브러리 애플리케이션 보안

다중 계층 애플리케이션 보안

역할 기반 보안 관리

COM+에서 소프트웨어 제한 정책 사용