Activation de Kerberos l'authentification dans Data Virtualization

Si vous souhaitez vous connecter à une source de données avec Kerberos authentification, vous devez fournir le Kerberos fichier de configuration à Data Virtualization avant de créer la connexion.

Data Virtualization prend en charge la connexion aux connecteurs suivants qui disposent d'une Kerberos authentification :
  • Apache Hive
  • Apache Impala
  • Apache Spark SQL

Avant de commencer

Qui doit accomplir cette tâche?
Pour effectuer cette tâche, vous devez être administrateur du projet (espace de noms) dans lequel IBM® Software Hub est installé.
Remarque : vous pouvez configurer Kerberos l'authentification lorsque vous créez des connexions à des sources de données dans Connexions à la plateforme ou dans Data Virtualization. Vous pouvez ignorer les étapes de cette tâche si vous avez déjà fourni le fichier de configuration à la connexion à la plateforme. Pour plus d'informations, consultez la section Activation des connexions à la plateforme pour utiliser Kerberos l'authentification.

Procédure

Effectuez les tâches suivantes pour configurer Kerberos dans Data Virtualization :

  1. Fournir le fichier de configuration Kerberos ( krb5.conf ) dans Data Virtualization
  2. Facultatif : vérification de la configuration d' Kerberos et des variables d'environnement dans Data Virtualization
  3. Si vous avez des instances Data Virtualization exécutées dans des projets liés, vous devez copier le krb5-conf-files configmap vers les projets liés. Pour plus d'informations, consultez la section Copier des secrets et des configmaps vers des projets liés dans Data Virtualization.

Fournir le Kerberos fichier de configuration (krb5.conf) dans Data Virtualization

  1. Récupérez le fichier krb5.confKerberos de configuration à partir du nœud où le centre de distribution de clés (KDC) est configuré. Le fichier se trouve généralement dans /etc le répertoire.
  2. Copiez le krb5.conf fichier sur un poste de travail pouvant accéder à l'environnement dans lequel les oc commandes sont exécutées.
  3. Créez un ConfigMap objet nommé krb5-config-files dans le même IBM Software Hub projet où le Data Virtualization service est exécuté. Le fichier ConfigMap contient les Kerberos informations du fichier de configuration (krb5.conf).
    oc create configmap krb5-config-files \
    --from-file=${KRB5_CONF_FILE} \
    --namespace=${PROJECT_CPD_INST_OPERANDS}
    Où :
    • ${PROJECT_CPD_INST_OPERANDS} is the name of the IBM Software Hub project (namespace).
    • ${KRB5_CONF_FILE} est le Kerberos fichier de configuration du nœud où le centre de distribution de clés (KDC) est configuré
  4. Étape supplémentaire pour la Apache Hive connexion dans ces conditions :
    • Votre Apache HiveKerberos instance n'est pas configurée pour le chiffrement AES 256.
    Ajoutez le paramètre suivant à ConfigMap (krb5-config-files):
    allow_weak_crypto = true

Facultatif : vérification de Kerberos la configuration et des variables d'environnement dans Data Virtualization

  1. Vérifiez que la variable KRB5_CONF_FILE d'environnement est définie et pointe vers l'emplacement du fichier de configuration /mnt/blumeta0/configmap/external/krb5-config-files/krb5.conf par défaut dans le c-db2u-dv-db2u-0 pod.
    oc exec -it c-db2u-dv-db2u-0 -n ${PROJECT_CPD_INST_OPERANDS} -c db2u -- bash
    su - db2inst1
    echo ${KRB5_CONF_FILE}
    

    Le résultat correspond à l'exemple suivant.

    /mnt/blumeta0/configmap/external/krb5-config-files/krb5.conf
    
  2. Vérifiez que le contenu du fichier de configuration est monté en tant que fichier sous l'emplacement par défaut /mnt/blumeta0/configmap/external/krb5-config-files/.
    oc exec -it c-db2u-dv-db2u-0 -n ${PROJECT_CPD_INST_OPERANDS} -c db2u -- bash
    su - db2inst1
    ls -l ${KRB5_CONF_FILE}
    

    Le résultat ressemble à l'exemple suivant.

    lrwxrwxrwx. 1 root root 16 May  4 09:25 /mnt/blumeta0/configmap/external/krb5-config-files/krb5.conf -> ..data/krb5.conf
    
  3. Vérifiez le contenu du krb5.conf fichier monté dans le pod.
    oc exec -it c-db2u-dv-db2u-0 -n ${PROJECT_CPD_INST_OPERANDS} -c db2u -- bash 
    su - db2inst1 
    cat ${KRB5_CONF_FILE}

    La sortie est similaire à la suivante :

    [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
    }
    
    Remarque : si le Kerberos fichier de configuration (krb5.conf) n'est pas monté sous /mnt/blumeta0/configmap/external/krb5-config-files, forcez le redémarrage du pod pour vous assurer que ConfigMap les mises à jour sont prises en compte par Data Virtualization.