Habilitación del servicio OpenLDAP

En este documento se ofrece una breve descripción general del Protocolo ligero abierto de acceso a directorios (OpenLDAP) y de la integración de OpenLDAP con el clúster IBM Storage Scale.

Acerca de OpenLDAP con IBM Storage Scale

OpenLDAP es una implementación de código abierto de LDAP (Lightweight Directory Access Protocol) que proporciona autenticación centralizada y servicios de directorio.

La integración de OpenLDAP con su IBM Storage Scale clúster permite la gestión centralizada de usuarios, la mejora de la seguridad y la simplificación de la autenticación de usuarios. La integración también le permite utilizar las credenciales de autenticación existentes, lo que reduce la necesidad de recordar varias credenciales de inicio de sesión. En general, la arquitectura proporciona una solución sólida y eficiente para la autenticación de usuarios y la gestión de directorios en entornos de informática distribuida.

El servidor OpenLDAP se puede instalar y configurar en un sistema Linux® ; por ejemplo, un Ubuntu 22.04 como host está soportado.

Integración de un servidor OpenLDAP existente con el clúster de IBM Storage Scale

Puede habilitar OpenLDAP con su IBM Storage Scale cluster durante el despliegue configurando los valores de entrada de despliegue enable_ldap,ldap_basedns, ldap_server, ldap_admin_password, ldap_user_name y ldap_user_password. Si no dispone de un servidor LDAP, el proceso de despliegue crea uno y lo conecta al clúster IBM Storage Scale. Si dispone de un servidor LDAP existente, puede proporcionar información LDAP durante la implantación del clúster IBM Storage Scale.

Si dispone de un servidor OpenLDAP existente, puede utilizarlo con su clúster IBM Storage Scale. Antes de desplegar el clúster IBM Storage Scale con los valores de entrada LDAP, complete los siguientes requisitos LDAP:

  1. OpenLDAP versión 2.4 o posterior está instalado y configurado.
  2. El servidor OpenLDAP puede comunicarse con los nodos del clúster IBM Storage Scale a través de la red. Configure los ajustes de red tanto en el servidor OpenLDAP como en los nodos de clúster IBM Storage Scale.
  3. El servidor OpenLDAP y los nodos de clúster IBM Storage Scale pueden comunicarse a través del puerto 389.

Además, permita siempre el acceso a los rangos CIDR para la VPC que crea el despliegue de clúster IBM Storage Scale. Asegúrese de que los grupos de seguridad para el servidor LDAP existente estén incluidos en la lista de elementos permitidos con el rango CIDR de VPC de la VPC recién creada. De este modo, la nueva VPC puede conectarse al servidor OpenLDAP existente y que todos los nodos de gestión e inicio de sesión puedan acceder al servidor LDAP.

Si los grupos de seguridad del servidor LDAP se actualizan con los rangos CIDR de la VPC, aparecerá un mensaje similar a:

null_resource.validate_ldap_server_connection[0] (remote-exec): The connection to the existing LDAP server 10.241.0.5 was successfully established.

Sin embargo, si no se establece la conexión con el servidor LDAP existente, aparecerá un mensaje similar a:

