DBeaver
 sql >> Base de données >  >> Database Tools >> DBeaver

Connexion sécurisée de DBeaver à SAP HANA Cloud

Dans mon article précédent Connexion sécurisée de HDBSQL à SAP HANA Cloud, j'ai travaillé avec HDBSQL. Passons maintenant à DBeaver CE - un gestionnaire de base de données gratuit que j'ai déjà utilisé dans certains articles précédents. Aujourd'hui, il a reçu la dernière mise à jour 7.0.3, que j'ai déjà installée sur mes machines.

Nuage SAP HANA…

… est le nouveau produit SAP HANA natif du cloud, utilisé dans mon article précédent ou dans le récent épisode de codage en direct de Thomas Jung.

Deux remarques rapides avant de commencer :

  1. À ce jour, il n'est disponible qu'en tant que service payant dans SAP Cloud Platform, mais (la clause de non-responsabilité habituelle concernant les déclarations prospectives s'applique) la version d'essai devrait être disponible plus tard cette année.
  2. Pour rappel, l'adresse IP d'une machine à partir de laquelle un client de base de données tente de se connecter à l'instance SAP HANA Cloud doit être ajoutée à la liste blanche par votre administrateur.

Heureusement, dans mon cas, je suis l'un des administrateurs de cette instance SAP HANA Cloud. Il est donc accessible depuis mes adresses IP.

Je dois saisir le point de terminaison de mon instance, qui est :

2246ed61-81df-48e8-9711-323311f7613f.hana.prod-eu20.hanacloud.ondemand.com:443 .

Retour à DBeaver…

…où vous pouvez remarquer deux grandes choses :

  1. SAP HANA est déjà inclus dans la liste des pilotes disponibles et
  2. Pilote JDBC HANA ngdbc est téléchargé automatiquement en cas de besoin ou mis à jour. Si nécessaire, vous pouvez toujours pointer vers un pilote que vous avez peut-être déjà préinstallé sur votre machine.

Créons une nouvelle connexion.

Donc, je dois mettre Hôte et Port en fonction du point de terminaison copié à partir de mon cockpit d'instance HANA Cloud. Cela remplira automatiquement l'URL JDBC . De plus, remplissez Nom d'utilisateur et Mot de passe des champs. Ok, allons Tester la connexion… .

« Receive of connect failed. “? Pourquoi? Bien sûr, vous savez, si vous avez lu le post précédent 😉

Les clients ne peuvent établir que des connexions sécurisées à SAP HANA Cloud !

Ajoutons ceci encrypt paramètre à la connexion. Malheureusement, c'est là que j'ai trouvé l'interface utilisateur de DBevaer quelque peu peu intuitive.

Basculer vers les propriétés du conducteur et faites un clic droit sur Propriétés utilisateur pour ajouter une nouvelle propriété.

Malheureusement, DBevar ne m'a pas permis de mettre encrypt=true juste ici. Au lieu de cela, j'ai ajouté encrypt propriété, puis (il m'a fallu une demi-heure pour comprendre notre) double-cliquez à côté de ma propriété dans Valeur colonne à modifier. Tapez true là.

Ok, allons tester la connexion maintenant…

Bingo ! Je peux maintenant me connecter et travailler avec mon instance.

Voici une autre clause de non-responsabilité évidente.

N'utilisez jamais d'utilisateur administrateur, comme DBAdmin , pour faire votre travail !
Créez des utilisateurs distincts pour l'administration ou le développement.

Nous sommes sur MacOS... Avons-nous oublié quelque chose ?

Encore une fois, si vous lisez le post précédent, vous vous souviendrez peut-être que " DigiCert Global Root CA ” Un certificat racine était requis pour authentifier l'hôte SAP HANA afin d'établir une communication sécurisée. Et vous vous souviendrez peut-être que sur MacOS ou Linux, nous devions utiliser explicitement ce certificat avec HDBSQL.

Qu'est-ce qui est différent avec DBeaver ? C'est une application Java et elle utilise le pilote JDBC. Le JRE complet est inclus dans l'installation de DBeaver.

Et par défaut, JRE est livré avec les cacerts magasin de certificats racine. Vérifions.

cd /Applications/DBeaver.app/Contents/Eclipse/jre/Contents/Home
bin/keytool -exportcert -cacerts -v -alias "digicertglobalrootca [jdk]" -rfc -storepass changeit

Vous n'avez pas encore confiance ?

Personnellement, je voudrais certainement vérifier si ces hypothèses sont correctes.

J'ai une autre installation Java sur mon Mac :

/usr/local/Cellar/openjdk/13.0.2+8_2/libexec/openjdk.jdk/Contents/Home

alors vérifions s'il peut être utilisé pour fournir le trustStore propriété pour notre connexion JDBC à la place.

Et qu'en est-il de Windows ?

Eh bien, pas très différent. Vous utilisez le JRE par défaut installé avec DBeaver…

…ou vous pouvez utiliser cacerts livré dans un autre %JAVA_HOME% , comme avec SAP JVM dans mon cas.

Vous cherchez plus d'informations sur JDBC ?

Un didacticiel est disponible sur https://people.sap.com/daniel.vanleeuwen :Se connecter à l'aide du pilote SAP HANA JDBC dans le cadre de la mission des didacticiels Utiliser des clients pour interroger une base de données SAP HANA.