은폐 구현하기

은폐는 COM이 프록시를 통해 클라이언트를 가장하는 방법을 더 잘 제어할 수 있도록 하는 가장 확장입니다. 다양한 형태의 WMI 보안과 마찬가지로 CoSetProxyBlanketCoInitializeSecurity 인터페이스를 통해 은폐를 설정합니다.

COM은 다음과 같은 형태의 은폐를 제공합니다.

  • 정적인

    COM은 프록시에 대한 첫 번째 호출에서 스레드 또는 프로세스 토큰에 의해 토큰 ID를 설정합니다. CoSetProxyBlanket정적 은폐를 사용하는 경우 프록시의 수명 동안 프록시의 ID를 설정합니다.

  • 동적인

    COM은 프록시에 대한 각 호출의 스레드 또는 프로세스 토큰에서 토큰 ID를 다시 설정합니다. COM은 각 호출에서 ID를 확인하므로 동적 은폐를 사용하면 클라이언트 ID를 더 세밀하게 제어할 수 있습니다. 그러나 동적 은폐는 정적 은폐보다 효율성이 떨어집니다.

위임 수준의 가장과 함께 은폐를 설정하면 서버가 원격인 경우에도 서버가 서버 간에 클라이언트의 ID를 전파할 수 있습니다. 은폐를 사용하도록 설정하지 않으면 COM은 실제 서버 프로세스의 컨텍스트에서 로컬 서버에서 원격 서버로 호출합니다.

은폐를 사용하면 WMI가 클라이언트를 가장하여 여러 컴퓨터 경계를 넘어 로컬 및 원격 네트워크 리소스에 모두 액세스할 수 있습니다. WMI는 클라이언트의 ID를 WMI의 다른 원격 인스턴스와 같은 로컬 및 원격 서버에 전달할 수 있습니다. 그런 다음 이러한 원격 서버는 초기 클라이언트 컨텍스트에서 작업을 수행할 수 있습니다.

다음 절차에서는 은폐 및 위임을 함께 사용하는 방법을 설명합니다.

은폐 및 위임을 함께 사용하려면

  1. 인증 서비스를 Kerberos로 설정합니다.

    Kerberos는 원격 은폐 및 위임을 지원하는 유일한 인증 서비스입니다. 즉, 원격 서버에서만 은폐 및 위임을 사용할 수 있습니다.

  2. Active Directory 서비스에서 서버 로그인 계정을 "위임용으로 신뢰할 수 있음"으로 표시합니다.

  3. Active Directory 서비스에서 클라이언트 로그인 계정을 "계정이 중요하고 위임할 수 없음"으로 표시합니다.

예를 들어 여러 컴퓨터의 여러 WMI 인스턴스에서 개체를 반환할 수 있는 뷰 공급자에 대한 호출은 위임 및 은폐의 이점을 활용할 수 있습니다.