Delegações

A delegação é uma propagação de identidade de segurança do processo de um responsável pela chamada para um objeto de chamada. Conforme a especificação Java™ Platform, Enterprise Edition (Java EE), um servlet e os enterprise beans podem propagar a identidade do cliente ou do usuário remoto ao chamar os enterprise beans, ou podem utilizar outra identidade especificada como indicado no descritor de implementação correspondente.

A extensão suporta a propagação do bean corporativo para o ID do servidor ao chamar outros beans de entidade. Três tipos de delegações são possíveis:
  • Delegar (RunAs) a identidade do cliente
  • Delegar (RunAs) a identidade especificada
  • Delegar (RunAs) a identidade do sistema
Delegar (RunAs) a identidade do cliente
Delegar (RunAs) a identidade especificada
Delegar (RunAs) a identidade do sistema
Nota: A delegação da identidade de sistema RunAs funciona apenas quando o ID e a senha do servidor são utilizados. Quando o recurso internalServerId é utilizado, ele não funciona porque runAs com identidade do sistema não é suportado. É necessário especificar funções RunAs. Quando internalServerID for utilizado, utilize RunAsSpecified com um ID de usuário e uma senha que sejam mapeados para a função de administrador. Consulte Funções Administrativas e Autorização de Serviço de Nomenclatura para obter informações adicionais sobre internalServerId.

A especificação EJB suporta apenas delegação (RunAs) no nível EJB (Enterprise JavaBeans). Mas uma extensão permite a especificação RunAs no nível do método EJB. Com um nível de método EJB, a especificação RunAs pode especificar uma função RunAs diferente para métodos diferentes dentro dos mesmos enterprise beans.

A especificação RunAs está detalhada no descritor de implementação, que é o arquivo ejb-jar.xml do módulo EJB e o arquivo web.xml do módulo da Web. A extensão da especificação RunAs é incluída no arquivo ibm-ejb-jar-ext.xml.

Um arquivo de ligação específico da IBM está disponível para cada aplicativo que contém um mapeamento da função RunAs para o usuário. Este arquivo é especificado no arquivo ibm-application-bnd.xml.

Essas especificações são lidas pelo tempo de execução durante a inicialização do aplicativo. A figura a seguir ilustra o mecanismo de delegação, conforme implementado no modelo de segurança do WebSphere Application Server.
A figura a seguir ilustra o mecanismo de delegação, conforme implementado no modelo de segurança do WebSphere Application Server.

Processo de Delegação

Duas tabelas ajudam no processo de delegação:
  • Tabela de mapeamento de recurso para função RunAs
  • Tabela de mapeamento de função RunAs para ID do usuário e senha

Utilize a tabela de mapeamento de Recurso para Função RunAs para obter a função que é utilizada por um servlet ou por beans corporativos para propagar para a próxima chamada a beans corporativos.

Utilize o RunAsRole para a tabela de mapeamento do ID do usuário e senha para obter o ID do usuário que pertence à função RunAs e sua senha.

A delegação é executada após a autenticação e autorização com êxito. Durante esse processo, o módulo de delegação consulta a tabela de mapeamento de Recurso para Função RunAs para obter a função RunAs (3). O módulo de delegação consulta a tabela de mapeamento de função RunAs para ID do usuário e senha para obter o usuário que pertence à função RunAs (4). O ID do usuário e a senha são utilizados para criar uma nova credencial utilizando o módulo de autenticação, que não é mostrado na figura.

[AIX Solaris HP-UX Linux Windows][IBM i]A credencial resultante é armazenada no ORB (Object Request Broker) Current como uma credencial de chamada (5). O servlet e os enterprise beans, quando chamam outros enterprise beans, selecionam a credencial de chamada no ORB Current (6) e chamam os próximos enterprise beans (7).


Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_deleg
Nome do arquivo: csec_deleg.html