위임 및 가장
클라이언트/서버 시나리오에서는 한 서버가 클라이언트를 대신하여 일부 작업을 수행하기 위해 다른 서버를 호출하는 것이 일반적입니다. 서버에 클라이언트를 대신하여 작업할 권한이 부여되는 상황을 위임이라고 합니다.
보안 관점에서 위임과 관련된 두 가지 문제가 발생합니다.
- 클라이언트를 대신하여 작업할 때 서버에서 수행할 수 있는 작업은 무엇인가요?
- 클라이언트를 대신하여 다른 서버를 호출할 때 서버에서 제공하는 ID는 무엇인가요?
이러한 문제를 처리하기 위해 COM은 다음과 같은 기능을 제공합니다. 클라이언트는 서버가 클라이언트 역할을 할 수 있는 정도를 결정하는 가장 수준 설정할 수 있습니다. 클라이언트가 서버에 충분한 권한을 부여하는 경우 서버는 클라이언트를 가장(척) 수 있습니다. 클라이언트를 가장할 때 서버는 클라이언트에서 사용할 수 있는 권한이 있는 개체 또는 리소스에만 액세스할 수 있습니다. 클라이언트 역할을 하는 서버는 은폐 사용하여 자체 ID를 마스킹하고 다른 COM 구성 요소에 대한 호출에서 클라이언트의 ID를 프로젝트할 수도 있습니다.
클라이언트 역할을 하는 서버가 은폐를 사용하도록 설정하는 방법을 보여 주는
앞의 그림에서 설명한 시나리오를 생각해 보세요. 여기서 A와 B는 C와 다른 컴퓨터의 프로세스입니다. 프로세스 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에 표시됩니다.
자세한 내용은 다음 항목을 참조하세요.