La autenticación del cliente de aplicaciones consiste en la habilitación de la seguridad de cliente-servidor y la autenticación de credenciales, y en la configuración de un autenticador y un generador de credenciales de sistema.
Debe habilitar la seguridad tanto en el cliente, como en el servidor, para autenticarse correctamente con ObjectGrid.
Habilitar seguridad de cliente
WebSphere eXtreme Scale proporciona un archivo de ejemplo de propiedades de cliente, el archivo sampleClient.properties, en el directorio raíz_was/optionalLibraries/ObjectGrid/properties para una instalación de WebSphere Application Server, o el directorio /ObjectGrid/properties en una instalación de servidores mixtos. Puede modificar este archivo de plantilla con los valores correspondientes. Establezca la propiedad securityEnabled en el archivo objectgridClient.properties en true. La propiedad securityEnabled indica si la seguridad está habilitada. Cuando un cliente se conecta a un servidor, el valor en el cliente y en el servidor se deben establecer ambos en true o ambos en false. Por ejemplo, si el servidor conectado está habilitado, el valor de propiedad se debe establecer en true en el cliente para que el cliente se conecte al servidor.
La interfaz com.ibm.websphere.objectgrid.security.config.ClientSecurityConfiguration representa el archivo security.ogclient.props. Puede usar la API pública com.ibm.websphere.objectgrid.security.config.ClientSecurityConfigurationFactory para crear una instancia de esta interfaz con valores predeterminados, o puede crear una instancia al pasar el archivo de propiedades de seguridad de cliente ObjectGrid. El archivo security.ogclient.props contiene otras propiedades. Consulte la documentación de la API ClientSecurityConfiguration y la documentación de la API ClientSecurityConfigurationFactory si desea más detalles.
Habilitar la seguridad del servidor
Para habilitar la seguridad en el lado del servidor, puede establecer la propiedad securityEnabled del archivo security.xml en true. Utilice un archivo XML de descriptor de seguridad para especificar la configuración de seguridad de la cuadrícula de datos para aislar la configuración de seguridad de nivel de cuadrícula de la configuración sin seguridad.
Después de que el cliente de eXtreme Scale recupere el objeto Credential utilizando el objeto CredentialGenerator, el objeto Credential se envía junto con la petición de cliente al servidor eXtreme Scale. El servidor autentica el objeto Credential antes de procesar la solicitud. Si el objeto Credential se ha autenticado correctamente, se devuelve un objeto Subject para representar este objeto Credential. Este objeto Subject se utiliza para autorizar la petición.
Establezca la propiedad credentialAuthentication en los archivos de propiedades de cliente y de servidor para habilitar la autenticación de credenciales. Si desea más información, consulte Archivo de propiedades de cliente y Archivo de propiedades de servidor.
La siguiente tabla proporciona qué mecanismos de autenticación utilizar bajo distintos valores.
Autenticación de credenciales de cliente | Autenticación de credenciales de servidor | Resultado |
---|---|---|
No | Nunca | Inhabilitado |
No | Soportado | Inhabilitado |
No | Necesario | Caso de error |
Soportado | Nunca | Inhabilitado |
Soportado | Soportado | Habilitado |
Soportado | Necesario | Habilitado |
Necesario | Nunca | Caso de error |
Necesario | Soportado | Habilitado |
Necesario | Necesario | Habilitado |
El servidor eXtreme Scale utiliza el plug-in Authenticator para autenticar el objeto Credential. Una implementación de la interfaz Authenticator obtiene el objeto Credential y, después, lo autentica en un registro de usuarios, por ejemplo, un servidor LDAP (Lightweight Directory Access Protocol), etc. eXtreme Scale no proporciona una configuración de registro. Se debe implementar una conexión a un registro de usuarios y autenticarla en este plug-in.
Por ejemplo, una implementación de Authenticator extrae el ID de usuario y la contraseña de la credencial, los utiliza para conectarse y validar un servidor LDAP y crea un objeto Subject como resultado de la autenticación. La implementación puede utilizar los módulos de inicio de sesión JAAS (Java Authentication and Authorization Service). Como resultado de la autenticación, se devuelve un objeto Subject.
<?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>
Utilice la opción -clusterSecurityFile al iniciar un servidor seguro para establecer el archivo XML de seguridad. Consulte Guía de aprendizaje de seguridad de Java SE - Paso 2 para ver ejemplo sobre cómo iniciar un 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>
Por motivos de
demostración, el nombre de usuario y la contraseña se almacenan en texto
visible. No almacene el nombre de usuario y la contraseña en texto visible en
un entorno de producción.WebSphere eXtreme Scale proporciona un generador de credenciales del sistema predeterminado, que utiliza las credenciales del servidor. Si no especifica explícitamente el generador de credenciales del sistema, se utiliza este generador de credenciales del sistema predeterminado.