Utiliser l'authentification IAM (Identity and Access Management) avec Autonomous AI Database

Vous pouvez configurer Autonomous AI Database pour utiliser l'authentification et l'autorisation Oracle Cloud Infrastructure Identity and Access Management (IAM) afin de permettre aux utilisateurs IAM d'accéder à une base de données Autonomous AI Database avec des données d'identification IAM.

Note : L'intégration de la base de données Autonomous AI Database avec Oracle Cloud Infrastructure (OCI) IAM est prise en charge dans les locations commerciales avec des domaines d'identité ainsi que dans le service IAM d'Oracle Cloud Infrastructure existant, qui n'inclut pas de domaines d'identité. Le service GIA pour Oracle Cloud Infrastructure avec des domaines d'identité a été introduit avec les nouvelles locations OCI créées après le 8 novembre 2021. Autonomous AI Database prend en charge les utilisateurs et les groupes dans les domaines d'identité par défaut et non par défaut.

À propos de l'authentification IAM (Identity and Access Management) avec Autonomous AI Database

L'intégration du service IAM d'Oracle Cloud Infrastructure avec Autonomous AI Database prend en charge à la fois l'authentification par mot de passe de base de données et l'authentification basée sur un jeton. Voir Authentification et autorisation des utilisateurs IAM pour les bases de données Oracle Autonomous AI Databases pour des détails complets sur l'architecture d'utilisation des utilisateurs IAM sur la base de données Autonomous AI Database.

Authentification par mot de passe de base de données GIA

Note : Tout client de base de données 12c ou supérieur pris en charge peut être utilisé pour l'accès par mot de passe de la base de données IAM à Autonomous AI Database.

Un mot de passe de base de données IAM pour Oracle Cloud Infrastructure permet à un utilisateur IAM de se connecter à une instance Autonomous AI Database alors que les utilisateurs Oracle Database se connectent généralement avec un nom d'utilisateur et un mot de passe. L'utilisateur entre son nom d'utilisateur GIA et son mot de passe de base de données GIA. Le mot de passe de base de données GIA est différent du mot de passe de la console Oracle Cloud Infrastructure. À l'aide d'un utilisateur IAM avec le vérificateur de mot de passe, vous pouvez vous connecter à Autonomous AI Database avec n'importe quel client de base de données pris en charge.

Authentification basée sur un jeton d'authentification unique du service de gestion des identités et des accès (GIA)

Il existe plusieurs façons pour un client de base de données d'obtenir un jeton de base de données GIA :

Si un utilisateur entre un nom d'utilisateur/mot de passe pour se connecter, le pilote de base de données utilise la méthode de vérification du mot de passe pour accéder à la base de données, quel que soit le paramètre de jeton de base de données du client.

Préalables pour l'authentification IAM (Identity and Access Management) sur une base de données d'IA autonome

Avant d'utiliser l'authentification du service de gestion des identités et des accès (IAM) sur la base de données autonome d'IA, vous devez vous assurer des éléments suivants :

Modifier les fournisseurs d'identités externes dans la base de données d'intelligence artificielle autonome

Décrit les étapes permettant de remplacer l'authentification et l'autorisation du fournisseur d'identités externe (IAM) par un autre fournisseur d'authentification externe, et vice-versa.

L'authentification et l'autorisation pour les utilisateurs d'Oracle Cloud Infrastructure (IAM) sont activées par défaut pour les nouvelles bases de données autonomes d'IA et les bases de données conteneur autonomes provisionnées. Il existe d'autres modèles d'authentification externes, tels que les utilisateurs gérés centralement avec Active Directory (CMU-AD), Azure AD et Kerberos, que vous pouvez activer pour votre base de données IA autonome. Toutefois, il ne peut y avoir qu'un seul modèle d'authentification externe activé à un moment donné.

