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

Vous pouvez configurer la base de données autonome sur l'IA 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 autonome sur l'IA avec des données d'identification IAM.

Note :

L'intégration du service Base de données d'intelligence artificielle autonome à Oracle Cloud Infrastructure (OCI) IAM est prise en charge dans les locations commerciales avec des domaines d'identité ainsi que dans le service IAM pour 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. Le service Base de données d'IA autonome 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 du service de gestion des identités et des accès (IAM) avec Autonomous AI Database

L'intégration du service IAM d'Oracle Cloud Infrastructure avec le service Base de données d'intelligence artificielle autonome prend en charge 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 autonomes d'IA Oracle pour des détails complets sur l'architecture d'utilisation des utilisateurs IAM sur une base de données autonome d'IA.

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 à la base de données autonome avec intelligence artificielle.

Un mot de passe de base de données IAM pour Oracle Cloud Infrastructure permet à un utilisateur IAM de se connecter à une instance de base de données d'intelligence artificielle autonome en tant qu'utilisateurs Oracle Database qui 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 :

  • Une application ou un outil client peut demander le jeton de base de données à GIA pour l'utilisateur et le transmettre au moyen de l'API client. L'utilisation de l'API pour envoyer le jeton remplace les autres paramètres du client de base de données. Ce type d'utilisation d'un jeton de base de données GIA est pris en charge pour les clients suivants :

    • JDBC léger sur toutes les plates-formes
    • Oracle Instant Client OCI-C sur Linux
    • Oracle Data Provider for .NET (ODP.NET) Core
  • Si l'application ou l'outil ne prend pas en charge la demande de jeton de base de données GIA au moyen de l'API client, l'utilisateur GIA peut d'abord utiliser l'interface de ligne de commande d'Oracle Cloud Infrastructure pour extraire le jeton de base de données GIA et l'enregistrer dans un fichier. Par exemple, pour utiliser SQL*Plus et d'autres applications et outils à l'aide de cette méthode de connexion, vous devez d'abord obtenir le jeton de base de données à l'aide de l'interface de ligne de commande d'Oracle Cloud Infrastructure. Si le client de base de données est configuré pour les jetons de base de données GIA, lorsqu'un utilisateur se connecte avec une barre oblique, le pilote de base de données utilise le jeton de base de données GIA qui a été enregistré dans un fichier par défaut ou spécifié.

  • Une application ou un outil client peut utiliser un principal ou un principal de ressource d'instance IAM pour Oracle Cloud Infrastructure pour obtenir un jeton de base de données IAM, et utiliser le jeton de base de données IAM pour s'authentifier auprès d'une instance Base de données d'IA autonome.

  • Les utilisateurs GIA et les applications OCI peuvent demander un jeton de base de données à GIA à l'aide de plusieurs méthodes, notamment une clé d'API. Voir Configuration d'une connexion de client pour SQL*Plus utilisant un jeton GIA pour obtenir un exemple. Voir À propos de l'authentification et de l'autorisation des utilisateurs IAM pour une base de données Oracle Autonomous AI Database pour une description d'autres méthodes telles que l'utilisation d'un jeton de délégation dans un interpréteur de commandes en nuage OCI.

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 à l'authentification IAM pour la gestion des identités et des accès sur Autonomous AI Database

Avant d'utiliser l'authentification du service de gestion des identités et des accès (IAM) sur Autonomous AI Database, vous devez vous assurer des éléments suivants :

Utilisez le service de réseau pour ajouter une passerelle de service, une règle de routage et une règle de sécurité de trafic sortant au VCN (réseau en nuage virtuel) et aux sous-réseaux où résident vos ressources de base de données d'intelligence artificielle autonome.

  1. Créez une passerelle de service dans le VCN (réseau en nuage virtuel) où résident vos ressources de base de données autonome d'IA en suivant les instructions de la tâche 1 : Créer la passerelle de service dans la documentation sur Oracle Cloud Infrastructure.
  2. Après avoir créé la passerelle de service, ajoutez une règle de routage et une règle de sécurité de trafic sortant à chaque sous-réseau (dans le VCN) où résident les ressources de la base de données d'intelligence artificielle autonome afin que ces ressources puissent utiliser la passerelle pour utiliser l'authentification IAM :
    1. Allez à la page Détails du sous-réseau correspondante.
    2. Dans l'onglet Informations sur le sous-réseau, cliquez sur le nom de la table de routage du sous-réseau pour afficher la page Détails de la table de routage.
    3. Dans la table des règles de routage existantes, vérifiez s'il existe déjà une règle présentant les caractéristiques suivantes :
      • Destination : Tous les services IAD dans Oracle Services Network
      • Type de cible : Passerelle de service
      • Cible : Nom de la passerelle de service que vous venez de créer dans le VCN.

      Si une telle règle n'existe pas, cliquez sur Ajouter des règles de routage et ajoutez une règle de routage avec ces caractéristiques.

    4. Retournez à la page Détails du sous-réseau.
    5. Dans la table Listes de sécurité du sous-réseau, cliquez sur le nom de la liste de sécurité du sous-réseau pour afficher la page Détails de la liste de sécurité.
    6. Dans le menu latéral, sous Ressources, cliquez sur Règles de trafic sortant.
    7. Dans la table des règles de trafic sortant existantes, vérifiez s'il existe déjà une règle présentant les caractéristiques suivantes :
      • Sans état : Non
      • Destination : Tous les services IAD dans Oracle Services Network
      • Protocole IP : TCP
      • Intervalle de ports sources : Tous
      • Intervalle de ports de destination : 443
    8. Si une telle règle n'existe pas, cliquez sur Ajouter des règles de trafic sortant et ajoutez une règle de trafic sortant avec ces caractéristiques.

