라이브러리 애플리케이션의 보안 구성

라이브러리 애플리케이션에 대한 역할 기반 보안 및 인증 구성에는 특별한 고려 사항이 있습니다.

인증 사용 또는 사용 안 함

고려해야 할 요소 중 하나는 라이브러리 애플리케이션의 호출자가 호스팅 프로세스의 프로세스 수준 보안 검사(즉, 인증을 사용하거나 사용하지 않도록 설정할지 여부)의 적용을 받아야 하는지 여부입니다.

예를 들어 라이브러리 애플리케이션이 브라우저에서 호스트되는 경우 인증되지 않은 콜백을 수신해야 할 수 있습니다. 이러한 요구를 해결하기 위해 호스팅 프로세스가 라이브러리 애플리케이션의 호출자에 대한 보안 검사를 수행하지 않도록 인증을 사용하지 않도록 설정할 수 있습니다. 인증을 사용하지 않도록 설정하면 라이브러리 애플리케이션이 인증되지 않습니다. 모든 호출이 성공합니다. 라이브러리 애플리케이션의 호출자는 호스팅 프로세스의 보안 검사를 받지 않습니다. 기본적으로 라이브러리 애플리케이션은 "인증되지 않음"으로 태그가 지정되고 라이브러리 애플리케이션에 대한 호출에 대한 보안 검사는 생략됩니다.

인증을 사용하거나 사용하지 않도록 설정하는 방법에 대한 자세한 내용은 라이브러리 애플리케이션에 인증 사용을 참조하세요.

역할 검사 적용

또 다른 결정은 라이브러리 애플리케이션이 역할 기반 보안을 사용해야 하는지 여부입니다. 역할 기반 보안을 사용하는 경우 수행할 액세스 검사에 대해 구성 요소 수준 보안을 사용해야 합니다. 라이브러리 애플리케이션에 할당된 역할은 프로세스 보안 설명자에 반영되지 않습니다. 라이브러리 애플리케이션이 제어할 수 있는 유일한 권한 부여는 구성 요소 수준입니다. 구성 요소 수준 보안에 대한 자세한 내용은 보안 경계를 참조하세요.

구성 요소 수준 보안을 설정하는 방법을 보려면 액세스 검사에 대한 보안 수준 설정을 참조하세요.

구성 시나리오

라이브러리 애플리케이션이 역할 기반 보안을 사용해야 하는지 여부와 라이브러리 애플리케이션을 인증 취소해야 하는지 여부를 결정하는 의미를 더 잘 이해하려면 다음 시나리오를 고려하세요.

  • 인증이 사용하도록 설정되고 역할 기반 보안이 사용됩니다. 이 시나리오에서는 호스팅 프로세스에서 보안 검사를 수행하고 일부 호출자는 프로세스 수준에서 액세스가 거부됩니다. 또한 역할 검사는 라이브러리 애플리케이션 수준에서 수행되므로 프로세스 수준 보안 검사 통해 수행하는 일부 호출자는 역할 멤버 자격을 확인할 때 라이브러리 애플리케이션에 대한 액세스가 거부됩니다. 이는 역할 기반 보안을 사용하는 COM+ 라이브러리 애플리케이션에 대한 일반적인 시나리오입니다.

    다음 그림에서는 인증을 사용하도록 설정하고 역할 검사를 사용하는 시나리오를 보여 줍니다.

    호스트 프로세스 내에서 수행되는 인증을 보여 주는 다이어그램

  • 인증이 사용하도록 설정되고 역할 기반 보안이 사용되지 않습니다. 이 시나리오에서 보안 검사는 프로세스 수준에서 수행되지만 역할 멤버 자격은 라이브러리 애플리케이션 수준에서 확인되지 않습니다. 따라서 프로세스 수준 보안 검사 통해 라이브러리 애플리케이션을 만드는 라이브러리 애플리케이션의 호출자는 역할 멤버 자격을 검사하지 않으므로 라이브러리 애플리케이션에 대한 액세스 권한을 부여합니다. 이 상황은 역할 기반 보안을 사용하지 않는 COM 애플리케이션이 COM+ 라이브러리 애플리케이션으로 마이그레이션될 때 존재합니다.

    다음 그림에서는 인증을 사용하도록 설정하고 역할 검사를 사용하지 않는 시나리오를 보여 줍니다.

    호스트 프로세스 내의 라이브러리 애플리케이션에 대한 프로세스 수준 인증을 보여 주는 다이어그램

  • 인증이 비활성화되고 역할 기반 보안이 사용됩니다. 이 시나리오에서는 프로세스 수준에서 보안 검사가 수행되지만 라이브러리 애플리케이션에 대한 호출자는 인증되지 않습니다. 실제로 라이브러리 애플리케이션의 호출자는 프로세스 수준 보안 검사 제외됩니다. 역할 검사를 사용하도록 설정하기 때문에 역할 멤버 자격만으로 라이브러리 애플리케이션에 대한 액세스 권한이 부여된 사용자를 결정합니다. 이 시나리오는 호스팅 프로세스에서 수행하는 보안 검사 너무 제한적이지만 라이브러리 애플리케이션 또는 특정 인터페이스 또는 메서드에 대한 액세스 제한이 있어야 하는 경우에 적합할 수 있습니다. 이 시나리오를 사용하면 프로세스 보안을 효과적으로 해제하고 역할 기반 보안을 사용하여 적절한 수준의 액세스 검사를 계속 수행할 수 있습니다.

    인증을 사용하지 않도록 설정되고 역할 검사를 사용하는 시나리오는 다음 그림에 나와 있습니다.

    호스트 프로세스 내의 라이브러리 애플리케이션에서 '역할 멤버 자격에 대한 검사'을 보여 주는 다이어그램

  • 인증이 비활성화되고 역할 기반 보안이 사용되지 않습니다. 이 시나리오에서 보안 검사는 여전히 프로세스 수준에서 수행되지만 이전 시나리오와 마찬가지로 라이브러리 애플리케이션의 호출자는 항상 이 보안 검사 전달합니다. 역할 검사도 사용하지 않도록 설정되므로 역할 멤버 자격은 라이브러리 애플리케이션 수준에서 확인되지 않습니다. 기본적으로 누구나 라이브러리 애플리케이션을 호출할 수 있습니다. 이 시나리오는 COM 개체가 인증되지 않은 콜백을 수신해야 하는 경우 선택해야 합니다. 인터넷 Explorer 호스팅되는 ActiveX 컨트롤과 Microsoft 관리 콘솔 스냅인의 경우와 같습니다. 물론 인증되지 않은 호출을 수신할 때 이 COM 개체가 적절하게 동작하도록 신뢰할 수 있어야 합니다. 예를 들어 호출자를 대신하여 임의 파일에 액세스해서는 안 됩니다.

    인증이 비활성화되고 역할 검사가 사용되지 않는 시나리오는 다음 그림에 나와 있습니다.

    호스트 프로세스 내에서 인증되지 않은 라이브러리 애플리케이션에 대한 호출을 보여 주는 다이어그램

COM+ 라이브러리 애플리케이션에 대해 인증을 사용하도록 설정하거나 사용하지 않도록 설정할지 결정한 후에는 Component Services 관리 도구를 사용하여 인증을 사용하지 않도록 설정(또는 사용)하는 방법을 설명하는 단계별 절차는 라이브러리 애플리케이션 에 인증 사용을 참조하세요. 라이브러리 애플리케이션에서 역할 기반 보안을 사용하는 경우 Role-Based 보안 구성을 참조하세요.

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