Autenticación de cliente de aplicaciones

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.

Habilitación de la seguridad cliente/servidor

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.

Habilitación de la autenticación de credenciales

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.

Tabla 1. Autenticación de credenciales bajo los valores de cliente y servidor
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

Configuración de una autenticador

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.

Puede configurar el autenticador en el archivo XML de descriptor de seguridad, tal como se indica en el siguiente ejemplo:
<?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.

Configuración de un generador de credenciales del sistema

El generador de credenciales del sistema se utiliza para representar una fábrica de la credencial del sistema.Una credencial del sistema es similar a una credencial del administrador. Puede configurar el elemento SystemCredentialGenerator en el archivo XML de seguridad de catálogo, como se muestra en el ejemplo anterior:
<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.