Les paramètres de mandataire HTTP de votre environnement doivent permettre à la base de données d'accéder au fournisseur de services en nuage.

Ces paramètres sont définis par l'administrateur de votre parc lors de la création de l'infrastructure Exadata Cloud@Customer, comme décrit dans Utilisation de la console pour provisionner le service Exadata Database sur Cloud@Customer.

Note :

La configuration réseau, y compris le mandataire HTTP, ne peut être modifiée que jusqu'à ce que l'infrastructure Exadata ait l'état Activation requise. Une fois activé, vous ne pouvez pas modifier ces paramètres.

La configuration d'un mandataire HTTP pour une infrastructure Exadata déjà provisionnée nécessite une demande de service dans My Oracle Support. Pour plus de détails, voir Créer une demande de service dans My Oracle Support.

Modifier les fournisseurs d'identités externes dans la base de données Autonomous AI Database

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

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

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 les utilisateurs IAM pour qu'ils se connectent à Autonomous AI Database à l'aide de l'authentification et de l'autorisation pour 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 qui 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 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 a la valeur FALSE, DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION signale l'erreur suivante : ORA-20004: Another external authentication is already enabled.

    Voir Procédure ENABLE_EXTERNAL_AUTHENTICATION pour plus de référence.

  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 à Autonomous AI Database.

To enable Autonomous AI Database to allow IAM users to connect to the database using IAM tokens:

  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 écrire une politique, 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.
    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 à toute base de données autonome d'IA de 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 autonomes d'IA du 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 de 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 une base de données Autonomous AI Database :

  • Les politiques peuvent permettre aux utilisateurs du service IAM d'accéder aux instances du service Base de données d'IA autonome sur l'ensemble de la location, dans un compartiment, ou de limiter l'accès à une seule instance du service Base de données d'IA autonome.

  • Vous pouvez utiliser le principal d'instance ou le principal de ressource pour extraire des jetons de base de données afin d'établir une connexion entre votre application et une instance de base de données d'intelligence artificielle autonome. Si vous utilisez un principal d'instance ou de ressource, vous devez mapper un groupe dynamique. Ainsi, vous ne pouvez pas mapper exclusivement des principaux d'instance et de ressource; vous pouvez uniquement les mapper au moyen d'un mappage partagé et placer le principal d'instance ou de ressource dans un groupe dynamique GIA.

    Vous pouvez créer des groupes dynamiques et les référencer dans les politiques que vous créez pour accéder à Oracle Cloud Infrastructure. Pour plus de détails, voir Planifier les contrôles d'accès et créer des ressources complémentaires et Gestion des groupes dynamiques.

Ajouter des utilisateurs IAM sur une base de données 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 vers une instance Autonomous AI Database fonctionne en mappant les utilisateurs mondiaux IAM (schémas) aux utilisateurs IAM (mappage exclusif) ou aux groupes IAM (mappage de schéma partagé).

