Connexion avec un utilisateur proxy mis en correspondance

Pour vous connecter à un système de base de données à l'aide d'un utilisateur proxy mis en correspondance, mettez d'abord en correspondance les utilisateurs avec proxy MySQL avec des groupes IAM, puis utilisez l'utilisateur proxy mis en correspondance pour vous connecter au système de base de données.

  1. Mettez en correspondance l'utilisateur avec proxy MySQL avec un groupe IAM afin d'obtenir l'identité et les privilèges de l'utilisateur MySQL. Reportez-vous à Mise en correspondance d'un utilisateur avec proxy MySQL avec un groupe IAM.
  2. Connectez-vous au système de base de données avec l'utilisateur proxy MySQL mis en correspondance. Reportez-vous à Connexion avec un utilisateur proxy mis en correspondance.

Mise en correspondance d'un utilisateur avec proxy MySQL avec un groupe IAM

Mettez en correspondance un utilisateur avec proxy MySQL avec un groupe IAM afin d'accorder l'accès à MySQL Server du système de base de données.

Utilisation d'un client de ligne de commande

Utilisez un client de ligne de commande tel que le client MySQL ou le shell MySQL pour mettre en correspondance des utilisateurs avec proxy MySQL avec des groupes IAM.

Cette tâche requiert les éléments suivants :
  • OCID des groupes IAM et de la location dans laquelle les groupes sont définis.
  • Système de base de données en cours d'exécution.
  • Réseau cloud virtuel correctement configuré qui accorde un accès en ligne de commande au système de base de données à partir d'une instance de calcul ou d'un ordinateur local.
  • Client de ligne de commande correctement configuré.
  • Pour connaître la configuration requise pour utiliser le module d'extension authentication_oci, reportez-vous à Prérequis.
Pour créer et mettre en correspondance des utilisateurs avec proxy MySQL, <pUser1>, <pUser2> et <pUserN> avec des groupes IAM, <IAMGroup1OCID>, <IAMGroup2OCID> et <IAMGroupNOCID>, respectivement, procédez comme suit :
Remarque

Vous pouvez créer et mettre en correspondance n'importe quel nombre d'utilisateurs avec proxy MySQL avec des groupes IAM.
  1. Créez des utilisateurs MySQL, <pUser1>, <pUser2> et <pUserN> pour le proxy :
    CREATE USER <pUser1> IDENTIFIED BY <password> ACCOUNT LOCK;
    CREATE USER <pUser2> IDENTIFIED BY <password> ACCOUNT LOCK;
    CREATE USER <pUserN> IDENTIFIED BY <password> ACCOUNT LOCK;
  2. Accordez les privilèges requis (tels que les privilèges de base de données, de table et de colonne) aux utilisateurs mandatés par MySQL à l'aide de l'instruction GRANT. Reportez-vous à Instruction GRANT.
    Les utilisateurs avec proxy MySQL, <pUser1>, <pUser2> et <pUserN> disposant des privilèges requis sont créés.
  3. Mettez en correspondance les utilisateurs avec proxy MySQL avec les groupes IAM :
    CREATE USER ''@'<Hostname>' IDENTIFIED WITH 'authentication_oci'
    AS '{"tenancy": "<TenancyOCID>",
    "group_mapping": {"<IAMGroup1OCID>": "<pUser1>",
                      "<IAMGroup2OCID>": "<pUser2>",
                      "<IAMGroupNOCID>": "<pUserN>" }}';
    Si un utilisateur IAM fait partie de plusieurs groupes IAM et que vous mettez en correspondance ces groupes IAM avec différents utilisateurs avec proxy MySQL, l'utilisateur IAM est mis en correspondance avec le premier utilisateur avec proxy MySQL (qui correspond au groupe IAM dont l'utilisateur IAM fait partie) défini dans le champ group_mapping. Par exemple, si un utilisateur IAM fait partie à la fois de <IAMGroup2OCID> et de <IAMGroupNOCID>, il est mis en correspondance avec le premier utilisateur avec proxy MySQL, <pUser2>, qui correspond au premier groupe IAM dont l'utilisateur IAM fait partie, <IAMGroup2OCID>.
    • CREATE USER : créez un utilisateur anonyme pouvant se connecter à partir de <Hostname> avec les informations d'identification correctes. L'hôte peut être limité à un hôte ou un groupe d'hôtes spécifique. Reportez-vous à CREATE USER.
    • <Hostname> : indiquez le nom de l'hôte à partir duquel l'utilisateur se connecte.

      La combinaison nom utilisateur/nom d'hôte doit être unique pour chaque location. Si vous mettez en correspondance ''@'hostname1' avec une location dans une demande de mise en correspondance de groupe, vous ne pouvez pas réutiliser cette combinaison nom utilisateur/nom d'hôte pour une demande concernant une autre location. Pour effectuer plusieurs mises en correspondance avec diverses locations, utilisez différentes combinaisons nom utilisateur/nom d'hôte, par exemple ''@'hostname2'.

    • authentication_oci : indiquez le nom du module d'extension d'authentification sur l'instance MySQL Server.
    • tenancy : indiquez l'OCID de la location dans laquelle résident l'utilisateur et le système de base de données. Vous pouvez indiquer une location par instruction CREATE USER.
    • group_mapping : indiquez une liste d'OCID de groupe pour les noms utilisateur proxy. Les OCID de groupe doivent appartenir à la location définie dans le paramètre tenancy. Pour mettre en correspondance des groupes d'une autre location, exécutez de nouveau la commande CREATE USER avec la location, les groupes et les utilisateurs requis.
  4. Accordez des privilèges proxy à l'utilisateur anonyme créé à l'étape 3 :
    GRANT PROXY ON '<pUser1>' TO ''@'<Hostname>';
    GRANT PROXY ON '<pUser2>' TO ''@'<Hostname>';
    GRANT PROXY ON '<pUserN>' TO ''@'<Hostname>';