Pour permettre aux utilisateurs de base de données de se connecter à Autonomous AI Database à l'aide d'un autre modèle d'authentification externe :

  1. Désactivez l'intégration IAM à l'aide de la procédure DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION :

    Par exemple :

     BEGIN
       DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
     END;
     /
    

    Pour des informations supplémentaires, voir Procédure DISABLE_EXTERNAL_AUTHENTICATION.

  2. Suivez les étapes décrites dans les pages suivantes pour configurer un autre modèle d'authentification externe de votre choix :

  3. Réactivez la connexion des utilisateurs IAM à la base de données autonome avec intelligence artificielle à l'aide de l'authentification et de l'autorisation Oracle Cloud Infrastructure (IAM).

    En tant qu'utilisateur ADMIN, exécutez la procédure DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION avec les paramètres indiqués ci-dessous :

     BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
    
         type => 'OCI_IAM'
         force => TRUE
         );
     END;
     /
    

    L'exemple ci-dessus désactive tout fournisseur d'authentification externe actuellement activé et active l'authentification et l'autorisation pour Oracle Cloud Infrastructure (IAM).

    Dans cet exemple :

    • force est réglé à TRUE pour désactiver l'authentification externe actuellement activée.

    • type est réglé à 'OCI_IAM' pour activer et utiliser l'authentification et l'autorisation pour Oracle Cloud Infrastructure (IAM).

    Note : Par défaut, le paramètre force est FALSE. Lorsqu'une autre méthode d'authentification externe est activée et que force est FALSE, DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION signale l'erreur suivante : ORA-20004: Another external authentication is already enabled.

    Pour plus d'informations, voir Procédure ENABLE_EXTERNAL_AUTHENTICATION.

  4. Vérifiez la valeur du paramètre système IDENTITY_PROVIDER_TYPE comme indiqué ci-dessous :

     SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
    
     NAME                   VALUE
    
     ---------------------- -------
     identity_provider_type OCI_IAM
    

Créer des groupes et des politiques de gestion des identités et des accès pour les utilisateurs GIA

Décrit les étapes d'écriture des énoncés de politique pour un groupe IAM afin de permettre aux utilisateurs IAM d'accéder aux ressources Oracle Cloud Infrastructure, en particulier aux instances Autonomous AI Database.

Une politique est un groupe d'énoncés spécifiant qui peut accéder à quelles ressources, et comment. L'accès peut être accordé pour l'ensemble de la location, des bases de données dans un compartiment ou des bases de données individuelles. Autrement dit, vous écrivez un énoncé de politique qui donne à un groupe spécifique un type d'accès spécifique à un type de ressource spécifique dans un compartiment spécifique.

Note : La définition d'une politique est requise pour utiliser des jetons IAM pour accéder à Autonomous AI Database. Aucune politique n'est requise lors de l'utilisation des mots de passe de base de données IAM pour accéder à la base de données IA autonome.

Pour permettre aux utilisateurs IAM de se connecter à la base de données à l'aide de jetons IAM :

  1. Effectuez les préalables du service de gestion des identités et des accès pour Oracle Cloud Infrastructure en créant un groupe et en ajoutant des utilisateurs au groupe.

    Par exemple, créez le groupe sales_dbusers.

    Pour plus d'informations, voir Gestion des groupes.

  2. Écrivez des énoncés de politique pour permettre l'accès aux ressources Oracle Cloud Infrastructure.

    1. Dans la console Oracle Cloud Infrastructure, cliquez sur Identité et sécurité.

    2. Sous Identité et sécurité, cliquez sur Politiques.

    3. Pour une politique d'écriture, cliquez sur Créer une politique.

    4. Dans la page Create Policy, entrez un nom et une description.

    5. Dans la page Créer une politique, sélectionnez Afficher l'éditeur manuel.

       [Description of the illustration adb_iam_create_policy_manual.png](img_text/adb_iam_create_policy_manual.html)
      
    6. Utilisez le générateur de politiques pour créer une politique.

      Par exemple, pour créer une politique permettant aux utilisateurs du groupe IAM DBUsers d'accéder à n'importe quelle base de données d'IA autonome dans leur location :

       Allow group DBUsers to use autonomous-database-family in tenancy
      

      Par exemple, pour créer une politique qui limite les membres du groupe DBUsers à accéder aux bases de données d'intelligence artificielle autonomes dans le compartiment testing_compartment uniquement :

       allow group DBUsers to use autonomous-database-family in compartment testing_compartment
      

      Par exemple, pour créer une politique qui restreint l'accès d'un groupe à une seule base de données d'un compartiment :

       allow group DBUsers to use autonomous-database-family in compartment testing_compartment where target.database.id = 'ocid1.autonomousdatabase.oc1.iad.aaaabbbbcccc'
      

      Pour plus d'informations sur les politiques IAM permettant d'accéder à la base de données, voir Création d'une politique IAM pour autoriser les utilisateurs à s'authentifier avec des jetons dans le guide sur la sécurité de la base de données.

    7. Cliquez sur Créer.

      Pour plus d'informations sur les politiques, voir Gestion des politiques.

