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.
Procedimiento
- Proporciona el Kerberos archivo de configuración (krb5.conf) al microservicio de conexiones.
- 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.
- Guarde el krb5.conf archivo en una estación de trabajo que pueda conectarse al clúster.
- Asegúrate de que el
forwardable parámetro esté configurado en true en la libdefaults sección del archivo krb5.conf :
- 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
- Establece la
KRB5_CONF_FILE variable de entorno con el nombre completo del krb5.conf archivo:
- 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.
- 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.
- 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.
- 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]
- 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}
- Comprueba que el krb5.conf archivo esté montado correctamente.
- 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
- /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
- 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
}
- 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.
- 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.