A autenticação de cliente do aplicativo consiste em ativar a autenticação de credencial e de segurança cliente/servidor e de configurar um autenticador e um gerador de credencial de sistema.
A segurança deve ser ativada no cliente e no servidor para poder autenticar-se com êxito com o ObjectGrid.
Ativar a Segurança do Cliente
O WebSphere eXtreme Scale fornece um arquivo de amostra de propriedade do cliente, o arquivo sampleClient.properties, no diretório de instalação was_root/optionalLibraries/ObjectGrid/properties do WebSphere Application Server ou no diretório /ObjectGrid/properties em uma instalação do servidor combinada. É possível modificar este arquivo de gabarito com valores apropriados. Configure a propriedade securityEnabled no arquivo objectgridClient.properties para true. A propriedade securityEnabled indica se a segurança está ativada. Quando um cliente se conecta a um servidor, os valores no lado do cliente e do servidor devem ser ambos true ou ambos false. Por exemplo, se a segurança do servidor conectado estiver ativada, o valor da propriedade deverá ser configurado como true na lado do cliente para que o cliente se conecte ao servidor.
A interface com.ibm.websphere.objectgrid.security.config.ClientSecurityConfiguration representa o arquivo security.ogclient.props. É possível usar a API pública com.ibm.websphere.objectgrid.security.config.ClientSecurityConfigurationFactory para criar uma instância desta interface com valores padrão ou criar uma instância passando o perfil de propriedade de segurança do cliente do ObjectGrid. O arquivo security.ogclient.props contém outras propriedades. Consulte a Documentação da API ClientSecurityConfiguration e a Documentação da API ClientSecurityConfigurationFactory para obter mais detalhes.
Ativação da Segurança do Servidor
Para ativar a segurança no lado do servidor, é possível configurar a propriedade securityEnabled no arquivo security.xml para true. Use um arquivo XML do descritor de segurança para especificar a configuração de segurança da grade de dados para isolar a configuração de segurança de toda a grade da configuração sem segurança.
Após o cliente do eXtreme Scale recuperar o objeto Credential usando o objeto CredentialGenerator, o objeto Credential é enviado juntamente com o pedido do cliente para o servidor eXtreme Scale. O servidor autentica o objeto Credential antes de processar o pedido. Se o objeto Credential for autenticado com êxito, um objeto Subject será retornado para representar este objeto Credential. Este objeto Subject é, então, usado para autorizar o pedido.
Configure a propriedade credentialAuthentication nos arquivos de propriedades do cliente e do servidor para ativar a autenticação de credencial. Para obter mais informações, consulte Arquivo de Propriedades do Cliente e Arquivo de Propriedades do Servidor.
As tabelas a seguir exibem qual mecanismo de autenticação será utilizado em diferentes configurações.
Autenticação de Credencial do Cliente | Autenticação de Credencial do Servidor | Resultado |
---|---|---|
Não | Nunca | Desativada |
Não | Suportado | Desativada |
Não | Requerido | Error case |
Suportado | Nunca | Desativada |
Suportado | Suportado | Ativado |
Suportado | Requerido | Ativado |
Requerido | Nunca | Error case |
Requerido | Suportado | Ativado |
Requerido | Requerido | Ativado |
O servidor eXtreme Scale usa o plug-in do Autenticador para autenticar o objeto Credential. Uma implementação da interface do Autenticador obtém o objeto Credential e, em seguida, autentica-o para um registro do usuário, por exemplo, um servidor Lightweight Directory Access Protocol (LDAP) e assim por diante. O eXtreme Scale não fornece uma configuração de registro. A conexão com um registro do usuário e a autenticação nele devem ser implementadas neste plug-in.
Por exemplo, uma implementação do Autenticador extrai o ID do usuário e a senha da credencial, usa-os para conectar e validar um servidor LDAP e cria um objeto Subject como resultado da autenticação. A implementação pode utilizar os módulos de login do Java Authentication and Authorization Service (JAAS). Um objeto Subject é retornado como resultado da autenticação.
<?xml version="1.0" encoding="UTF-8"?>
<securityConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/config/security ../objectGridSecurity.xsd"
xmlns="http://ibm.com/ws/objectgrid/config/security">
<security securityEnabled="true" loginSessionExpirationTime="300" >
<authenticator className ="com.ibm.websphere.objectgrid.
security.plugins.builtins.KeyStoreLoginAuthenticator">
</authenticator>
</security>
</securityConfig>
Use a opção -clusterSecurityFile ao iniciar um servidor seguro para configurar o arquivo XML de segurança. Consulte o Tutorial de Segurança do Java SE - Etapa 2 para obter amostras sobre como iniciar um servidor seguro.
<systemCredentialGenerator className ="com.ibm.websphere.objectgrid.security.plugins.
builtins.UserPasswordCredentialGenerator">
<property name="properties" type="java.lang.String" value="manager manager1"
description="username password" />
</systemCredentialGenerator>
Para demonstração, o nome de usuário e senha são armazenados em texto limpo. Não armazene o nome de usuário e senha em texto limpo em um ambiente de produção.O WebSphere eXtreme Scale fornece um gerador de credencial de sistema padrão, que usa as credenciais do servidor. Se você não especificar explicitamente o gerador de credencial de sistema, este gerador de credencial de sistema padrão é usado.