Notes pour la création de politiques à utiliser avec les utilisateurs IAM sur Autonomous AI Database :

Ajouter des utilisateurs IAM dans Autonomous AI Database

Pour ajouter des utilisateurs IAM afin d'autoriser l'accès à Autonomous AI Database, mappez des utilisateurs globaux de base de données à des groupes IAM ou à des utilisateurs avec des énoncés CREATE USER ou ALTER USER (avec la clause IDENTIFIED GLOBALLY AS).

L'autorisation des utilisateurs IAM pour une instance Autonomous AI Database fonctionne en mappant les utilisateurs globaux IAM (schémas) aux utilisateurs IAM (mappage exclusif) ou aux groupes IAM (mappage de schéma partagé).

Pour autoriser des utilisateurs IAM sur une instance Autonomous AI Database :

  1. Connectez-vous en tant qu'utilisateur ADMIN à la base de données configurée pour utiliser GIA (l'utilisateur ADMIN dispose des privilèges système CREATE USER et ALTER USER requis pour ces étapes).

  2. Créez un mappage entre l'utilisateur (schéma) de la base de données d'intelligence artificielle autonome et les énoncés CREATE USER ou ALTER USER et incluez la clause IDENTIFIED GLOBALLY AS, en spécifiant le nom du groupe IAM.

    Utilisez la syntaxe suivante pour mapper un utilisateur global à un groupe GIA :

     CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_NAME';
    

    Par exemple, pour mapper un groupe GIA nommé db_sales_group à un utilisateur global de base de données partagé nommé sales_group :

     CREATE USER sales_group IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=db_sales_group';
    

    Un mappage d'utilisateur global partagé est créé. Le mappage avec l'utilisateur global sales_group est effectif pour tous les utilisateurs du groupe GIA. Ainsi, tout membre de db_sales_group peut se connecter à la base de données à l'aide de ses données d'identification GIA (au moyen du mappage partagé de l'utilisateur global sales_group).

    L'exemple suivant montre comment procéder pour un domaine autre que par défaut :

     CREATE USER shared_sales_schema IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=sales_domain/db_sales_group';
    
  3. Pour créer des mappages d'utilisateurs globaux supplémentaires pour d'autres groupes ou utilisateurs GIA, suivez ces étapes pour chaque groupe ou utilisateur GIA.

Note : Les utilisateurs de base de données qui ne sont pas IDENTIFIED GLOBALLY peuvent continuer à se connecter comme avant, même lorsque l'authentification IAM est activée pour la base de données autonome avec intelligence artificielle.

Pour mapper exclusivement un utilisateur IAM local à un utilisateur global Oracle Database :

  1. Connectez-vous en tant qu'utilisateur ADMIN à la base de données configurée pour utiliser GIA (l'utilisateur ADMIN dispose des privilèges système CREATE USER et ALTER USER requis pour ces étapes).

  2. Créez un mappage entre l'utilisateur de base de données d'intelligence artificielle autonome (schéma) et les énoncés CREATE USER ou ALTER USER et incluez la clause IDENTIFIED GLOBALLY AS, en spécifiant le nom d'utilisateur IAM local IAM.

    Par exemple, pour créer un utilisateur global de base de données nommé peter_fitch et mapper cet utilisateur à un utilisateur GIA local existant nommé peterfitch :

     CREATE USER peter_fitch IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=peterfitch'
    

    L'exemple suivant montre comment créer l'utilisateur en spécifiant un domaine autre que le domaine par défaut, sales_domain :

     CREATE USER peter_fitch2 IDENTIFIED GLOBALLY AS
     'IAM_PRINCIPAL_NAME=sales_domain/peterfitch';
    

Ajouter des rôles IAM dans une base de données autonome avec intelligence artificielle

