다음을 통해 공유


위임 및 가장

클라이언트/서버 시나리오에서는 한 서버가 클라이언트를 대신하여 일부 작업을 수행하기 위해 다른 서버를 호출하는 것이 일반적입니다. 서버에 클라이언트를 대신하여 작업할 권한이 부여되는 상황을 위임이라고 합니다.

보안 관점에서 위임과 관련된 두 가지 문제가 발생합니다.

  • 클라이언트를 대신하여 작업할 때 서버에서 수행할 수 있는 작업은 무엇인가요?
  • 클라이언트를 대신하여 다른 서버를 호출할 때 서버에서 제공하는 ID는 무엇인가요?

이러한 문제를 해결하기 위해 COM은 다음과 같은 기능을 제공합니다. 클라이언트는 서버가 클라이언트 역할을 할 수 있는 정도를 결정하는 가장 수준을 설정할 수 있습니다. 클라이언트가 서버에 충분한 권한을 부여하는 경우 서버는 클라이언트를 가장 (척)할 수 있습니다. 클라이언트를 가장할 때 서버에는 클라이언트에서 사용할 수 있는 권한이 있는 개체 또는 리소스에 대한 액세스 권한만 부여됩니다. 클라이언트 역할을 하는 서버는 은폐를 사용하여 자체 ID를 마스 하고 다른 COM 구성 요소에 대한 호출에서 클라이언트의 ID를 프로젝팅할 수도 있습니다.

클라이언트 역할을 하는 서버가 은폐를 사용하도록 설정하는 방법을 보여 주는 다이어그램

앞의 그림에서 설명한 시나리오를 고려해 보세요. 여기서 A와 B는 C. Process A 호출 B와 다른 컴퓨터에서 처리되고 B는 C를 호출합니다. 클라이언트 A는 가장 수준을 설정합니다. B는 은폐 기능을 설정합니다. A가 가장을 허용하는 가장 수준을 설정하는 경우 B는 A를 대신하여 C를 호출할 때 A를 가장할 수 있습니다. C를 처리하기 위해 표시되는 ID는 B가 은폐를 사용하도록 설정했는지 여부에 따라 A의 ID 또는 B의 ID가 됩니다. 은폐를 사용하도록 설정하면 C를 처리하기 위해 표시되는 ID는 A의 ID가 됩니다. 은폐를 사용하도록 설정하지 않으면 B의 ID가 C에 표시됩니다.

자세한 내용은 아래 항목을 참조하세요.