API de seguridad

WebSphere eXtreme Scale adopta una arquitectura de seguridad abierta. Proporciona una infraestructura de seguridad básica para la autenticación, autorización y la seguridad de transporte y solicita a los clientes que implementen los plug-ins para completar la infraestructura de seguridad.

La siguiente imagen muestra el flujo básico de la autenticación y autorización de cliente para un servidor eXtreme Scale.

Figura 1. Flujo de autenticación y autorización de cliente
1. El cliente solicita una credencial del generador de credenciales 2. La credencial generada se envía al tiempo de ejecución del servidor. 3. Enviar credencial al autenticador 4. La credencial se envía al autenticador 5. La credencial se envía a la autoridad del usuario. 6. La autenticación se envía al tiempo de ejecución del servidor 7. El tiempo de ejecución envía el asunto y el permiso a la autorización ObjectGrid. 8. La autorización ObjectGrid se envía el asunto y el permiso al servicio de autorización.

El flujo de autenticación y el flujo de autorización son los siguientes.

Flujo de autenticación

  1. El flujo de autenticación se inicia con un cliente eXtreme Scale que obtiene una credencial. Esto se realiza a través del plug-in com.ibm.websphere.objectgrid.security.plugins.CredentialGenerator.
  2. Un objeto CredentialGenerator sabe como generar una credencial de cliente válida, por ejemplo, un par de ID de usuario y una contraseña, un ticket de Kerberos, etc. Esta credencial generada se vuelve a enviar al cliente.
  3. Después de que el cliente recupere el objeto Credential utilizando el objeto CredentialGenerator, este objeto Credential se envía junto a la solicitud de eXtreme Scale al servidor eXtreme Scale.
  4. El servidor eXtreme Scale autentica el objeto Credential antes de procesar la solicitud eXtreme Scale. A continuación, el servidor utiliza el plug-in Authenticator para autenticar el objeto Credential.
  5. El plug-in Authenticator representa una interfaz para el registro de usuarios, por ejemplo, un servidor LDAP (Lightweight Directory Access Protocol) o un registro de usuarios del sistema operativo. El Authenticator consulta el registro de usuarios y toma decisiones de autenticación.
  6. Si la autenticación se realiza correctamente, se devuelve un objeto Subject para representar este cliente.

    Flujo de autorización

    WebSphere eXtreme Scale adopta un mecanismo de autorización basado en los permisos y tiene distintas categorías de permiso representadas por diferentes clases de permiso. Por ejemplo, un objeto com.ibm.websphere.objectgrid.security.MapPermission representa los permisos para leer, escribir, insertar, invalidar y eliminar las entradas de datos en un ObjectMap. Puesto que WebSphere eXtreme Scale soporta la autorización JAAS (Java Authentication and Authorization Service) directamente, puede utilizar JAAS para manejar la autorización proporcionando políticas de autorización.

    Además, eXtreme Scale soporta las autorizaciones personalizadas. Las autorizaciones personalizadas se conectan mediante el com.ibm.websphere.objectgrid.security.plugins.ObjectGridAuthorization. El flujo de la autorización del cliente es la siguiente.

  7. El tiempo de ejecución del servidor envía el objeto Subject y el permiso necesario al plug-in de autorización.
  8. El plug-in de autorización consulta al servicio de autorización y toma una decisión sobre autorización. Si se otorga el permiso para este objeto Subject, se devuelve un valor de true, de lo contrario, se devuelve false.
  9. Esta decisión de autorización, true o false, se devuelve al tiempo de ejecución del servidor.

Implementación de seguridad

Los temas de esta sección tratan cómo programar un despliegue seguro de WebSphere eXtreme Scale y cómo programar las implementaciones de plug-in. La sección se organiza basándose en las distintas características de seguridad. En cada subtema, obtendrá información sobre los plug-ins relevantes y cómo implementar los plug-ins. En la sección de autenticación, verá cómo conectarse a un entorno de despliegue seguro de WebSphere eXtreme Scale.

Autenticación de cliente: el tema de autenticación de cliente describe cómo un cliente WebSphere eXtreme Scale obtiene una credencial y cómo un servidor autentica el cliente. También tratará cómo un cliente de WebSphere eXtreme Scale se conecta a un servidor WebSphere eXtreme Scale seguro.

Autorización: el tema de autorización explica cómo utilizar ObjectGridAuthorization para realizar la autorización de cliente, además de la autorización JAAS.

Autenticación de cuadrícula: el tema de la autenticación de la cuadrícula de datos trata cómo puede utilizar SecureTokenManager para transportar de forma segura secretos de servidor.

Programación de Java Management Extensions (JMX): cuando el servidor WebSphere eXtreme Scale está protegido, el cliente JMX podría necesitar enviar una credencial JMX al servidor.