Vous pouvez créer des rôles globaux pour fournir des rôles et des privilèges de base de données supplémentaires aux utilisateurs GIA lorsque plusieurs utilisateurs GIA sont mappés au même utilisateur global partagé.

L'utilisation de rôles globaux est facultative lors de l'utilisation d'un mappage IAM exclusif à un mappage d'utilisateur (schéma) ou d'utilisateur partagé dans Autonomous AI Database. Par exemple, tous les privilèges et rôles peuvent être accordés au schéma partagé; tous les utilisateurs GIA mappés au schéma partagé se voient alors accorder les privilèges et les rôles affectés à ce schéma.

Vous pouvez utiliser un rôle global pour différencier les utilisateurs qui utilisent le même schéma partagé. Par exemple, plusieurs utilisateurs peuvent avoir le même schéma partagé et celui-ci peut disposer du privilège CREATE SESSION. Des rôles globaux peuvent alors être utilisés pour fournir des privilèges et des rôles différenciés à différents groupes d'utilisateurs qui utilisent tous le même schéma partagé.

L'octroi de rôles supplémentaires aux utilisateurs IAM dans Autonomous AI Database fonctionne en mappant les rôles globaux Autonomous AI Database aux groupes IAM.

Pour mapper les rôles globaux de base de données autonome avec les groupes IAM :

  1. Connectez-vous en tant qu'utilisateur ADMIN à la base de données configurée pour utiliser GIA (l'utilisateur ADMIN dispose des privilèges système CREATE USER et ALTER USER requis pour ces étapes).

  2. Définissez l'autorisation de base de données pour les rôles de base de données du service d'intelligence artificielle autonome avec des énoncés CREATE ROLE ou ALTER ROLE et incluez la clause IDENTIFIED GLOBALLY AS, en spécifiant le nom du groupe IAM.

    Utilisez la syntaxe suivante pour mapper un rôle global à un groupe GIA :

     CREATE ROLE global_role IDENTIFIED GLOBALLY AS
         'IAM_GROUP_NAME=IAM_GROUP_of_WHICH_the_IAM_USER_IS_a_MEMBER';
    

    Par exemple, pour mapper un groupe GIA nommé ExporterGroup à un rôle global de base de données partagé nommé export_role :

     CREATE ROLE export_role IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=ExporterGroup';
    

    L'exemple suivant montre comment créer le rôle en spécifiant un domaine autre que le domaine par défaut, sales_domain :

     CREATE ROLE export_role IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=sales_domain/ExporterGroup';
    

    Tous les membres de ExporterGroup dans le domaine sales_domain seront autorisés avec le rôle global de base de données export_role lorsqu'ils se connecteront à la base de données.

  3. Utilisez des énoncés GRANT pour accorder les privilèges requis ou d'autres rôles au rôle global.

     GRANT CREATE SESSION TO export_role;
     GRANT DWROLE TO export_role;
    
  4. Pour associer un rôle de base de données existant à un groupe GIA, utilisez l'énoncé ALTER ROLE pour modifier le rôle de base de données existant afin de le mapper à un groupe GIA. Utilisez la syntaxe suivante pour modifier un rôle de base de données existant afin de le mapper à un groupe GIA :

     ALTER ROLE existing_database_role
        IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_Group_Name';
    

Pour ajouter des mappages de rôle globaux supplémentaires pour d'autres groupes GIA, suivez ces étapes pour chaque groupe.

Créer un mot de passe de base de données GIA pour les utilisateurs GIA

Pour ajouter un utilisateur IAM et permettre à l'utilisateur IAM de se connecter à Autonomous AI Database en fournissant un nom d'utilisateur et un mot de passe, vous devez créer un mot de passe de base de données IAM.

Pour plus d'informations, voir Utilisation de mots de passe de base de données GIA.

Se connecter à une base de données autonome avec l'authentification IAM (Identity and Access Management)

Une fois que l'utilisateur ADMIN de la base de données mappe des utilisateurs et des rôles globaux aux utilisateurs IAM et aux groupes IAM, les utilisateurs se connectent à l'instance de base de données du service d'intelligence artificielle autonome à l'aide de leurs données d'identification IAM pour Oracle Cloud Infrastructure ou accèdent à la base de données au moyen d'un jeton de base de données IAM pour Oracle Cloud Infrastructure.

