Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um cobertor de segurança é um grupo de valores que descrevem as configurações de segurança que se aplicam a todos os proxies em um processo ou apenas a um proxy de interface específico. Um cobertor de segurança compreende os seguintes valores:
- Serviço de autenticação
- Serviço de autorização
- Nome da entidade de segurança
- Nível de autenticação
- Nível de representação
- Identidade de autenticação
- Capacidades
- Uma ACL (lista de controle de acesso) (somente servidores)
A negociação do cobertor de segurança é o processo que o COM usa para escolher as configurações de segurança de um proxy quando ele é criado. Esse processo envolve comparar o cobertor de segurança do servidor com o cobertor de segurança do cliente e usar esses valores para criar um cobertor de segurança padrão apropriado para o proxy. Os parágrafos a seguir explicam de onde vêm os cobertores de segurança do cliente e do servidor e descrevem como o COM negocia o cobertor de segurança para o proxy usando os cobertores de segurança do cliente e do servidor.
O cliente e o servidor podem chamar cada CoInitializeSecurity para especificar seus respectivos cobertores de segurança. Se um aplicativo não chamar CoInitializeSecurity explicitamente, COM o chamará implicitamente para o aplicativo, usando valores padrão apropriados. Para obter mais informações sobre esses valores padrão, consulte padrões de segurança COM.
Alguns parâmetros para CoInitializeSecurity se aplicam quando o aplicativo é um servidor e alguns se aplicam quando o aplicativo é um cliente. Quando o aplicativo está agindo como um servidor, esses parâmetros são relevantes: uma ACL, uma lista de tuplas de serviço de autenticação/serviço de autorização/nome principal e um nível de autenticação. A chamada de um servidor para CoInitializeSecurity, seja implícita ou explícita, determina o cobertor de segurança do servidor, que permanece fixo.
Quando o aplicativo está atuando como um cliente, os seguintes valores passados para CoInitializeSecurity são relevantes: um nível de autenticação, um nível de representação, a identidade de autenticação e os recursos. A chamada implícita ou explícita de um cliente para CoInitializeSecurity indica o cobertor de segurança desejado pelo cliente.
Quando um proxy é criado, COM usa os valores especificados pelo cobertor de segurança do servidor e o cobertor de segurança do cliente para negociar um cobertor de segurança padrão apropriado para o proxy. O COM escolhe um serviço de autenticação que funciona no cliente e no servidor. O serviço de autorização e o nome da entidade de segurança são escolhidos para trabalhar com o serviço de autenticação. Para o nível de autenticação, COM escolhe a parte superior dos níveis de autenticação especificados pelo cliente e pelo servidor. O nível de representação e os recursos escolhidos por COM são os especificados pelo cliente. A identidade de autenticação é a especificada pelo cliente para o serviço de autenticação escolhido.
Depois que o cobertor de segurança padrão tiver sido computado, seus valores serão atribuídos ao proxy recém-criado. O cliente pode substituir as configurações de segurança do proxy chamando IClientSecurity::SetBlanket. Os valores especificados para SetBlanket não são negociados; eles são simplesmente atribuídos ao proxy especificado. No entanto, se os parâmetros padrão (como RPC_C_IMP_LEVEL_DEFAULT) forem passados para setBlanket, COM usará o algoritmo de negociação de cobertor de segurança descrito anteriormente para calcular os parâmetros padrão.
Tópicos relacionados
-
segurança do no COM