estrutura RPC_BINDING_HANDLE_SECURITY_V1_A (rpcdce.h)

A estrutura RPC_BINDING_HANDLE_SECURITY_V1 contém as opções básicas de segurança com as quais criar um identificador de associação RPC.

Sintaxe

typedef struct _RPC_BINDING_HANDLE_SECURITY_V1_A {
  unsigned long             Version;
  unsigned char             *ServerPrincName;
  unsigned long             AuthnLevel;
  unsigned long             AuthnSvc;
  SEC_WINNT_AUTH_IDENTITY_A *AuthIdentity;
  RPC_SECURITY_QOS          *SecurityQos;
} RPC_BINDING_HANDLE_SECURITY_V1_A, *PRPC_BINDING_HANDLE_SECURITY_V1_A;

Membros

Version

A versão dessa estrutura. Para RPC_BINDING_HANDLE_SECURITY_V1 isso deve ser definido como 1.

ServerPrincName

Ponteiro para uma cadeia de caracteres que contém o nome da entidade de segurança do servidor referenciado pelo identificador de associação. O conteúdo do nome e sua sintaxe são definidos pelo serviço de autenticação em uso.

AuthnLevel

Nível de autenticação a ser executado em chamadas de procedimento remoto feitas usando esse identificador de associação. Para obter uma lista dos níveis de autenticação com suporte para RPC, consulte Constantes no nível de autenticação.

Se AuthnSvc estiver definido como RPC_C_AUTHN_NONE, esse membro também deverá ser definido como RPC_C_AUTHN_NONE.

AuthnSvc

Serviço de autenticação a ser usado ao associar.

Especifique RPC_C_AUTHN_NONE para desativar a autenticação para chamadas de procedimento remoto feitas usando o identificador de associação.

Se RPC_C_AUTHN_DEFAULT for especificado, a biblioteca de tempo de execução RPC usará o serviço de autenticação RPC_C_AUTHN_WINNT para chamadas de procedimento remoto feitas usando o identificador de associação.

Se AuthnLevel estiver definido como RPC_C_AUTHN_NONE, esse membro também deverá ser definido como RPC_C_AUTHN_NONE.

AuthIdentity

SEC_WINNT_AUTH_IDENTITY estrutura que contém as credenciais de autenticação e autorização do cliente apropriadas para o serviço de autenticação e autorização selecionado.

SecurityQos

RPC_SECURITY_QOS estrutura que contém as configurações de qualidade de serviço de segurança para o identificador de associação.

Nota Para obter uma lista dos serviços de autenticação com suporte para RPC, consulte Autenticação-Constantes de Serviço.
 

Comentários

Se essa estrutura não for passada para RpcBindingCreate , ou seja, se o parâmetro Security de RpcBindingCreate estiver definido como NULL , os seguintes comportamentos de segurança padrão serão assumidos:

  • Para a sequência de protocolo ncalrpc (RPC local), o RPC usará a segurança em nível de transporte. Isso significa que o RPC usará os mecanismos de segurança oferecidos pelo kernel do Windows para fornecer segurança, e o RPC não autenticará o servidor, pois ele se conecta usando a identidade de thread atual. Nesse caso, o rastreamento de identidade é estático, o tipo de representação é definido como "Representação" e o nível de autenticação é definido como "Privacidade".
  • Para a sequência de protocolo ncacn_np, o RPC também usará a segurança em nível de transporte. Se a chamada for remota, o RPC usará os mecanismos de segurança fornecidos pelo redirecionador do sistema de arquivos do Windows e não haverá autenticação mútua. Nesse caso, a identidade é a identidade do thread atual, o estado de rastreamento de identidade é estático, o tipo de representação é definido como "Representação" e o nível de autenticação é determinado pelas políticas do computador remoto.

    Se a chamada for local, o RPC usará os mecanismos de segurança fornecidos pelo NPFS (Sistema de Arquivos de Pipe Nomeado) e também não haverá autenticação mútua. Nesse caso, a identidade é a identidade do thread atual ou qualquer identidade estabelecida por meio do comando "net use" para o servidor. O estado de acompanhamento de identidade é dinâmico, o tipo de representação é definido como "Representação" e o nível de autenticação é definido como "Privacidade".

  • Para as sequências de protocolo ncacn_ip_tcp, ncacn_ip_udp e ncacn_http, nenhuma segurança é usada quando Security é definido como NULL. O servidor não executará a representação e todos os dados serão enviados como texto claro. Para fornecer proteção máxima para dados, o aplicativo deve sempre fornecer dados de segurança.

A tabela a seguir resume as configurações de segurança padrão para as diferentes sequências de protocolo se o parâmetro Security de RpcBindingCreate estiver definido como NULL.

Configurações de segurança padrão ncalrpc ncacn_np local ncacn_np remoto ncacn_ip_tcp, ncacn_ip_udp e ncacn_http
Mecanismo de Segurança Windows Kernel NPFS Redirecionador do sistema de arquivos Nenhum
Nível de autenticação Privacidade Privacidade Dependente da política de servidor Nenhum
Autenticação Mútua? No No No No
Tipo de representação Impersonate Impersonate Impersonate N/D
Tipo de rastreamento de identidade Estático Dinâmico Estático N/D
Somente efetivo? Yes No N/D N/D
Identidade de Chamada Thread atual Thread atual Configurações atuais de thread ou "uso de rede" N/D
 
Nota Se você criar seu identificador de associação chamando a API RpcBindingFromStringBinding , o rastreamento de identidade padrão para ncalrpc na ausência de configurações de segurança específicas será dinâmico.

Se você criar um identificador de associação rápida chamando a API RpcBindingCreate , o rastreamento de identidade padrão para ncalrpc na ausência de configurações de segurança específicas será estático.

Você deve estar ciente das diferenças nessas duas APIs se estiver alternando entre elas em seu aplicativo.

Depois que o identificador de associação é criado, as APIs RpcBindingSetAuthInfo e RpcBindingSetAuthInfoEx podem ser usadas para alterar as configurações do conjunto de identificadores de associação com essa estrutura.

 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho rpcdce.h (inclua Rpc.h)

Confira também

RPC_BINDING_HANDLE

RpcBindingBind

RpcBindingCreate