Pour autoriser les 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) d'Autonomous AI Database avec des é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 effectuer cette opération pour un domaine autre que celui 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 par le service d'intelligence artificielle autonome est activée pour le service IAM.

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 (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 d'utilisateur IAM local d'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 non par défaut, sales_domain :

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

Ajouter des rôles IAM dans Autonomous AI Database

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 éventuellement 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 d'Autonomous AI Database aux groupes IAM.

Pour mapper les rôles globaux du service Base de données d'IA autonome aux 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 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 non 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.

Se connecter à une base de données avec intelligence artificielle autonome avec authentification du service de gestion des identités et des accès (IAM)

Une fois que l'utilisateur ADMIN de la base de données mappe des utilisateurs globaux et des rôles globaux aux utilisateurs IAM et aux groupes IAM, les utilisateurs se connectent à l'instance Autonomous AI Database à 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 IAM pour Oracle Cloud Infrastructure.

Vous pouvez toujours vous connecter à la base de données Autonomous AI Database à 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 pour Oracle Cloud Infrastructure. Pour utiliser un client avec des données d'identification de nom d'utilisateur et de mot de passe IAM pour Oracle Cloud Infrastructure et 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 Autonomous AI Database avec des clients pris en charge :

Note :

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

À propos de la connexion à une instance d'IA autonome sur une infrastructure Exadata dédiée à l'aide du service IAM

Les utilisateurs du service IAM peuvent se connecter à l'instance de base de données d'IA autonome sur une infrastructure Exadata dédiée à 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 d'IA autonome sur une infrastructure Exadata dédiée, le vérificateur est plutôt stocké dans le 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 Autonomous AI Database 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 Autonomous AI Database on Dedicated Exadata.

Connexions de clients utilisant un jeton

Pour l'accès par jeton IAM à la base de données avec intelligence artificielle autonome sur une infrastructure Exadata dédiée, l'application client ou l'outil demande un jeton de base de données à partir d'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 :

  • Jetons de sécurité (avec authentification GIA), jetons de délégation (dans OCI Cloud Shell) et API-keys (données d'identification qui représentent l'utilisateur GIA pour activer l'authentification)
  • Jetons de principal d'instance, qui permettent aux instances d'être des acteurs (ou principaux) autorisés à effectuer des actions sur les ressources de service après l'authentification
  • Jeton de principal de ressource (données d'identification permettant à l'application de s'authentifier auprès d'autres services Oracle Cloud Infrastructure)

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 :
  • Configurer une connexion de client pour SQL*Plus afin d'utiliser un mot de passe de base de données GIA.

  • Configurer une connexion de client pour SQL*Plus utilisant un jeton GIA.

  • Accéder à la base de données au moyen d'un jeton de base de données GIA pour Oracle Cloud Infrastructure à l'aide d'un principal d'instance.

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.

  • En tant qu'utilisateur IAM, connectez-vous à l'instance Autonomous AI Database à l'aide de la syntaxe suivante :
    CONNECT user_name@db_connect_string
    Enter password: password

    Dans cette spécification, user_name est le nom d'utilisateur GIA. La combinaison de domain_name/user_name est limitée à 128 octets.

    L'exemple suivant montre comment l'utilisateur IAM peter_fitch peut se connecter à une instance Autonomous AI Database.

    sqlplus /nolog
    connect peter_fitch@db_connect_string
    Enter password: password

    Certains caractères spéciaux nécessitent des guillemets autour de user_name et password. Par exemple :

    "peter_fitch@example.com"@db_connect_string
    
    "IAM database password"

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 dans 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 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 et l'utiliser 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 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 d'intelligence artificielle 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 à une base de données autonome avec intelligence artificielle avec authentification du service de gestion des identités et des accès (IAM)

Une fois que l'utilisateur ADMIN a activé le service IAM pour Oracle Cloud Infrastructure sur une base de données IA autonome, 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.

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.

Configuration de l'authentification par mandataire pour l'utilisateur GIA

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.

  2. 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"
    • Pour l'authentification par jeton :
      CONNECT [hrapp]/@connect_string
      SHOW USER;
      --The output should be USER is "HRAPP "
      SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;
      --The output should be "TOKEN_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 pour Oracle Cloud Infrastructure.

Vous pouvez utiliser un lien de base de données d'utilisateur connecté ou d'utilisateur fixe pour vous connecter à une base de données d'IA autonome en tant qu'utilisateur IAM pour 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 du service d'intelligence artificielle autonome en tant qu'utilisateur IAM pour Oracle Cloud Infrastructure.
  • Lien de base de données d'utilisateur connecté : Pour un lien de base de données d'utilisateur connecté, un utilisateur IAM doit être mappé à un schéma dans les bases de données source et cible connectées par un lien de base de données. Vous pouvez utiliser un vérificateur de mot de passe de base de données ou un jeton de base de données GIA pour utiliser un lien de base de données d'utilisateur connecté.

  • Lien de base de données d'utilisateur fixe : Un lien de base de données d'utilisateur fixe peut être créé à l'aide d'un utilisateur de base de données ou d'un utilisateur IAM. Lors de l'utilisation d'un utilisateur GIA en tant que lien de base de données d'utilisateur fixe, l'utilisateur GIA doit disposer d'un mappage de schéma dans la base de données cible. L'utilisateur GIA d'un lien de base de données ne peut être configuré qu'avec un vérificateur de mot de passe.

Désactiver l'authentification pour le service de gestion des identités et des accès (IAM) sur Autonomous AI Database

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

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 du service Base de données d'IA autonome avec l'authentification du service de gestion des identités et des accès (IAM)

Fournit des notes sur l'utilisation des outils Autonomous AI Database avec l'authentification IAM activée.