Vous pouvez toujours vous connecter à la base de données IA autonome à l'aide du nom d'utilisateur et du mot de passe de votre compte de base de données local (compte d'utilisateur de base de données non global).

Vous pouvez utiliser un client de base de données pour accéder à une instance Autonomous AI Database en tant qu'utilisateur IAM d'Oracle Cloud Infrastructure. Pour utiliser un client avec les données d'identification de nom d'utilisateur et de mot de passe IAM pour Oracle Cloud Infrastructure, ainsi qu'un vérificateur de mot de passe, le client de base de données doit être 12c ou plus récent.

Vous pouvez également utiliser un jeton de base de données IAM pour Oracle Cloud Infrastructure pour accéder à une instance de base de données autonome avec les clients pris en charge :

Note : Si votre instance de base de données du service d'intelligence artificielle autonome est en mode restreint, seuls les utilisateurs dotés du privilège RESTRICTED SESSION tels qu'ADMIN peuvent se connecter à la base de données.

À propos de la connexion à une base de données d'intelligence artificielle autonome sur une instance d'infrastructure Exadata dédiée à l'aide d'IAM

Les utilisateurs du service IAM peuvent se connecter à l'instance d'infrastructure Exadata dédiée de la base de données autonome à l'aide d'un vérificateur de mot de passe de base de données IAM ou d'un jeton IAM.

L'utilisation du vérificateur de mot de passe de base de données GIA est similaire au processus d'authentification par mot de passe d'Oracle Database. Toutefois, au lieu que le vérificateur de mot de passe (hachage chiffré du mot de passe) soit stocké dans la base de données de l'IA autonome sur une infrastructure Exadata dédiée, le vérificateur est stocké dans le cadre du profil d'utilisateur IAM pour Oracle Cloud Infrastructure (OCI).

La seconde méthode de connexion, l'utilisation d'un jeton GIA pour la base de données, est plus moderne. L'utilisation de l'accès basé sur un jeton convient mieux aux ressources en nuage telles que la base de données autonome avec intelligence artificielle sur une infrastructure Exadata dédiée. Le jeton est basé sur la force que le point d'extrémité GIA peut appliquer. Il peut s'agir d'une authentification multifacteur, qui est plus forte que l'utilisation de mots de passe seuls. Un autre avantage de l'utilisation de jetons est que le vérificateur de mot de passe (qui est considéré comme sensible) n'est jamais stocké ni disponible en mémoire.

Connexions de clients qui utilisent un vérificateur de mot de passe de base de données GIA

Après que vous avez configuré l'autorisation requise pour l'utilisateur GIA, celui-ci peut se connecter à l'aide d'une application client existante, telle que SQL*Plus ou SQLcl, sans configuration supplémentaire.

L'utilisateur GIA entre le nom d'utilisateur et le mot de passe de base de données GIA (et non le mot de passe de la console Oracle Cloud Infrastructure) à l'aide d'un client de base de données actuellement pris en charge. La seule contrainte est que la version du client de base de données soit Oracle Database version 12.1.0.2 ou ultérieure pour utiliser les mots de passe Oracle Database 12c. Le client de base de données doit pouvoir utiliser le vérificateur de mot de passe 12C. L'utilisation du chiffrement du vérificateur 11G n'est pas prise en charge avec GIA. Aucune configuration spéciale de client ou d'outil n'est nécessaire pour que l'utilisateur IAM se connecte à l'instance d'infrastructure Exadata dédiée de la base de données d'IA autonome.

Connexions de clients utilisant un jeton

Pour l'accès par jeton IAM à la base de données du service d'intelligence artificielle autonome sur une infrastructure Exadata dédiée, l'application client ou l'outil demande un jeton de base de données au service IAM pour l'utilisateur IAM.

L'application client transmet le jeton de base de données directement au client de base de données au moyen de l'API du client de base de données.

Si l'application ou l'outil n'a pas été mis à jour pour demander un jeton GIA, l'utilisateur GIA peut utiliser l'interface de ligne de commande d'Oracle Cloud Infrastructure pour demander et stocker le jeton de base de données. Vous pouvez demander un jeton d'accès à la base de données (db-token) à l'aide des données d'identification suivantes :

Lorsque les utilisateurs GIA se connectent au client avec une barre oblique / et que le paramètre OCI_IAM est configuré (sqlnet.ora, tnsnames.ora ou dans une chaîne de connexion), le client de base de données extrait le jeton de base de données d'un fichier. Si l'utilisateur GIA soumet un nom d'utilisateur et un mot de passe, la connexion utilise l'accès au vérificateur de base de données GIA décrit pour les connexions de clients qui utilisent des vérificateurs de mot de passe de base de données GIA. Les instructions de ce guide montrent comment utiliser l'interface de ligne de commande OCI comme aide pour le jeton de base de données. Si l'application ou l'outil a été mis à jour pour fonctionner avec GIA, suivez les instructions pour l'application ou l'outil. Voici certains cas d'utilisation courants : SQL*Plus sur place, SQLcl sur place, SQL*Plus dans Cloud Shell ou applications qui utilisent des portefeuilles SEP.

Les rubriques suivantes expliquent comment :

Configuration d'une connexion de client pour SQL*Plus utilisant un mot de passe de base de données GIA

Vous pouvez configurer SQL*Plus pour l'utilisation d'un mot de passe de base de données GIA.

Configuration d'une connexion de client pour SQL*Plus utilisant un jeton GIA

Vous pouvez configurer une connexion de client pour SQL*Plus utilisant un jeton GIA.

  1. Assurez-vous de disposer d'un compte d'utilisateur GIA.

  2. Vérifiez auprès d'un administrateur IAM et d'un administrateur Oracle Database que vous disposez d'une politique vous permettant d'accéder à la base de données dans le compartiment ou votre location et que vous êtes mappé à un schéma global de la base de données.

  3. Si votre application ou votre outil ne prend pas en charge l'intégration GIA directe, téléchargez, installez et configurez l'interface de ligne de commande OCI. (Voir Démarrage rapide avec l'interface de ligne de commande OCI.) Configurez une clé d'API dans le cadre de la configuration de l'interface de ligne de commande OCI et sélectionnez les valeurs par défaut.

    1. Configurez l'accès à la clé d'API pour l'utilisateur GIA.

    2. Extrayez db-token. Par exemple :

      • Extraction de db-token avec API-key à l'aide de l'interface de ligne de commande d'Oracle Cloud Infrastructure (OCI) :

        oci iam db-token get
        
      • Extraction de db-token avec un jeton de sécurité (ou de session) :

        oci iam db-token get --auth security_token
        

        Si le jeton de sécurité a expiré, une fenêtre s'affiche pour que l'utilisateur puisse se reconnecter à OCI. Cela génère le jeton de sécurité pour l'utilisateur. L'interface de ligne de commande OCI utilisera ce jeton actualisé pour obtenir db-token.

      • Extraction de db-token avec un jeton de délégation : Lorsque vous vous connectez à Cloud Shell, le jeton de délégation est généré automatiquement et placé dans le répertoire /etc. Pour obtenir ce jeton, exécutez la commande suivante dans Cloud Shell :

        oci iam db-token get
        
      • Extraction d'un jeton d'instance à l'aide de l'interface de ligne de commande OCI :

        oci iam db-token get --auth instance_principal
        
    3. Le client de base de données peut également être configuré pour extraire un jeton de base de données à l'aide du nom d'utilisateur IAM et du mot de passe de base de données IAM.

      Pour plus d'informations, voir Connexions de client qui utilisent un jeton demandé par un nom d'utilisateur IAM et un mot de passe de base de données.

    Pour plus d'informations, voir Clés et OCID requis.

  4. Veillez à utiliser les dernières mises à jour des versions 19c et 21c du client Oracle Database.

    Cette configuration ne fonctionne qu'avec le client Oracle Database version 19c ou 21c.

  5. Suivez le processus existant pour télécharger le portefeuille à partir de la base de données Autonomous AI Database, puis suivez les instructions pour le configurer en vue de son utilisation avec SQL*Plus.

    1. Vérifiez que la mise en correspondance de nom distinctif est activée en recherchant SSL_SERVER_DN_MATCH=ON dans sqlnet.ora.

    2. Configurez le client de base de données pour l'utilisation du jeton GIA en ajoutant TOKEN_AUTH=OCI_TOKEN au fichier sqlnet.ora. Comme vous utiliserez l'emplacement par défaut pour le fichier de jeton de base de données, vous n'avez pas besoin d'inclure l'emplacement du jeton.

    Les valeurs TOKEN_AUTH et TOKEN_LOCATION des chaînes de connexion dans tnsnames.ora ont priorité sur les paramètres de sqlnet.ora pour la connexion. Par exemple, pour la chaîne de connexion, en supposant que le jeton se trouve dans l'emplacement par défaut (~/.oci/db-token pour Linux) :

     (description=
       (retry_count=20)(retry_delay=3)
       (address=(protocol=tcps)(port=1522)
       (host=example.us-phoenix-1.oraclecloud.com))
       (connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com))
       (security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com,
          OU=Oracle BMCS US, O=Example Corporation,
          L=Redwood City, ST=California, C=US")
       (TOKEN_AUTH=OCI_TOKEN)))
    

Une fois la chaîne de connexion mise à jour avec le paramètre TOKEN_AUTH, l'utilisateur IAM peut se connecter à l'instance de base de données Autonomous AI Database en exécutant la commande suivante pour démarrer SQL\*Plus. Vous pouvez inclure le descripteur de connexion lui-même ou utiliser le nom du descripteur figurant dans le fichier tnsnames.ora.

connect /@exampledb_high

Ou

connect /@(description=
  (retry_count=20)(retry_delay=3)
  (address=(protocol=tcps)(port=1522)
  (host=example.us-phoenix-1.oraclecloud.com))
  (connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com))
  (security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com,
     OU=Oracle BMCS US, O=Example Corporation,
     L=Redwood City, ST=California, C=US")
  (TOKEN_AUTH=OCI_TOKEN)))

