L'activation de l'authentification LDAP renforce la sécurité de Kyuubi. Les clients doivent fournir un nom d'utilisateur et un mot de passe valides pour se connecter à un serveur Kyuubi, démarrer une session Spark et exécuter des requêtes SQL. Cette mesure empêche tout accès non autorisé aux données sensibles et aux fonctionnalités protégées.
Prérequis
-
Créez une passerelle Kyuubi et un jeton. Pour plus d'informations, reportez-vous à la rubrique Gestion des passerelles.
Les versions de moteur suivantes sont recommandées :
esr-4.x : esr-4.3.0 ou version ultérieure.
esr-3.x : esr-3.3.0 ou version ultérieure.
esr-2.x : esr-2.7.0 ou version ultérieure.
(Facultatif) Si vous souhaitez utiliser le service OpenLDAP d'un cluster Alibaba Cloud EMR on ECS, créez un cluster incluant le service OpenLDAP et ajoutez des utilisateurs. Pour plus d'informations, consultez les rubriques Créer un cluster et Gestion des utilisateurs OpenLDAP.
Procédure
Étape 1 : Préparer le réseau
Avant de commencer, assurez-vous que la connectivité réseau est établie entre EMR Serverless Spark et votre Virtual Private Cloud (VPC). Cela permet à la passerelle Kyuubi de se connecter à votre service LDAP pour l'authentification. Pour obtenir des instructions, consultez la rubrique Connectivité réseau entre EMR Serverless Spark et d'autres VPC.
Étape 2 : Configurer la passerelle Kyuubi
Pour activer l'authentification LDAP sur une passerelle Kyuubi, commencez par arrêter la passerelle. Modifiez ensuite la configuration de la passerelle Kyuubi, sélectionnez le nom de connexion dans la liste déroulante Normal Network Connection et ajoutez les paramètres suivants dans la section Kyuubi Configuration. Une fois la modification terminée, redémarrez la passerelle Kyuubi pour appliquer les changements.
kyuubi.authentication LDAP
kyuubi.authentication.ldap.baseDN <ldap_base_dn>
kyuubi.authentication.ldap.userDNPattern <ldap_user_pattern>
kyuubi.authentication.ldap.binddn <ldap_bind_dn>
kyuubi.authentication.ldap.bindpw <ldap_bind_pwd>
kyuubi.authentication.ldap.url ldap://<ldap_url>:<ldap_port>/
Le tableau ci-dessous décrit ces paramètres. Remplacez les valeurs d'espace réservé par vos informations réelles.
Si vous vous connectez au service OpenLDAP d'un cluster Alibaba Cloud EMR on ECS, vous pouvez utiliser les exemples de valeurs fournis.
|
Paramètre |
Description |
Exemple |
|
|
Définissez la valeur sur |
|
|
|
Nom distinctif de base (DN) utilisé pour les recherches dans le service LDAP. |
|
|
|
Modèle utilisé pour convertir un nom d'utilisateur de connexion en DN LDAP complet. |
Par exemple, lorsqu'un utilisateur nommé |
|
|
DN utilisé pour la liaison au service LDAP. |
|
|
|
Mot de passe associé au DN de liaison. |
Recherchez la valeur du paramètre admin_pwd dans la configuration du service OpenLDAP. |
|
|
URL de connexion au service LDAP. Le format est |
Définissez Remarque
Si le service LDAP est configuré en haute disponibilité, séparez les différentes adresses de connexion LDAP par un espace. Par exemple : |
Étape 3 : Se connecter à la passerelle Kyuubi
Cette section présente deux méthodes de connexion courantes. Avant de vous connecter à la passerelle Kyuubi, remplacez les espaces réservés suivants par vos informations réelles :
-
<endpoint>: Informations relatives à l'Endpoint (Public) ou à l'Endpoint (Internal) disponibles dans l'onglet Overview.Si vous utilisez le point de terminaison interne, l'accès à la passerelle Kyuubi est limité aux ressources situées dans le même VPC.
<token>: Informations sur le jeton disponibles dans l'onglet Token Management.<port>: Numéro de port. Le port est 443 pour un accès via le point de terminaison public et 80 pour un accès via le point de terminaison interne dans la même région.<username>et<password>: Nom d'utilisateur et mot de passe pour la connexion au service LDAP. Si vous vous connectez au service OpenLDAP d'un cluster Alibaba Cloud EMR on ECS, utilisez le nom d'utilisateur et le mot de passe que vous avez ajoutés sur la page Users dans EMR on ECS.
Méthode 1 : Utiliser l'interface CLI kyuubi-beeline
-
Spécifiez directement le nom d'utilisateur et le mot de passe. Vous pouvez fournir les identifiants directement en tant qu'arguments de ligne de commande, mais cette méthode expose le mot de passe.
kyuubi-beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p <password> -
Saisissez le mot de passe de manière interactive. Pour une meilleure sécurité, omettez le mot de passe de l'option
-p. Vous serez alors invité à le saisir manuellement et les caractères saisis ne s'afficheront pas.kyuubi-beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p
Méthode 2 : Utiliser une URL JDBC
Pour vous connecter depuis une autre application, telle qu'un programme Java, ou pour construire une URL JDBC complète, utilisez le format suivant.
jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>;user=<username>;password=<password>