Bastionhost vous permet d'exploiter, de maintenir et d'auditer diverses bases de données, notamment ApsaraDB RDS for MySQL, SQL Server et PostgreSQL ; PolarDB for MySQL, PostgreSQL et PostgreSQL (compatible Oracle) ; ainsi que les bases de données MySQL, SQL Server, PostgreSQL et Oracle auto-gérées. Établissez un tunnel SSH et utilisez un jeton O&M pour réaliser ces opérations. Cette rubrique utilise DBeaver sur un client macOS pour illustrer le processus de connexion pour différents types de bases de données.
Prérequis
Installez un outil d'O&M pour bases de données prenant en charge les tunnels Secure Shell (SSH) sur votre hôte local, tel que DBeaver, DbVisualizer, Navicat Premium ou Navicat for MySQL.
-
Récupérez l'adresse O&M de l'instance Bastionhost. Vous trouverez cette adresse dans la section Bastion Host Information de la page Overview. Pour plus d'informations, consultez la rubrique Présentation de la console Bastionhost.
RemarqueBastionhost fournit une adresse O&M fixe sous forme de nom de domaine et utilise des adresses IP dynamiques pour prévenir les attaques. L'adresse IP résolue à partir de l'adresse O&M peut changer. Afin d'éviter les échecs d'O&M dus aux changements d'adresse IP, vous devez utiliser le nom de domaine fourni par Bastionhost pour vos opérations.
Connexion via un tunnel SSH avec un outil client
Cette section utilise DBeaver sur un client macOS pour montrer comment se connecter à une base de données afin d'effectuer des tâches d'O&M.
-
Connectez-vous à la console Bastionhost ou au portail O&M et obtenez un jeton O&M. Pour plus d'informations, consultez la rubrique Obtenir un jeton O&M.
RemarqueLorsque vous obtenez un jeton O&M depuis le portail O&M, si le compte de base de données actuel n'est pas géré par Bastionhost, configurez d'abord les informations de base du compte dans la boîte de dialogue O&M Token. Pour savoir comment créer un compte de base de données, consultez la rubrique Gestion des bases de données.
Les jetons O&M doivent être utilisés dans leur délai de validité. Un administrateur peut définir cette période de validité dans la console Bastionhost. Si l'approbation O&M est activée, la période de validité définie par l'administrateur lors du processus d'approbation s'applique.
Si un administrateur autorise les utilisateurs O&M à renouveler leurs propres jetons, ceux-ci peuvent les renouveler avant leur expiration. Une fois le jeton expiré, l'utilisateur doit en demander un nouveau. Si l'approbation O&M est activée, les utilisateurs ne peuvent pas renouveler les jetons. Après toute modification des paramètres des jetons, demandez un nouveau jeton ou mettez à jour le jeton existant pour que les nouveaux paramètres prennent effet.
Si un jeton est valide mais que la connexion O&M échoue, il est possible que le nombre maximal de connexions O&M simultanées ait été atteint. Dans ce cas, contactez un administrateur pour mettre à niveau le type d'instance de votre instance Bastionhost ou libérer les connexions inactives. Une autre raison possible est qu'un administrateur a bloqué les requêtes O&M provenant de votre adresse IP source ou durant la période actuelle. Contactez alors l'administrateur pour lever ces restrictions.
Les journaux d'audit enregistrent l'utilisateur qui a demandé le jeton, et non le nom d'utilisateur ou le compte d'actif saisi sur le client.
-
Ouvrez DBeaver et créez une nouvelle connexion vers la base de données cible.
-
Dans l'onglet General, configurez les informations relatives à l'actif de base de données comme indiqué dans le tableau suivant, puis cliquez sur Next.
Parameter
Description
Host
The address of the database asset.
Port
The port of the database asset.
User Name
The username for the database asset.
Password
-
For MySQL, SQL Server, and PostgreSQL databases: If the password for the database account is hosted on Bastionhost, leave this field blank. If the password is not hosted, enter the database account's password.
-
For Oracle databases:
-
If the password for the database account is hosted on Bastionhost, enter
123456and select the logon properties as indicated when you obtain the O&M token. -
If the password is not hosted, enter the actual logon password for the database account and select the logon properties as indicated when you obtain the O&M token.
-
-
-
Dans l'onglet SSH, configurez les informations du tunnel SSH, puis cliquez sur Finish.
Parameter
Description
Use SSH Tunnel
Sélectionnez la case à cocher Use SSH Tunnel.
Host/IP
L'adresse O&M de l'instance Bastionhost.
Port
Le port SSH O&M pour Bastionhost. La valeur par défaut est 60022.
User Name
Le nom d'utilisateur pour la connexion à Bastionhost.
Password
Saisissez le jeton O&M que vous avez obtenu.
-
Dans DBeaver, double-cliquez sur la nouvelle connexion à la base de données pour vous connecter à l'actif de base de données et effectuer les tâches d'O&M.
Connexion via un tunnel SSH avec la CLI
Cette section utilise le protocole MySQL comme exemple pour décrire comment se connecter pour l'O&M en utilisant la CLI et un tunnel SSH.
Vous ne pouvez pas effectuer l'O&M sur les bases de données Oracle en utilisant la CLI via un tunnel SSH.
Connectez-vous au portail O&M. Pour plus d'informations, consultez la rubrique Se connecter au portail O&M.
Dans le volet de navigation de gauche, cliquez sur Databases.
Sur la page Databases, localisez la base de données cible et cliquez sur le jeton O&M correspondant dans la colonne O&M Token.
-
Dans la boîte de dialogue O&M Token, sélectionnez un compte de base de données et cliquez sur Obtain O&M Token.
RemarqueLorsque vous obtenez un jeton O&M depuis le portail O&M, si le compte de base de données actuel n'est pas géré par Bastionhost, configurez d'abord les informations de base du compte dans la boîte de dialogue O&M Token. Pour savoir comment créer un compte de base de données, consultez la rubrique Gestion des bases de données.
Les jetons O&M doivent être utilisés dans leur délai de validité. Un administrateur peut définir cette période de validité dans la console Bastionhost. Si l'approbation O&M est activée, la période de validité définie par l'administrateur lors du processus d'approbation s'applique.
Si un administrateur autorise les utilisateurs O&M à renouveler leurs propres jetons, ceux-ci peuvent les renouveler avant leur expiration. Une fois le jeton expiré, l'utilisateur doit en demander un nouveau. Si l'approbation O&M est activée, les utilisateurs ne peuvent pas renouveler les jetons. Après toute modification des paramètres des jetons, demandez un nouveau jeton ou mettez à jour le jeton existant pour que les nouveaux paramètres prennent effet.
Si un jeton est valide mais que la connexion O&M échoue, il est possible que le nombre maximal de connexions O&M simultanées ait été atteint. Dans ce cas, contactez un administrateur pour mettre à niveau le type d'instance de votre instance Bastionhost ou libérer les connexions inactives. Une autre raison possible est qu'un administrateur a bloqué les requêtes O&M provenant de votre adresse IP source ou durant la période actuelle. Contactez alors l'administrateur pour lever ces restrictions.
Les journaux d'audit enregistrent l'utilisateur qui a demandé le jeton, et non le nom d'utilisateur ou le compte d'actif saisi sur le client.
-
Ouvrez un outil CLI et exécutez la commande suivante.
ssh -N -L <localport>:<databaseAddress>:<databasePort> <bastionusername>@<bastionAddress> -p <bastionPort>Description des paramètres
Parameter
Description
localport
Un port d'écoute local pour le tunnel. Assurez-vous que ce port n'est pas déjà utilisé sur votre machine locale.
databaseAddress
L'adresse de l'actif de base de données.
databasePort
Le port de l'actif de base de données.
bastionusername
Le nom d'utilisateur de votre instance Bastionhost.
bastionAddress
L'adresse O&M de votre instance Bastionhost.
bastionPort
Le port SSH O&M pour Bastionhost. La valeur par défaut est 60022.
-
Lorsque le mot de passe vous est demandé, saisissez le jeton O&M et appuyez sur Entrée.
[root@10.xxx.x2 ~]# ssh -N -L 33061:rm-uxxx xxxncs.com:3306 tesxxx xxxncs.com -p 60022 The authenticity of host '[ucyqraxxx xxxncs.com]:60022 ([10xxx.126]:60022)' can't be established. RSA key fingerprint is SHA256:ji2v1Txxx xLKU. RSA key fingerprint is MD5:61:0exxx 9e:01. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[ucyqrxxx xxxncs.com]:60022,[101.xxx.126]:60022' (RSA) to the list of known hosts. test@ucycxxx xxxncs.com's password: -
Ouvrez une autre fenêtre de terminal et vérifiez que le port local personnalisé est en écoute. Dans la sortie, LISTEN indique que le port est en écoute.
[root@1xxx2 ~]# ss -an | grep 33061 tcp LISTEN 0 128 127.0.0.1:33061 *:* tcp LISTEN 0 128 ::1:33061 :::* [root@1xxx2 ~]# -
Exécutez la commande suivante pour vous connecter à la base de données MySQL.
mysql -h 127.0.0.1 -u <accountname> -P <localport><accountname> est un paramètre obligatoire.
accountnamereprésente le nom d'utilisateur de la base de données.<localport> est un paramètre obligatoire.
localportreprésente le port d'écoute local que vous avez spécifié à l'étape Étape 5.
Vous pouvez désormais exécuter des commandes O&M.
[root@10.xxx~]# mysql -h 127.0.0.1 -u a***t -P 33061 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 4041 Server version: 8.0.13 Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]>