Le client de base de données est déjà configuré pour obtenir db-token, car TOKEN_AUTH a déjà été défini, au moyen du fichier sqlnet.ora ou dans une chaîne de connexion. Le client de base de données obtient db-token et le signe à l'aide de la clé privée, puis envoie le jeton à la base de données IA autonome. Si un nom d'utilisateur GIA et un mot de passe de base de données GIA sont spécifiés au lieu de la barre oblique /, le client de base de données se connecte à l'aide du mot de passe au lieu d'utiliser db-token.

Utiliser le principal d'instance pour accéder à la base de données autonome avec l'authentification IAM (Gestion des identités et des accès)

Une fois que l'utilisateur ADMIN a activé le service IAM pour Oracle Cloud Infrastructure sur Autonomous AI Database, une application peut accéder à la base de données au moyen d'un jeton de base de données IAM pour Oracle Cloud Infrastructure à l'aide d'un principal d'instance.

Pour plus d'informations, voir Accès à l'API Oracle Cloud Infrastructure au moyen de principaux d'instance.

Configurer l'authentification par mandataire

L'authentification par mandataire permet à un utilisateur GIA de mandater un schéma de base de données pour des tâches telles que la maintenance d'une application.

L'authentification par mandataire est généralement utilisée pour authentifier l'utilisateur réel, puis l'autoriser à utiliser un schéma de base de données avec les privilèges et les rôles du schéma pour gérer une application. Les alternatives telles que le partage du mot de passe du schéma d'application sont considérées comme non sécurisées, ne permettant pas de vérifier quel utilisateur réel a effectué une action.

