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 :
-
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 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 de base de données 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 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 :
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.
-
Créez une passerelle de service dans le VCN (réseau en nuage virtuel) où résident vos ressources de base de données d'intelligence artificielle autonome en suivant les instructions de la tâche 1 : Créer la passerelle de service dans la documentation sur Oracle Cloud Infrastructure.
-
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 autonome d'IA afin que ces ressources puissent utiliser la passerelle pour utiliser l'authentification du service de gestion des identités et des accès (IAM) :
-
Allez à la page Détails du sous-réseau pour le sous-réseau.
-
Dans l'onglet Informations sur le sous-réseau, cliquez sur le nom de la table de routage du sous-réseau pour afficher sa page Détails de la table de routage.
-
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.
-
-
Retournez à la page Détails du sous-réseau pour le sous-réseau.
-
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 sa page Détails de la liste de sécurité.
-
Dans le menu latéral, sous Ressources, cliquez sur Règles de trafic sortant.
-
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 : Tout
-
Intervalle de ports de destination : 443
-
-
Si une telle règle n'existe pas, cliquez sur Ajouter des règles sortantes et ajoutez une règle sortante 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 sous 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 soit à 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 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 :
-
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.
-
Suivez les étapes décrites dans les pages suivantes pour configurer un autre modèle d'authentification externe de votre choix :
-
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 :
-
forceest réglé àTRUEpour désactiver l'authentification externe actuellement activée. -
typeest 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
forceestFALSE. Lorsqu'une autre méthode d'authentification externe est activée et queforceestFALSE, 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.
-
-
Vérifiez la valeur du paramètre système
IDENTITY_PROVIDER_TYPEcomme 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 :
-
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.
-
Écrivez des énoncés de politique pour permettre l'accès aux ressources Oracle Cloud Infrastructure.
-
Dans la console Oracle Cloud Infrastructure, cliquez sur Identité et sécurité.
-
Sous Identité et sécurité, cliquez sur Politiques.
-
Pour une politique d'écriture, cliquez sur Créer une politique.
-
Dans la page Create Policy, entrez un nom et une description.
-
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) -
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
DBUsersd'accéder à n'importe quelle base de données d'IA autonome dans leur location :Allow group DBUsers to use autonomous-database-family in tenancyPar 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 compartimenttesting_compartmentuniquement :allow group DBUsers to use autonomous-database-family in compartment testing_compartmentPar 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.
-
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 :
-
Les politiques peuvent permettre aux utilisateurs IAM d'accéder aux instances Autonomous AI Database sur l'ensemble de la location, dans un compartiment, ou de limiter l'accès à une seule instance Autonomous AI Database.
-
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 du service 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 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 :
-
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 USERetALTER USERrequis pour ces étapes). -
Créez un mappage entre l'utilisateur (schéma) de la base de données d'intelligence artificielle autonome et les énoncés
CREATE USERouALTER USERet incluez la clauseIDENTIFIED 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_groupest effectif pour tous les utilisateurs du groupe GIA. Ainsi, tout membre dedb_sales_grouppeut se connecter à la base de données à l'aide de ses données d'identification GIA (au moyen du mappage partagé de l'utilisateur globalsales_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'; -
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 :
-
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 USERetALTER USERrequis pour ces étapes). -
Créez un mappage entre l'utilisateur de base de données d'intelligence artificielle autonome (schéma) et les énoncés
CREATE USERouALTER USERet incluez la clauseIDENTIFIED 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_fitchet 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 :
-
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 USERetALTER USERrequis pour ces étapes). -
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 ROLEouALTER ROLEet incluez la clauseIDENTIFIED 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
ExporterGroupdans le domainesales_domainseront autorisés avec le rôle global de base de donnéesexport_rolelorsqu'ils se connecteront à la base de données. -
Utilisez des énoncés
GRANTpour 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; -
Pour associer un rôle de base de données existant à un groupe GIA, utilisez l'énoncé
ALTER ROLEpour 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 :
-
Le client JDBC léger avec prise en charge de l'authentification par jeton GIA est pris en charge avec les éléments suivants :
-
JDBC version 19.13.0.0.1 (ou ultérieure) : Voir Téléchargements JDBC et UCP pour obtenir les pilotes JDBC.
-
JDBC version 21.4.0.0.1 (ou ultérieure) : Voir Téléchargements JDBC et UCP pour obtenir les pilotes JDBC.
Pour plus d'informations, voir Prise en charge de l'authentification basée sur un jeton GIA :
-
-
SQL*Plus et Oracle Instant Client : Pris en charge avec SQL*Plus et Instant Client sous Linux versions 19.13 ou ultérieures, et Instant Client sous Linux versions 21.4 ou ultérieures.
Pour plus d'informations, voir Authentification basée sur un jeton du service de gestion des identités et des accès (GIA).
-
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.
-
Clients .NET (dernière version de Linux ou Windows). Les composants logiciels .NET sont disponibles pour téléchargement gratuit à partir des sites suivants :
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 :
-
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: passwordDans cette spécification,
user_nameest le nom d'utilisateur GIA. La combinaison dedomain_name/user_nameest limitée à 128 octets.L'exemple suivant montre comment l'utilisateur IAM
peter_fitchpeut se connecter à une instance de base de données du service d'intelligence artificielle autonome.sqlplus /nolog connect peter_fitch@db_connect_string Enter password: passwordCertains caractères spéciaux nécessitent que les paramètres
user_nameetpasswordsoient encadrés par des guillemets doubles. 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.
-
Assurez-vous de disposer d'un compte d'utilisateur GIA.
-
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.
-
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.
-
Configurez l'accès à la clé d'API pour l'utilisateur GIA.
-
Extrayez
db-token. Par exemple :-
Extraction de
db-tokenavecAPI-keyà l'aide de l'interface de ligne de commande d'Oracle Cloud Infrastructure (OCI) :oci iam db-token get -
Extraction de
db-tokenavec un jeton de sécurité (ou de session) :oci iam db-token get --auth security_tokenSi 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-tokenavec 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
-
-
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.
-
-
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.
-
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.
-
Vérifiez que la mise en correspondance de nom distinctif est activée en recherchant
SSL_SERVER_DN_MATCH=ONdanssqlnet.ora. -
Configurez le client de base de données pour l'utilisation du jeton GIA en ajoutant
TOKEN_AUTH=OCI_TOKENau fichiersqlnet.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_AUTHetTOKEN_LOCATIONdes chaînes de connexion danstnsnames.oraont priorité sur les paramètres desqlnet.orapour 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-tokenpour 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.
-
Connectez-vous à l'instance Autonomous AI Database en tant qu'utilisateur disposant des privilèges système
ALTER USER. -
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,
hrappest le schéma de base de données à mandater etpeterfitch_schemaest l'utilisateur de base de données global mappé exclusivement à l'utilisateurpeterfitch.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.
-
Connectez-vous à l'utilisateur GIA et exécutez les commandes
SHOW USERetSELECT SYS_CONTEXT. Par exemple, supposons que vous vouliez vérifier l'authentification par mandataire de l'utilisateur GIApeterfitchlorsqu'il mandate l'utilisateur de base de donnéeshrapp. 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 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.
-
Lien de base de données de l'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 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.
-
Oracle APEX n'est pas pris en charge pour les utilisateurs IAM avec Autonomous AI Database. Voir Accéder aux services d'administration d'Oracle Application Express pour plus d'informations sur l'utilisation des utilisateurs de base de données standard avec Autonomous AI Database.
-
Database Actions n'est pas pris en charge pour les utilisateurs IAM avec Autonomous AI Database. Voir Activation de l'accès des utilisateurs à Database Actions pour plus d'informations sur l'utilisation des utilisateurs de base de données standard avec Autonomous AI Database.