╷
│ Error: remote-exec provisioner error
│
│   with null_resource.validate_ldap_server_connection[0],
│   on main.tf line 355, in resource "null_resource" "validate_ldap_server_connection":
│  355:   provisioner "remote-exec" {
│
│ error executing "/tmp/terraform_888134906.sh": Process exited with status 1

Comprobación del estado de OpenLDAP

Tras el despliegue del clúster IBM Storage Scale, los registros de Schematic muestran información esencial en la sección de salida. Desde aquí, puede comprobar el estado del servidor LDAP:

  1. Conéctese al servidor OpenLDAP a través de SSH utilizando el mandato ssh_to_ldap_node desde la salida del registro Schematics.

    Por ejemplo:

    ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ServerAliveInterval=5 -o ServerAliveCountMax=1 -J vpcuser@<floatingg_IP_address> ubuntu@<LDAP_server_IP>
    

    donde <floating_IP_address> es la dirección IP flotante para el nodo bastión y <LDAP_server_IP> es la dirección IP para el nodo OpenLDAP.

  2. Verifique el estado del servicio LDAP:

    systemctl status slapd
    
  3. Verifique los grupos LDAP y los usuarios creados:

    ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///
    

Creación de un usuario LDAP

Si no dispone de un servidor LDAP existente, el proceso de despliegue creará uno por usted y lo conectará al clúster IBM Storage Scale durante el despliegue. Cree un usuario LDAP para su clúster IBM Storage Scale. Utilícelo para ejecutar mandatos de Storage Scale y enviar los trabajos con credenciales de autenticación existentes, lo que reduce la necesidad de recordar varias credenciales de inicio de sesión.

Si dispone de un servidor LDAP existente con la información LDAP que se proporciona durante la implantación del clúster IBM Storage Scale, no es necesario crear un nuevo usuario LDAP.

Antes de empezar

Asegúrese de que dispone de la siguiente información LDAP:

  • BASE_DN: el nombre de dominio base para el servidor LDAP (por ejemplo, ldap.com).
  • LDAP_ADMIN_PASSWORD: Contraseña del administrador de LDAP.
  • OU_NAME: La unidad organizativa donde se encuentran los usuarios (por ejemplo, Personas).
  • EXISTING_LDAP_USER: el nombre de usuario de un usuario LDAP existente que se va a verificar.
  • LDAP_USER: el nombre de usuario para el nuevo usuario LDAP.
  • NEW_LDAP_USER_PASSWORD: La contraseña para el nuevo usuario LDAP.

Puede exportar esta información LDAP desde el servidor LDAP; por ejemplo:

export BASE_DN="ldap.com"
export OU_NAME="People"
export LDAP_ADMIN_PASSWORD="Admin@123"
export LDAP_USER="testuser01"
export UNIQUE_USER_ID="10089"
export NEW_LDAP_USER_PASSWORD="Test@1234"

Creación del usuario

  1. Conéctese al servidor OpenLDAP a través de SSH utilizando el mandato ssh_to_ldap_node desde la salida del registro Schematics.

    Por ejemplo:

    ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ServerAliveInterval=5 -o ServerAliveCountMax=1 -J vpcuser@<floating_IP_address> ubuntu@<LDAP_server_IP>
    

    donde <floating_IP_address> es la dirección IP flotante para el nodo bastión y <LDAP_server_IP> es la dirección IP para el nodo OpenLDAP.

  2. Compruebe si el usuario LDAP es uno existente:

    ldapsearch -x -D "cn=admin,dc=${BASE_DN%%.*},dc=${BASE_DN#*.}" -w "${LDAP_ADMIN_PASSWORD}" -b "dc=${BASE_DN%%.*},dc=${BASE_DN#*.}" "(uid=${EXISTING_LDAP_USER})"
    
  3. Genere una contraseña oculta para el usuario:

    slappasswd -s "${NEW_LDAP_USER_PASSWORD}"
    

    Copie este hash generado para el paso siguiente.

  4. Cree un archivo de configuración de usuario denominado ${LDAP_USER}.ldif, con los atributos necesarios para el nuevo usuario LDAP. Sustituya <Unique User ID> por un ID de usuario exclusivo y <Hash password for the new user> por el hash obtenido del paso anterior.

    Archivo ${LDAP_USER}.ldif de ejemplo:

    echo "dn: uid=${LDAP_USER},ou=${OU_NAME},dc=${BASE_DN%%.*},dc=${BASE_DN#*.}
    objectClass: inetOrgPerson
    objectClass: posixAccount
    objectClass: shadowAccount
    uid: ${LDAP_USER}
    sn: ${LDAP_USER}
    givenName: ${LDAP_USER}
    cn: ${LDAP_USER}
    displayName: ${LDAP_USER}
    uidNumber: <Unique User ID>
    gidNumber: 5000
    userPassword: <Hash password for the new user>
    gecos: ${LDAP_USER}
    loginShell: /bin/bash
    homeDirectory: /home/${LDAP_USER}" > ${LDAP_USER}.ldif
    
  5. Crea el usuario LDAP, utilizando los detalles del archivo ${LDAP_USER}.ldif:

    ldapadd -x -D "cn=admin,dc=${BASE_DN%%.*},dc=${BASE_DN#*.}" -w "${LDAP_ADMIN_PASSWORD}" -f "${LDAP_USER}.ldif"
    

Para dar cabida a muchos usuarios LDAP (donde cada usuario tiene una dirección IP individual), actualice sistemáticamente el grupo de seguridad para el clúster IBM Storage Scale. Además, en lugar de añadir manualmente la dirección IP de cada usuario, un enfoque más escalable implica permitir rangos CIDR para los respectivos usuarios. De esta forma, a medida que se crean nuevos usuarios de LDAP, se autoriza todo su rango de IP, lo que simplifica la gestión de las configuraciones de seguridad. Considere la posibilidad de implementar la automatización para agilizar el proceso y asegurarse de que el grupo de seguridad permanece actualizado con la naturaleza dinámica de las IP de usuario LDAP. Las revisiones regulares y el mantenimiento de la documentación son esenciales para adaptarse a los cambios en el acceso de los usuarios y mantener los protocolos de seguridad de forma efectiva.

Configuración de CES con valores de despliegue de LDAP

La característica CES ofrece dos opciones de autenticación, el método predeterminado definido por el usuario y el uso de servicios de directorio como AD, LDAP o NIS.

Los servicios de directorio habilitan el acceso a los archivos a través del protocolo NFS.

LDAP es un componente opcional para CES, que permite a los usuarios utilizar un servidor LDAP existente o configurar un nuevo nodo LDAP específicamente para el clúster CES.

Al configurar el valor de despliegue de ldap_basedns en el nombre de dominio necesario durante el despliegue, la característica LDAP se integra junto con el CES de Scale.

Antes de empezar

Antes de empezar, revisa la siguiente tarea:

Asegúrese de completar los pasos para Iniciación a IBM Storage Scale.

CES variables
Variable CES Descripción Valor de ejemplo
ldap_basedns DNS base del servidor LDAP. Si se proporciona none, la característica LDAP no está habilitada. ldapscale.com
ldap_server IP de un servidor LDAP existente. Si se especifica none, se crea un nuevo servidor ldap.
ldap_admin_password Contraseña que se utiliza para realizar operaciones administrativas para LDAP. La contraseña debe contener como mínimo 8 caracteres y como máximo 20 caracteres. Para una contraseña segura, se necesitan al menos tres caracteres alfabéticos, con al menos una letra mayúscula y una letra minúscula. Dos números, y al menos un carácter especial de este conjunto (~@_+:). Asegúrese de que la contraseña no incluya el nombre de usuario. xxxxxx
ldap_user_name Usuario LDAP personalizado para realizar operaciones de clúster. Nota: El nombre de usuario debe tener al menos 4 caracteres (cualquier combinación de letras minúsculas y mayúsculas). scaleuser
ldap_user_password Contraseña de usuario LDAP que se utiliza para realizar operaciones en el clúster. La contraseña debe contener como mínimo 8 caracteres y como máximo 20 caracteres. Para una contraseña segura, se necesitan al menos tres caracteres alfabéticos, con al menos una letra mayúscula y una letra minúscula. Dos números, y al menos un carácter especial de este conjunto (~@_+:). Asegúrese de que la contraseña no incluya el nombre de usuario. xxxxxx
enable_ldap Establezca esta opción en true para habilitar LDAP para IBM Cloud HPC, con el valor predeterminado establecido en false. true

Verificación de la autenticación

Utilice el mandato mmuserauth para ver los detalles sobre el tipo de autenticación utilizado para CES:

mmuserauth service check

El mandato que se menciona indica que el proceso de autenticación se está llevando a cabo a través de LDAP.

Para obtener más información sobre la autenticación CES, pulse Autenticación de usuario CES.