Un cas d'utilisation peut être un environnement dans lequel un utilisateur GIA nommé, administrateur de base de données d'application, peut s'authentifier à l'aide de ses données d'identification, puis mandater un utilisateur de schéma de base de données (par exemple, hrapp). Cette authentification permet à l'administrateur GIA d'utiliser les privilèges et rôles de hrapp en tant qu'utilisateur hrapp pour effectuer la maintenance de l'application, tout en continuant à utiliser ses données d'identification GIA pour l'authentification. Un administrateur de base de données d'application peut se connecter à la base de données, puis mandater un schéma d'application pour gérer ce schéma.

Vous pouvez configurer l'authentification par mandataire pour les méthodes d'authentification par mot de passe et par jeton.

Configurer l'authentification par mandataire pour l'utilisateur IAM

Pour configurer l'authentification par mandataire pour un utilisateur GIA, celui-ci doit déjà disposer d'un mappage à un schéma global (mappage exclusif ou partagé). Un schéma de base de données distinct pour l'utilisateur GIA à mandater doit également être disponible.

Après avoir vérifié que vous disposez de ce type d'utilisateur, modifiez l'utilisateur de base de données pour autoriser l'utilisateur GIA à l'utiliser comme mandataire.

  1. Connectez-vous à l'instance Autonomous AI Database en tant qu'utilisateur disposant des privilèges système ALTER USER.

  2. Accordez à l'utilisateur GIA l'autorisation de mandater le compte d'utilisateur de base de données local. Un utilisateur GIA ne peut pas être référencé dans la commande, donc le mandataire doit être créé entre l'utilisateur de base de données global (mappé à l'utilisateur GIA) et l'utilisateur de base de données cible. Dans l'exemple suivant, hrapp est le schéma de base de données à mandater et peterfitch_schema est l'utilisateur de base de données global mappé exclusivement à l'utilisateur peterfitch.

     ALTER USER hrapp GRANT CONNECT THROUGH peterfitch_schema;
    

À ce stade, l'utilisateur GIA peut se connecter à l'instance de base de données à l'aide du mandataire. Par exemple :

Pour vous connecter à l'aide d'un vérificateur de mot de passe :

CONNECT peterfitch[hrapp]@connect_string
Enter password: password

Pour vous connecter à l'aide d'un jeton :

CONNECT [hrapp]/@connect_string

Validation de l'authentification par mandataire de l'utilisateur GIA

Vous pouvez valider la configuration du mandataire de l'utilisateur GIA pour les méthodes d'authentification par mot de passe et par jeton. 1. Connectez-vous à l'instance Autonomous AI Database en tant qu'utilisateur disposant des privilèges système CREATE USER et ALTER USER.

  1. Connectez-vous à l'utilisateur GIA et exécutez les commandes SHOW USER et SELECT SYS_CONTEXT. Par exemple, supposons que vous vouliez vérifier l'authentification par mandataire de l'utilisateur GIA peterfitch lorsqu'il mandate l'utilisateur de base de données hrapp. Vous devez vous connecter à la base de données à l'aide des différents types de méthode d'authentification présentés ici, mais la sortie des commandes que vous exécutez est la même pour tous les types.

    • Pour l'authentification par mot de passe :
CONNECT peterfitch[hrapp]/password!@connect_string
SHOW USER;

--The output should be USER is "HRAPP"
SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;

--The output should be "PASSWORD_GLOBAL"
SELECT SYS_CONTEXT('USERENV','PROXY_USER') FROM DUAL;

--The output should be "PETERFITCH_SCHEMA"
SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL;

--The output should be "HRAPP"

Utiliser un lien de base de données avec les utilisateurs authentifiés par GIA

Vous pouvez utiliser un lien de base de données pour vous connecter d'une instance Autonomous AI Database à une autre en tant qu'utilisateur IAM d'Oracle Cloud Infrastructure.

Vous pouvez utiliser un lien de base de données d'utilisateur connecté ou à utilisateur fixe pour vous connecter à une base de données d'intelligence artificielle autonome en tant qu'utilisateur IAM d'Oracle Cloud Infrastructure.

Note : Le lien de base de données de l'utilisateur courant n'est pas pris en charge pour la connexion à une base de données d'IA autonome en tant qu'utilisateur IAM d'Oracle Cloud Infrastructure.

Désactiver l'authentification IAM (Identity and Access Management) sur la base de données autonome d'IA

Décrit les étapes pour désactiver l'accès d'utilisateur à l'authentification externe IAM pour la base de données d'IA autonome.

Vous pouvez désactiver l'accès d'utilisateur IAM sur votre instance Autonomous AI Database à l'aide de la commande ALTER SYSTEM comme indiqué ci-dessous :

ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;

Si vous voulez également mettre à jour l'accès à IAM à partir de la ressource, c'est-à-dire une base de données conteneur autonome ou une base de données autonome avec intelligence artificielle, vous devrez peut-être supprimer ou modifier le groupe IAM et les politiques que vous configurez pour autoriser l'accès à IAM à partir de ces ressources.

Notes pour l'utilisation des outils de base de données d'intelligence artificielle autonome avec l'authentification IAM (Gestion des identités et des accès)

Fournit des notes sur l'utilisation des outils de base de données autonome avec l'authentification IAM activée.