Habilitar las conexiones de la plataforma para que utilicen Kerberos la autenticación

Si deseas conectarte a fuentes de datos que utilizan Kerberos autenticación, debes proporcionar el Kerberos archivo de configuración al microservicio de conexiones de la plataforma.

¿Quién debe realizar esta tarea?
Para realizar esta tarea, debes cumplir uno de los siguientes requisitos:
  • Un administrador de clúster
  • Un administrador de instancias
¿Para cuándo tienes que terminar esta tarea?
Debes completar esta tarea antes de crear una conexión con fuentes de datos en Kerberos las que esté habilitada la autenticación.
Puedes utilizar Kerberos la autenticación para las siguientes conexiones:
  • Apache HDFS
  • Apache Hive
  • Apache Kafka
  • Apache Impala
  • Apache Spark SQL

Antes de empezar

Recomendación: puedes ejecutar muchos de los comandos de esta tarea tal y como están escritos si configuras las variables de entorno para tu instalación. Para obtener instrucciones, consulte la sección «Configuración de las variables de entorno de instalación ».

Asegúrate de configurar las variables de entorno antes de ejecutar los comandos de esta tarea.

Acerca de esta tarea

Procedimiento

  1. Proporciona el Kerberos archivo de configuración (krb5.conf) al microservicio de conexiones.
    1. Recupera el krb5.conf archivo del nodo en el que está configurado el Centro de Distribución de Claves (KDC).
      El archivo suele encontrarse en /etc el directorio.
    2. Guarde el krb5.conf archivo en una estación de trabajo que pueda conectarse al clúster.
    3. Asegúrate de que el forwardable parámetro esté configurado en true en la libdefaults sección del archivo krb5.conf :
      forwardable = true
    4. Apache Hive Solo para el usuario. Añade la siguiente configuración a la libdefaults sección del archivo krb5.conf si se cumplen ambas condiciones:
      • IBM Software Hub está instalado en un clúster compatible con FIPS.
      • Tu Apache Hive Kerberos instancia no está configurada para el cifrado AES 256.
      allow_weak_crypto = true
    5. Establece la KRB5_CONF_FILE variable de entorno con el nombre completo del krb5.conf archivo:
      export KRB5_CONF_FILE
    6. Opcional: Los siguientes pasos son opcionales y solo son necesarios si vas a configurar varios Kerberos archivos de configuración. Pasa al paso 1.j si no necesitas configurar varios Kerberos archivos de configuración.
      Para configurar varios Kerberos archivos de configuración, cree el krb5-config-dir ConfigMap en el proyecto de operandos correspondiente a la instancia en IBM Software Hub la que se va a habilitar la Kerberos configuración y en la que desee utilizar varios archivos de configuración para conectarse a diferentes Kerberos reinos.
    7. Opcional: Crea el nuevo ConfigMap krb5-config-dir ejecutando el siguiente comando:
      oc create configmap krb5-config-dir \
      —from-file=${KRB5_CONF_DIR} \
      --namespace=${PROJECT_CPD_INST_OPERANDS}
      Donde KRB5_CONF_DIR hace referencia al directorio que contiene varios Kerberos archivos de configuración en el sistema de archivos local del equipo desde el que se ejecuta el oc comando, y PROJECT_CPD_INST_OPERANDS es el espacio de nombres en el que se han implementado los servicios.
    8. Opcional: Una vez creado krb5-config-dir el ConfigMap , el archivo de configuración base Kerberos debe incluir la includedir directiva apuntando a la ruta absoluta del directorio en el que se monta el contenido del recién creado ConfigMap . El enlace includedir debería apuntar a /etc/krb5-config-files/krb5-config-dir.
    9. Opcional: Actualiza el krb5.conf definido a través del ConfigMap krb5-config-files para añadir la includedir directiva.
      Por ejemplo:
      includedir /etc/krb5-config-files/krb5-config-dir
      [libdefaults]
        allow_weak_crypto = true
        default_realm = FYRE.IBM.COM
        dns_lookup_kdc = false
        dns_lookup_realm = false
        ticket_lifetime = 86400
        renew_lifetime = 604800
        forwardable = true
        default_tgs_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
        default_tkt_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
        permitted_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
        udp_preference_limit = 1
        kdc_timeout = 3000
      [realms]
        FYRE.IBM.COM = {
          kdc = kdc1.fyre.ibm.com
          admin_server = kdc1.fyre.ibm.com
        }
      [domain_realm]
    10. Crea el krb5-config-files ConfigMap en el proyecto de operandos para la instancia de IBM Software Hub en la que desees habilitar las conexiones para que utilicen Kerberos.
      oc create configmap krb5-config-files \
      --from-file=${KRB5_CONF_FILE} \
      --namespace=${PROJECT_CPD_INST_OPERANDS}
  2. Comprueba que el krb5.conf archivo esté montado correctamente.
    1. Comprueba que el contenido del krb5.conf archivo esté montado como un archivo en la ruta predeterminada /etc/krb5-config-files/ dentro del wdp connect-connector pod:
      oc exec \
      -n ${PROJECT_CPD_INST_OPERANDS} `(oc get pods -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath='{range .items[*].metadata}{.name}{"\n"}' | grep -i wdp-connect-connector)` -- ls -l /etc/krb5-config-files/krb5.conf
      El mandato debe devolver la salida con el formato siguiente:
      lrwxrwxrwx. 1 root 1000680000 16 Jul 29 18:21 /etc/krb5-config-files/krb5.conf -> ..data/krb5.conf
    2. /etc/krb5-config-files/krb5.confComprueba que la variable de entorno ` KRB5_CONF_FILE ` esté definida y apunte a la ubicación predeterminada del archivo de configuración:
      oc exec \
      -n ${PROJECT_CPD_INST_OPERANDS} `(oc get pods -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath='{range .items[*].metadata}{.name}{"\n"}' | grep -i wdp-connect-connector)` -- env | grep KRB5_CONF_FILE
    3. Comprueba el contenido del archivo krb5.conf que está montado en el contenedor.
      oc exec \
      -n ${PROJECT_CPD_INST_OPERANDS} `(oc get pods -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath='{range .items[*].metadata}{.name}{"\n"}' | grep -i wdp-connect-connector)` -- cat /etc/krb5-config-files/krb5.conf
      
      El mandato debe devolver la salida con el formato siguiente:
      [libdefaults]
        forwardable = true
        default_realm = IBM.COM
        ticket_lifetime = 24h
        dns_lookup_realm = false
        dns_lookup_kdc = false
      
      [logging]
        default = FILE:/var/log/krb5kdc.log
      admin_server = FILE:/var/log/kadmind.log
        kdc = FILE:/var/log/krb5kdc.log
      
      [realms]
        IBM.COM = {
          admin_server = mykrbadminserver.ibm.com
          kdc = mykdcadminserver.ibm.com
       }
    4. Opcional: Si ha configurado varios Kerberos archivos de configuración, realice la siguiente comprobación. Si no has configurado varios Kerberos archivos de configuración, omite este paso.
      Comprueba el número de archivos de configuración en ConfigMap ejecutando:
      oc get cm krb5-config-dir
      Un ejemplo de resultado:
      # oc get cm krb5-config-dir
      NAME              DATA      AGE
      krb5-config-dir   2         4h
      El número que aparece en la columna DATA indica el número de archivos.
  3. Si el archivo no está montado, reinicia los wdp connect-connector pods:
    oc delete pods -n ${PROJECT_CPD_INST_OPERANDS} | grep wdp connect-connector

Resultados

Ahora puedes crear conexiones que utilicen Kerberos la autenticación.