Gestión de usuarios desde LDAP externo

Aprenda a gestionar usuarios desde LDAP externo para Netezza Performance Server.

Antes de empezar

Para trabajar con LDAP utilizando sssd, debe tener asignados enteros únicos gidNumber y uidNumebr a sus usuarios en el servidor LDAP. Para más información, consulte ¿Es posible utilizar SSSD sólo para la autenticación y no para la búsqueda de identificadores?

Procedimiento

  1. Inicie sesión en Cloud Pak for Data System.
  2. Inicie sesión en Netezza Performance Server.
    oc login exec -it <nps host pod> -n <namespace> -- bash
  3. Cambia de usuario a nz :
    su - nz
  4. Verifique la autenticación:
    nzsql -c "show authentication all"
    Ejemplo:
    [nz@node0201 ~]$ nzsql -c "show authentication all"
    AUTH_OPTION            | AUTH_VALUE
    -----------------------+------------
    AUTHENTICATION METHOD  | LOCAL
    (1 row)
  5. Dependiendo del servidor LDAP que utilice, siga una de las rutas.
    • Abrir LDAP
      1. Si los usuarios LDAP no están en la base de datos, añádalos.
        create user <user> password <password>

        Defina la contraseña de acuerdo con la política de contraseñas.

        Ejemplo:
        nzsql -c “create user test_ldap password 'password';“
      2. Establezca el tipo de autenticación en LDAP con SSL desactivado.
        SET AUTHENTICATION LDAP
        Ejemplo:
        nzsql -c " SET AUTHENTICATION LDAP BASE 'dc=somedomain,dc=com' NAMECASE lowercase SERVER
        '<ldap_server>' SSL 'off' BINDDN 'cn=admin,dc=somedomain,dc=com' BINDPW adminpass;"
        CN
        Nombre común.
        DC
        Componente de dominio.
        BINDDN
        Nombre Distinguido.
        BINDPW
        Contraseña asociada al Nombre Distinguido.
        Nota: Omita BINDDN 'cn=admin,dc=somedomain,dc=com' si la contraseña de enlace no está configurada en el servidor LDAP. En este caso, el ejemplo de comando es:
        nzsql -c " SET AUTHENTICATION LDAP BASE 'dc=somedomain,dc=com' NAMECASE lowercase SERVER '<ldap_server>' SSL 'off'
      3. Verifique el tipo de autenticación.
        nzsql -c "show authentication all;"
        Ejemplos:
        • [nz@node0201 ~]$ nzsql -c "show authentication all;"
                AUTH_OPTION       |          AUTH_VALUE
          ------------------------+-------------------------------
           AUTHENTICATION METHOD  | LDAP
           AUTHMTHD LDAP BASE     | dc=somedomain,dc=com
           AUTHMTHD LDAP BINDDN   | cn=admin,dc=somedomain,dc=com
           AUTHMTHD LDAP NAMECASE | LOWERCASE
           AUTHMTHD LDAP SERVER   | <LDAP server IP>
           AUTHMTHD LDAP SSL      | off
          (6 rows)
          
        • Si no se utiliza BINDPW en el comando SET AUTHETNICATION :
          [nz@node0201 ~]$ nzsql -c "show authentication all;"
                AUTH_OPTION       |          AUTH_VALUE
          ------------------------+-------------------------------
           AUTHENTICATION METHOD  | LDAP
           AUTHMTHD LDAP BASE     | dc=somedomain,dc=com
           AUTHMTHD LDAP NAMECASE | LOWERCASE
           AUTHMTHD LDAP SERVER   | <LDAP server IP>
           AUTHMTHD LDAP SSL      | off
          (5 rows)
          
        that /etc/ldap.conf está obsoleto en Netezza Performance Server. Debe utilizar /etc/sssd/sssd.conf para establecer la configuración LDAP.
        ===========================/etc/sssd/sssd.conf==================================
        
        [domain/external_ldap]
        
        ###The below common parameters and values should not be changed
        
        ldap_default_authtok_type = obfuscated_password
        ldap_schema = rfc2307
        #ldap_group_name =
        #ldap_user_name =
        ignore_group_members = False
        auth_provider = ldap
        ldap_rfc2307_fallback_to_local_users = True
        ldap_referrals = False
        override_homedir = /home/%u
        ldap_network_timeout = 3
        ldap_opt_timeout = 60
        cache_credentials = True
        entry_cache_group_timeout = 0
        entry_cache_user_timeout = 0
        ldap_search_timeout = 30
        id_provider = ldap
        entry_cache_timeout = 600
        case_sensitive = False
        ldap_id_mapping = False
        #ldap_group_attribute =
        #debug_level = 10
        
        ###Supplied from Input
        ldap_uri = ldap://<LDAP Server>:389
        ldap_user_search_base = dc=somedomain,dc=com
        ldap_default_bind_dn = cn=admin,dc=somedomain,dc=com
        ldap_tls_reqcert = never
        #ldap_id_use_start_tls =
        #ldap_tls_cacert =
        
        ldap_default_authtok = AAAQAGjPMpPlaKyKfPLvmpE1FSolHcAHS/0KoEaJ7k8yPZaphWL2hLYyjKBXO4C9aAgAIGKgBWONT+5nOITCVv6tTlwAAQID
        
        [sssd]
        services = nss, ifp, sudo, ssh, pam
        domains = external_ldap
        
        [nss]
        memcache_timeout = 600
        homedir_substring = /home
        
        [pam]
        #debug_level = 10
        
        [sudo]
        [autofs]
        [ssh]
        [pac]
        [ifp]
        [secrets]
        [session_recording]
    • Active Directory Windows
      1. Si los usuarios AD no están en la base de datos, añádalos.
        create user <user> password <password>
        Defina la contraseña de acuerdo con la política de contraseñas.
        Ejemplo:
        nzsql -c "create user ad_user1 password 'password';"
      2. Establezca el tipo de autenticación en LDAP con SSL desactivado.
        SET AUTHENTICATION LDAP
        Ejemplo:
        nzsql -c " SET AUTHENTICATION LDAP BASE 'dc=nzdevelopment,dc=com' NAMECASE lowercase SERVER '<ad-server>' SSL 'off' BINDPW Netezza26 BINDDN 'cn=ad_user1,cn=Users,dc=nzdevelopment,dc=com' ATTRNAME 'sAMAccountName'; "
        Nota: Para la autenticación de Windows AD, el valor ATTRNAME debe establecerse en sAMAccountName.
      3. El archivo /etc/sssd/sssd.conf tiene el siguiente aspecto.
        ===========================/etc/sssd/sssd.conf==================================
        [domain/external_ldap]
        
        ###The below common parameters and values should not be changed
        
        ldap_default_authtok_type = obfuscated_password
        ldap_schema = AD
        ldap_group_name = CN
        ldap_user_name = sAMAccountName
        ignore_group_members = True
        auth_provider = ldap
        ldap_rfc2307_fallback_to_local_users = True
        ldap_referrals = False
        override_homedir = /home/%u
        ldap_network_timeout = 3
        ldap_opt_timeout = 60
        cache_credentials = True
        entry_cache_group_timeout = 0
        entry_cache_user_timeout = 0
        ldap_search_timeout = 30
        id_provider = ldap
        entry_cache_timeout = 600
        case_sensitive = False
        ldap_id_mapping = True
        #ldap_group_attribute =
        #debug_level = 10
        
        ###Supplied from Input
        
        ldap_uri = ldap://<AD-SERVER>:389
        ldap_user_search_base = dc=nzdevelopment,dc=com
        ldap_default_bind_dn = cn=ad_user1,cn=Users,dc=nzdevelopment,dc=com
        ldap_tls_reqcert = never
        #ldap_id_use_start_tls =
        #ldap_tls_cacert =
        
        ldap_default_authtok = AAAQACiPQqSPP0Y00vYePwimehITknlkR3s+FmeIPuKsDvzZX/eULs8pA5exDJNoqtczO6pvDA7Px3+NgFuG1GmWvuMAAQID
        
        [sssd]
        services = nss, ifp, sudo, ssh, pam
        domains = external_ldap
        
        [nss]
        memcache_timeout = 600
        homedir_substring = /home
        
        [pam]
        #debug_level = 10
        
        [sudo]
        [autofs]
        [ssh]
        [pac]
        [ifp]
        [secrets]
  6. Verifique la configuración de autenticación de usuarios LDAP/AD.
    1. Inicie sesión como usuario en nz.
      su – nz
    2. Ejecute el mandato.
      nzsql -u <LDAP/AD user> -pw <LDAP/AD user password>
      Nota: LDAP/AD user password es la contraseña definida en el servidor LDAP para el usuario LDAP.
      Ejemplo:
      [nz@node0201 ~]$ nzsql -db system -u test_ldap -pw netezzaips
      Welcome to nzsql, the IBM Netezza SQL interactive terminal.
      
      Type:  \h for help with SQL commands
             \? for help on internal slash commands
             \g or terminate with semicolon to execute query
             \q to quit
      
      SYSTEM.ADMIN(TEST_LDAP)=> show authentication all;
            AUTH_OPTION       |          AUTH_VALUE
      ------------------------+-------------------------------
       AUTHENTICATION METHOD  | LDAP
       AUTHMTHD LDAP BASE     | dc=somedomain,dc=com
       AUTHMTHD LDAP BINDDN   | cn=admin,dc=somedomain,dc=com
       AUTHMTHD LDAP NAMECASE | LOWERCASE
       AUTHMTHD LDAP SERVER   | <ldap_server>
       AUTHMTHD LDAP SSL      | off
      (6 rows) (6 rows)
      
      [nz@node0201 ~]$