Conexões Confiáveis com o DB2

As conexões confiáveis permitem que o servidor de aplicativos use objetos de Contextos Confiáveis do DB2 para estabelecer conexões com um usuário cujas credenciais são confiáveis pelo servidor DB2 para abrir a conexão. Ao estabelecer um Contexto Confiável, esse usuário é, então, confiável para declarar outras identidades de usuário no servidor DB2 sem a necessidade de reautenticação. Isso também melhora a segurança do banco de dados DB2 ao eliminar a necessidade de designar todos os privilégios para um único usuário. A implementação de conexões confiáveis resulta na propagação da identidade do cliente enquanto utiliza o conjunto de conexões para eliminar a perda de desempenho ao fechar e reabrir as conexões com uma identidade diferente.

Restrição: Para usar a funcionalidade de conexão confiável, você deverá usar o DB2 Database para Linux, UNIX e Windows Versão 9.5 ou posterior ou usar o DB2 Database Versão 9.1 ou posterior para z/OS. Conexões confiáveis poderão ser usadas se a versão 7.0 estiver instalada em um sistema iSeries enquanto uma versão suportada do DB2 estiver instalada em uma plataforma diferente de um sistema iSeries e se o driver universal DB2 estiver sendo usado. Consulte a lista de software suportado para o servidor de aplicativos para obter mais informações de suporte.

Para reduzir a despesa significativa de se estabelecer novas conexões, o gerenciador de conexão mantém um conjunto de conexões em que cada conexão é acompanhada pela credencial utilizada originalmente para abrir a conexão. Quando um aplicativo precisa de uma conexão, o gerenciador de conexão utiliza o objeto de credencial para corresponder uma conexão livre no conjunto de conexões. Se não houver nenhuma conexão livre e o número máximo de conexões não tiver sido alcançado, o gerenciador do conjunto de conexões abrirá uma nova conexão utilizando esse objeto de credencial. Esse é o mapeamento de conexões padrão utilizado pelo servidor de aplicativos e é conhecido como mapeamento de credenciais de vários para um porque a conexão é aberta utilizando-se o objeto de credencial no assunto, que, geralmente, não é o mesmo da identidade RunAs. Esse mapeamento simples suporta tranquilamente o conjunto de conexões, mas a identidade do responsável pela chamada nunca é propagada ao banco de dados.

Para propagar a identidade do responsável pela chamada ao servidor de banco de dados, é possível conectar um módulo de login Java™ Authentication and Authorization Service (JAAS). O uso desse método permite mapear a credencial de usuário do servidor de aplicativos para a credencial de usuário adequada para a região de segurança do servidor de banco de dados. Essa abordagem mantém a identidade do responsável pela chamada, mas não utiliza o conjunto de conexões.

As conexões confiáveis são utilizadas no lugar do mapeamento padrão ou de um mapeamento do JAAS para conectar-se à origem de dados. Elas suportam a propagação da identidade do cliente, podendo também utilizar o conjunto de conexões para reduzir a perda de desempenho ao fechar e reabrir as conexões com uma identidade diferente. Conexões confiáveis usam o objeto de contexto confiável do DB2.

O contexto confiável do DB2 é um objeto definido pelo administrador de banco de dados e que contém um ID de autorização do sistema e um conjunto de atributos confiáveis. Os atributos confiáveis identificam as características necessárias para que uma conexão seja considerada confiável. O relacionamento entre uma conexão com o banco de dados e um contexto confiável é estabelecido quando a conexão com o servidor DB2 é criada. Após um contexto confiável ser definido e de estabelecer uma conexão confiável inicial com o servidor de banco de dados DB2, o servidor de aplicativos pode usar essa conexão com o banco de dados a partir de um usuário diferente sem reautenticação completa. Isso porque é necessário um token de autenticação com a identidade do usuário. O banco de dados autentica o usuário final e, em seguida, verifica a autorização do usuário para acessar o banco de dados antes de permitir que algum pedido do banco de dados seja processado em nome desse usuário.
[z/OS]Restrição: Para um servidor z/OS, a identidade do usuário deve ser o ID do Resource Access Control Facility (RACF).

O uso da conexão confiável fornece os pontos de plug-in necessários para suportar a inclusão de sua própria implementação segura do contexto confiável do DB2. As conexões confiáveis separam a identidade utilizada para estabelecer a conexão da identidade que acessa os serviços do servidor de backend. A conexão é estabelecida por um usuário cujas credenciais são confiáveis para o servidor DB2 abrir a conexão. O mesmo usuário também é confiável para aceitar a identidade de outros usuários. Essa asserção também ajuda a fortalecer a segurança do banco de dados eliminando a necessidade de conceder todos os privilégios a um único usuário.

Quando o aplicativo solicita uma conexão com o banco de dados, o gerenciador de conexão pode localizar qualquer conexão confiável inativa e aceitar a identidade do usuário para o servidor de backend. Todas as operações executadas no servidor de backend provêm da identidade do usuário aceita. O uso de um mapeamento de identidades ainda poderá ser necessário se o servidor de backend utilizar um repositório de usuário diferente daquele do servidor de aplicativos.

Uma nova configuração de mapeamento chamada TrustedConnectionMapping implementa as conexões confiáveis. A configuração de TrustedConnectionMapping mapeia o assunto RunAs para um assunto de recurso que contém os seguintes elementos:
  • Um objeto do proprietário do recurso representado por esse assunto de recurso
  • Um objeto PasswordCredential no conjunto de credenciais privadas
  • Um objeto IdentityPrincipal no conjunto de proprietários
O objeto de proprietário representa a identidade RunAs. O objeto PasswordCredential contém um ID de usuário e uma senha que serão utilizados pelo adaptador de recursos para estabelecer a conexão confiável. O objeto IdentityPrincipal contém, por padrão, a identidade RunAs, mas pode ser alterado para utilizar a identidade do responsável pela chamada. O objeto IdentityPrincipal também contém uma identidade de usuário original que representa o usuário que enviou o pedido inicialmente, um nome de região opcional que indica o conjunto de registros em que a identidade do usuário está definida e um token de segurança opcional, que é um contexto de segurança serializado do usuário.

Í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_trustedconnections
Nome do arquivo: csec_trustedconnections.html