Les utilisateurs avec proxy MySQL <pUser1>, <pUser1> et <pUserN> sont mis en correspondance avec les groupes IAM, <IAMGroup1OCID>, <IAMGroup2OCID> et <IAMGroupNOCID> respectivement, ce qui permet aux membres du groupe IAM d'accéder à MySQL Server avec toutes les identités et tous les privilèges affectés aux utilisateurs avec proxy MySQL.

Connexion avec un utilisateur proxy mis en correspondance

Connectez-vous à un système de base de données avec un utilisateur proxy mis en correspondance. L'utilisateur proxy mis en correspondance prend l'identité et les privilèges d'un utilisateur avec proxy MySQL. Les utilisateurs locaux, fédérés et provisionnés peuvent utiliser un jeton de sécurité IAM pour se connecter à un système de base de données. Cependant, seuls les utilisateurs locaux et provisionnés peuvent utiliser une paire de clés d'API pour se connecter à un système de base de données.

Utilisation d'un client de ligne de commande

Utilisez un client de ligne de commande tel que le client MySQL ou MySQL Shell pour vous connecter à un système de base de données avec un utilisateur proxy mis en correspondance.

Cette tâche suppose que vous disposiez des éléments suivants :
  • Système de base de données en cours d'exécution.
  • Fichier de configuration. Reportez-vous à Fichier de configuration du kit SDK et de l'interface de ligne de commande.
  • Réseau cloud virtuel correctement configuré qui accorde un accès en ligne de commande au système de base de données à partir d'une instance de calcul ou d'un ordinateur local.
  • OCID utilisateur ou ID utilisateur du domaine de fournisseur d'identités de l'utilisateur proxy mis en correspondance.
  • Pour connaître la configuration requise pour utiliser le module d'extension authentication_oci, reportez-vous à Prérequis.
Effectuez l'une des étapes suivantes pour vous connecter au système de base de données à l'aide d'un utilisateur proxy mis en correspondance :
  1. A partir du client MySQL : exécutez la commande suivante :
    mysql -h <DBSystemEndpointIPAddress> --port <PortNumber> --oci-config-file=<PathToOciConfig> 
    --authentication-oci-client-config-profile=<ConfigProfile> -u <UserOCIDOrUserIDFromIdp>
    • h : indiquez l'adresse IP de l'adresse du système de base de données.
    • port : indiquez le port sur lequel le système de base de données écoute. La valeur par défaut est 3306.
    • oci-config-file : (facultatif) indiquez l'emplacement du fichier de configuration. Si vous ne spécifiez pas cette option, le client MySQL lit la configuration à partir de l'emplacement par défaut, %HOMEDRIVE%%HOMEPATH%\.oci\config pour les systèmes Windows et ~/.oci/config, pour tous les autres systèmes d'exploitation.
    • authentication-oci-client-config-profile : (facultatif) indiquez le nom du profil de configuration, que vous indiquez dans le fichier de configuration, dont le client MySQL doit utiliser pour l'authentification. Si vous ne spécifiez pas cette option, le client MySQL lit les options de configuration mentionnées dans le profil DEFAULT.
    • u : selon que vous êtes connecté à un utilisateur local, fédéré ou provisionné, indiquez l'OCID (identificateur Oracle Cloud) ou l'ID utilisateur à partir du domaine de fournisseur d'identités :
      • Utilisateur local : indiquez l'OCID utilisateur IAM de l'utilisateur local.
      • Utilisateur fédéré : indiquez l'ID utilisateur à partir du domaine de fournisseur d'identités.
      • Utilisateur provisionné avec des clés d'API : indiquez l'OCID utilisateur IAM de l'utilisateur local.
      • Utilisateur provisionné avec le jeton de sécurité IAM : indiquez l'ID utilisateur à partir du domaine de fournisseur d'identités.
  2. A partir du shell MySQL 8.0 : exécutez la commande suivante :
    mysqlsh <UserOCIDOrUserIDFromIdp>@<Hostname> --auth-method=authentication_oci_client
    • <UserOCIDOrUserIDFromIdp> : selon que vous êtes connecté à un utilisateur local, fédéré ou provisionné, indiquez l'OCID (identificateur Oracle Cloud) ou l'ID utilisateur à partir du domaine de fournisseur d'identités :
      • Utilisateur local : indiquez l'OCID utilisateur IAM de l'utilisateur local.
      • Utilisateur fédéré : indiquez l'ID utilisateur à partir du domaine de fournisseur d'identités.
      • Utilisateur provisionné avec des clés d'API : indiquez l'OCID utilisateur IAM de l'utilisateur local.
      • Utilisateur provisionné avec le jeton de sécurité IAM : indiquez l'ID utilisateur à partir du domaine de fournisseur d'identités.
    • <Hostname> : indiquez l'adresse IP de l'adresse du système de base de données.
    • auth-method=authentication_oci_client : indiquez le nom du module d'extension client utilisé pour authentifier la demande. MySQL Le shell utilise uniquement la configuration d'interface de ligne de commande par défaut.
      Remarque

      Cette méthode d'authentification prend uniquement en charge le protocole MySQL classique.
    Remarque

    Le shell MySQL version 8.0.33 ou ultérieure permet de configurer l'emplacement du fichier de configuration avec l'option oci.configFile.
  3. A partir du shell MySQL 8.1 ou version ultérieure : exécutez la commande suivante :
    mysqlsh <UserOCIDOrUserIDFromIdp>@<Hostname> --oci-config-file=<PathToOciConfig> 
    --authentication-oci-client-config-profile=<ConfigProfile> --auth-method=authentication_oci_client
    • <UserOCIDOrUserIDFromIdp> : selon que vous êtes connecté à un utilisateur local, fédéré ou provisionné, indiquez l'OCID (identificateur Oracle Cloud) ou l'ID utilisateur à partir du domaine de fournisseur d'identités :
      • Utilisateur local : indiquez l'OCID utilisateur IAM de l'utilisateur local.
      • Utilisateur fédéré : indiquez l'ID utilisateur à partir du domaine de fournisseur d'identités.
      • Utilisateur provisionné avec des clés d'API : indiquez l'OCID utilisateur IAM de l'utilisateur local.
      • Utilisateur provisionné avec le jeton de sécurité IAM : indiquez l'ID utilisateur à partir du domaine de fournisseur d'identités.
    • <Hostname> : indiquez l'adresse IP de l'adresse du système de base de données.
    • oci-config-file : (facultatif) indiquez l'emplacement du fichier de configuration. Si vous ne spécifiez pas cette option, le shell MySQL lit la configuration à partir de l'emplacement par défaut, %HOMEDRIVE%%HOMEPATH%\.oci\config pour les systèmes Windows et ~/.oci/config, pour tous les autres systèmes d'exploitation.
    • authentication-oci-client-config-profile : (facultatif) indiquez le nom du profil de configuration, que vous indiquez dans le fichier de configuration, dont les options de configuration MySQL Shell doivent utiliser pour l'authentification. Si vous ne spécifiez pas cette option, le shell MySQL lit les options de configuration mentionnées dans le profil DEFAULT.
    • auth-method=authentication_oci_client : indiquez le nom du module d'extension client utilisé pour authentifier la demande.
      Remarque

      Cette méthode d'authentification prend uniquement en charge le protocole MySQL classique.
L'utilisateur proxy mis en correspondance, <UserOCIDOrUserIDFromIdp>, est connecté au système de base de données.