Utiliser l'authentification Identity and Access Management (IAM) avec la base de données Autonomous AI
Vous pouvez configurer une base de données Autonomous AI pour utiliser l'authentification et l'autorisation Oracle Cloud Infrastructure Identity and Access Management (IAM) afin d'autoriser les utilisateurs IAM à accéder à une base de données Autonomous AI avec des informations d'identification IAM.
Remarque : l'intégration d'une base de données Autonomous AI à Oracle Cloud Infrastructure (OCI) IAM est prise en charge dans les locations commerciales avec des domaines d'identité, ainsi que dans l'ancienne instance Oracle Cloud Infrastructure IAM, qui n'inclut pas de domaines d'identité. La version d'Oracle Cloud Infrastructure IAM avec des domaines d'identité est disponible avec les 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 autres.
A propos de l'authentification Identity and Access Management (IAM) avec la base de données Autonomous AI
L'intégration d'Oracle Cloud Infrastructure IAM à 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. Reportez-vous à Authentification et autorisation d'utilisateurs IAM pour les bases de données Oracle Autonomous AI afin d'obtenir des détails complets sur l'architecture permettant d'utiliser des utilisateurs IAM sur la base de données Autonomous AI.
Authentification par mot de passe de base de données IAM
Remarque : tout client de base de données 12c ou supérieure pris en charge peut être utilisé pour l'accès par mot de passe de base de données IAM à la base de données Autonomous AI.
Un mot de passe de base de données Oracle Cloud Infrastructure IAM autorise un utilisateur IAM à se connecter à une instance de base de données Autonomous AI, les utilisateurs Oracle Database se connectent généralement avec un nom utilisateur et une mot de passe. L'utilisateur saisit son nom utilisateur IAM et son mot de passe de base de données IAM. Le mot de passe de base de données IAM est différent du mot de passe de la console Oracle Cloud Infrastructure. L'emploi d'un utilisateur IAM avec le vérificateur de mot de passe vous permet de se connecter à Autonomous AI Database avec n'importe quel client d'une base de données pris en charge.
Authentification basée sur un jeton SSO Identity and Access Management (IAM)
Un client de base de données peut obtenir un jeton de base de données IAM de plusieurs façons :
-
Une application ou un outil client peut demander le jeton de base de données à IAM pour l'utilisateur et le transmettre via 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 de jeton de base de données IAM est pris en charge pour les clients suivants :
-
JDBC Thin 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 d'un jeton de base de données IAM via l'API client, l'utilisateur IAM peut dans un premier temps utiliser l'interface de ligne de commande Oracle Cloud Infrastructure pour extraire ce jeton et l'enregistrer dans un emplacement de fichier. Par exemple, pour utiliser SQL*Plus et d'autres applications et outils avec 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 Oracle Cloud Infrastructure (OCI). Si le client de base de données est configuré pour les jetons de base de données IAM, lorsqu'un utilisateur se connecte avec le formulaire de connexion à barre oblique, le pilote de base de données utilise le jeton de base de données IAM qui a été enregistré dans l'emplacement de fichier par défaut ou indiqué.
-
Une application ou un outil client peut utiliser un principal ou un principal de ressource d'instance Oracle Cloud Infrastructure IAM 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 Autonomous AI.
-
Les utilisateurs IAM et les applications OCI peuvent demander un jeton de base de données à IAM avec plusieurs méthodes, y compris l'utilisation d'une clé d'API. Afin d'obtenir un exemple, reportez-vous à Configuration pour SQL*Plus d'une connexion client utilisant un jeton IAM. Reportez-vous à A propos de l'authentification et de l'autorisation d'utilisateurs IAM pour une base de données Oracle Autonomous AI Database pour obtenir une description d'autres méthodes, telles que l'utilisation d'un jeton de délégation dans un shell cloud shell OCI.
Si un utilisateur saisit un nom utilisateur/mot de passe afin de se connecter, le pilote de base de données utilise la méthode de vérificateur de 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érequis pour l'authentification Identity and Access Management (IAM) sur la base de données Autonomous AI
Avant d'utiliser l'authentification Identity and Access Management (IAM) sur la base de données Autonomous AI, vous devez vous assurer des éléments suivants :
Utilisez le service Networking pour ajouter une passerelle de service, une règle de routage et une règle de sécurité sortante au VCN (réseau cloud virtuel) et aux sous-réseaux où résident vos ressources de base de données d'IA autonome.
-
Créez une passerelle de service dans le VCN (réseau cloud virtuel) où résident vos ressources de base de données Autonomous AI en suivant les instructions de la tâche 1 : création de la passerelle de service dans la documentation Oracle Cloud Infrastructure.
-
Une fois la passerelle de service créée, ajoutez une règle de routage et une règle de sécurité sortante à chaque sous-réseau (dans le VCN) où résident les ressources de base de données Autonomous AI afin que ces ressources puissent utiliser la passerelle pour utiliser l'authentification Identity and Access Management (IAM) :
-
Accédez à la page Détails du sous-réseau correspondante.
-
Dans l'onglet Information sur le sous-réseau, cliquez sur le nom de la table de acheminement du sous‑réseau pour afficher la page Détails de la table de acheminement correspondante.
-
Dans la table des règles de acheminement existantes, vérifiez s'il existe déjà une règle avec les caractéristiques suivantes :
-
Destination : tous le service 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 possédant ces caractéristiques.
-
-
Revenez à la page Détails du sous-réseau du sous-réseau.
-
Dans la table Listes de sécurité du sous‑réseau, cliquez sur le nom de la liste des sécurité du sous-réseau pour afficher sa page Détails de la liste.
-
Dans le menu latéral, sous Ressources, cliquez sur Règles sortantes.
-
Dans la table des règles sortantes existantes, vérifiez s'il existe déjà une règle avec les caractéristiques suivantes :
-
Sans conservation de statut : Non
-
Destination : tous le service IAD dans Oracle Services Network
-
Protocole IP : TCP
-
Plage de ports sources : tous
-
Plage 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 possédant ces caractéristiques.
-
Les paramètres de proxy HTTP de votre environnement doivent autoriser la base de données à accéder au fournisseur de service cloud.
Ces paramètres sont définis par l'administrateur de parc lors de la création de l'infrastructure Exadata Cloud@Customer, comme décrit dans Utilisation de la console pour provisionner Exadata Database Service on Cloud@Customer.
Remarque : la configuration réseau, y compris le proxy HTTP, ne peut être modifiée que jusqu'à ce que l'infrastructure Exadata présente l'état Activation requise. Une fois qu'il est activé, vous ne pouvez pas modifier ces paramètres.
La configuration d'un proxy HTTP pour une infrastructure Exadata déjà provisionnée nécessite une demande de service dans My Oracle Support. Pour plus de détails, reportez-vous à Création d'une demande d'assistance dans My Oracle Support.
Modification des fournisseurs d'identités externes sur la base de données Autonomous AI
Décrit les étapes à suivre afin de passer l'authentification et de l'autorisation (IAM) à un autre fournisseur d'authentification externe, et vice-versa, pour ce fournisseur.
Par défaut, l'authentification et l'autorisation Oracle Cloud Infrastructure (IAM) pour des utilisateurs sont activées pour des bases de données Autonomous AI et des bases de données Conteneur Autonomous nouvellement provisionnées. Il existe d'autres modèles d'authentification externes, tels que les utilisateurs gérés de manière centralisée avec Active Directory (CMU-AD), Azure AD et Kerberos, que vous pouvez activer pour votre base de données Autonomous AI. 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 à la base de données Autonomous AI à l'aide d'un autre modèle d'authentification externe, procédez comme suit :
-
Désactivez l'intégration IAM à l'aide de la procédure DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION :
Exemple :
BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; /Pour en savoir plus, reportez-vous à 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 les utilisateurs IAM pour qu'ils se connectent à Autonomous AI Database à 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 Oracle Cloud Infrastructure (IAM).
Dans cet exemple :
-
forceest défini surTRUEpour désactiver l'authentification externe actuellement activée. -
typeest défini sur'OCI_IAM'pour activer et utiliser l'authentification et l'autorisation Oracle Cloud Infrastructure (IAM).
Remarque : 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, reportez-vous à la section ENABLE_EXTERNAL_AUTHENTICATION Procedure.
-
-
Vérifiez la valeur du paramètre système
IDENTITY_PROVIDER_TYPEcomme indiqué ci-après :SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';NAME VALUE ---------------------- ------- identity_provider_type OCI_IAM
Création de stratégies et de groupes Identity and Access Management (IAM) pour les utilisateurs IAM
Décrit les étapes permettant d'écrire des instructions de stratégie pour un groupe IAM afin de permettre à des utilisateurs IAM d'accéder aux ressources Oracle Cloud Infrastructure, en particulier les instances de base de données Autonomous AI.
Une stratégie est un groupe d'instructions qui indique qui peut accéder à des ressources données et comment. L'accès peut être accordé pour l'ensemble de la location, des bases de données d'un compartiment ou des bases de données individuelles. Cela signifie que vous écrivez une instruction de stratégie qui accorde à un groupe donné un type d'accès spécifique à un type de ressource spécifique dans un compartiment spécifique.
Remarque : la définition d'une stratégie est requise pour utiliser les jetons IAM afin d'accéder à la base de données Autonomous AI. Aucune stratégie n'est requise lorsque vous utilisez des mots de passe de base de données IAM pour accéder à la base de données Autonomous AI.
Afin d'autoriser les utilisateurs IAM à se connecter à la base de donnée à l'aide de jetons IAM, procédez comme suit :
-
Effectuez les prérequis d'Oracle Cloud Infrastructure Identity and Access Management en créant un groupe et en y ajoutant des utilisateurs.
Par exemple, créez le groupe
sales_dbusers.Pour plus d'informations, reportez-vous à Gestion des groupes.
-
Ecrivez des instructions de stratégie pour autoriser l'accès aux ressources Oracle Cloud Infrastructure.
-
Dans la console Oracle Cloud Infrastructure, cliquez sur Identité, sécurité.
-
Sous Identité et sécurité, cliquez sur Stratégies.
-
Pour écrire une stratégie, cliquez sur Créer une stratégie.
-
Dans la page Créer une stratégie, entrez un nom et une description.
-
Sur la page Créer une stratégie, 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 stratégie pour créer une stratégie.
Par exemple, pour créer une stratégie permettant aux utilisateurs du groupe IAM
DBUsersd'accéder à n'importe quelle base de données Autonomous AI dans leur location, procédez comme suit :Allow group DBUsers to use autonomous-database-family in tenancyPar exemple, pour créer une stratégie qui limite l'accès des membres du groupe
DBUsersaux base de données Autonomous AI du compartimenttesting_compartmentuniquement :allow group DBUsers to use autonomous-database-family in compartment testing_compartmentPar exemple, pour créer une stratégie qui limite l'accès de groupe à une base de données unique 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 stratégies IAM permettant d'accéder à la base de données, reportez-vous à Création d'une stratégie IAM pour autoriser les utilisateurs à s'authentifier avec des jetons dans le guide de sécurité de base de données.
-
Cliquez sur Créer.
Pour plus d'informations sur les stratégies, reportez-vous à Gestion des stratégies.
-
Remarques concernant la création de stratégies à utiliser avec les utilisateurs IAM sur la base de données Autonomous AI :
-
Les stratégies permettent à des utilisateurs IAM d'accéder aux instances Autonomous AI Database de l'ensemble de la location ou d'un compartiment. Vous pouvez également limiter l'accès à une instance Autonomous AI Database unique.
-
Vous pouvez utiliser le principal d'instance ou de ressource pour extraire des jetons de base de donnée afin d'établir une connexion entre votre application et une instance Autonomous AI Database. Si vous utilisez un principal d'instance ou de ressource, vous devez mettre un groupe dynamique en correspondance. Par conséquent, vous ne pouvez pas établir de correspondance exclusive entre des principaux d'instance et de ressource. Vous pouvez uniquement les mettre en correspondance via une correspondance partagée et placer l'instance ou l'instance de ressource dans un groupe dynamique IAM.
Vous pouvez créer des groupes dynamiques et les référencer dans les stratégies que vous créez pour accéder à Oracle Cloud Infrastructure. Pour plus d'informations, reportez-vous à Planification des contrôles d'accès et création des ressources de prise en charge et à Gestion des groupes dynamiques.
Ajout d'utilisateurs IAM sur la base de données Autonomous AI
Pour ajouter des utilisateurs IAM afin qu'ils puissent accéder à Autonomous AI Database, mettez en correspondance des utilisateurs globaux des bases de données avec les groupes ou utilisateurs IAM à l'aide d'instructions CREATE USER ou ALTER USER (avec une clause IDENTIFIED GLOBALLY AS).
L'autorisation d'utilisateurs IAM pour une instance Autonomous AI Database fonctionne par le mapping d'utilisateurs globaux IAM (schémas) avec des utilisateurs IAM (correspondance exclusive) ou de groupes IAM (correspondance de schéma partagée).
Pour autoriser les utilisateurs IAM sur une instance de base de données Autonomous AI, procédez comme suit :
-
Connectez-vous en tant qu'utilisateur ADMIN à la base de données qui peut utiliser IAM (l'utilisateur ADMIN dispose des privilèges système
CREATE USERetALTER USERrequis dont vous avez besoin pour ces étapes). -
Créez une correspondance avec l'utilisateur Autonomous AI Database (schéma) à l'aide d'instructions
CREATE USERouALTER USER. Incluez la clauseIDENTIFIED GLOBALLY ASpour préciser le nom de groupe IAM.Utilisez la syntaxe suivante pour mettre en correspondance un utilisateur global avec un groupe IAM :
CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_NAME';Par exemple, pour mettre en correspondance un groupe IAM nommé
db_sales_groupavec 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';Vous créez ainsi une correspondance d'utilisateur global partagé. La correspondance, avec l'utilisateur global
sales_group, s'applique à tous les utilisateurs du groupe IAM. Ainsi, tout membre dedb_sales_grouppeut se connecter à la base de données à l'aide de ses informations d'identification IAM (via la correspondance partagée de l'utilisateur globalsales_group).L'exemple suivant montre comment procéder 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'; -
Si vous voulez créer des correspondances d'utilisateur global supplémentaires pour d'autres groupes ou utilisateurs IAM, suivez ces étapes pour chaque groupe ou utilisateur IAM.
Remarque : les utilisateurs de base de données qui ne sont pas IDENTIFIED GLOBALLY peuvent continuer à se connecter comme avant, même lorsque la base de données Autonomous AI est activée pour l'authentification IAM.
Pour établir une correspondance exclusive d'un utilisateur IAM local et d'un utilisateur global Oracle Database :
-
Connectez-vous en tant qu'utilisateur ADMIN à la base de données qui peut utiliser IAM (l'utilisateur ADMIN dispose des privilèges système
CREATE USERetALTER USERrequis dont vous avez besoin pour ces étapes). -
Créez une mise en correspondance entre l'utilisateur de base de données Autonomous AI (schéma) et les instructions
CREATE USERouALTER USER, et incluez la clauseIDENTIFIED GLOBALLY AS, en indiquant le nom utilisateur IAM local IAM.Par exemple, pour créer un utilisateur global de base de données nommé
peter_fitchet le mettre en correspondance avec un utilisateur IAM 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 par défaut,
sales_domain:CREATE USER peter_fitch2 IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=sales_domain/peterfitch';
Ajouter des rôles IAM sur une base de données d'IA autonome
Vous pouvez éventuellement créer des rôles globaux pour fournir des privilèges et des rôles de base de données supplémentaires aux utilisateurs IAM lorsque plusieurs utilisateurs IAM sont mis en correspondance avec le même utilisateur global partagé.
L'utilisation de rôles globaux est facultative lors de l'utilisation d'une mise en correspondance IAM exclusive avec un utilisateur (schéma) ou d'une mise en correspondance utilisateur partagée sur une base de données Autonomous AI. Tous les privilèges et rôles peuvent par exemple être accordés au schéma partagé. Les utilisateurs IAM mis en correspondance avec le schéma partagé se voient alors tous accorder les privilèges et rôles affectés à ce schéma.
Vous pouvez utiliser un rôle global pour éventuellement différencier les utilisateurs qui emploient le même schéma partagé. Par exemple, tout un ensemble d'utilisateurs peut disposer du même schéma partagé, qui comporte le privilège CREATE SESSION. Les rôles globaux peuvent alors être utilisés pour affecter 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 la base de données Autonomous AI fonctionne par la mise à correspondance des rôles globaux Autonomous AI Database avec des groupes IAM.
Afin de mettre en correspondance des rôles globaux de base de données Autonomous AI avec des groupes IAM, procédez ainsi :
-
Connectez-vous en tant qu'utilisateur ADMIN à la base de données qui peut utiliser IAM (l'utilisateur ADMIN dispose des privilèges système
CREATE USERetALTER USERrequis dont vous avez besoin pour ces étapes). -
Définissez l'autorisation de base de données pour les rôles de base de données Autonomous AI à l'aide d'instructions
CREATE ROLEouALTER ROLE. Incluez la clauseIDENTIFIED GLOBALLY ASpour préciser le nom de groupe IAM.Utilisez la syntaxe suivante pour mettre en correspondance un rôle global et un groupe IAM :
CREATE ROLE global_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_of_WHICH_the_IAM_USER_IS_a_MEMBER';Par exemple, pour mettre en correspondance un groupe IAM nommé
ExporterGroupavec 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 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_domainsont autorisés avec le rôle global de base de donnéesexport_rolelorsqu'ils se connectent à la base de données. -
Utilisez des instructions
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; -
Si vous voulez qu'un rôle de base de données existant soit associé à un groupe IAM, utilisez l'instruction
ALTER ROLEpour modifier le rôle de base de données existant afin de le mettre en correspondance avec un groupe IAM. Utilisez la syntaxe suivante pour modifier un rôle de base de données existant afin de le mettre en correspondance avec un groupe IAM :ALTER ROLE existing_database_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_Group_Name';
Si vous voulez ajouter des correspondances de rôle global supplémentaires pour d'autres groupes IAM, suivez ces étapes pour chaque groupe IAM.
Création d'un mot de passe de base de données IAM pour les utilisateurs IAM
Pour ajouter un utilisateur IAM et autoriser l'utilisateur IAM à se connecter à la base de données Autonomous AI en indiquant un nom utilisateur et un mot de passe, vous devez créer un mot de passe de base de données IAM.
Pour plus d'informations, reportez-vous à Utilisation des mots de passe de base de données IAM.
Connexion à la base de données Autonomous AI avec l'authentification Identity and Access Management (IAM)
Une fois que l'utilisateur ADMIN de base de données met en correspondance les utilisateurs globaux et les rôles globaux avec les utilisateurs IAM et les groupes IAM, les utilisateurs se connectent à l'instance de base de données Autonomous AI à l'aide de leurs informations d'identification Oracle Cloud Infrastructure IAM ou accèdent à la base de données via un jeton de base de données Oracle Cloud Infrastructure IAM.
Vous pouvez toujours vous connecter à la base de données Autonomous AI à l'aide du nom utilisateur et du mot de passe de votre compte de base de données local (compte utilisateur de base de données non global).
Vous pouvez utiliser un client de base de données pour accéder à une instance de base de données Autonomous AI en tant qu'utilisateur Oracle Cloud Infrastructure IAM. Pour qu'un client puisse utiliser des informations d'identification de nom d'utilisateur et de mot de passe Oracle Cloud Infrastructure IAM, le client de base de données doit être de version12c ou ultérieure.
Vous pouvez également utiliser un jeton de base de données Oracle Cloud Infrastructure IAM pour accéder à une instance de base de données Autonomous AI avec les clients pris en charge :
-
JDBC Thin (avec prise en charge de l'authentification par jeton IAM) est pris en charge dans les cas suivants :
-
JDBC version 19.13.0.0.1 (ou ultérieure) : reportez-vous à Téléchargements JDBC et UCP pour les pilotes JDBC.
-
JDBC version 21.4.0.0.1 (ou ultérieure) : reportez-vous à Téléchargements JDBC et UCP pour les pilotes JDBC.
Pour plus d'informations, reportez-vous à Prise en charge de l'authentification basée sur un jeton IAM :
-
-
SQL*Plus et Oracle Instant Client : prise en charge avec SQL*Plus et Instant Client sur Linux version 19.13 ou ultérieure, et avec Instant Client sur Linux version 21.4 ou ultérieure.
Pour plus d'informations, reportez-vous à Authentification basée sur un jeton Identity and Access Management (IAM).
-
The database client can also be configured to retrieve a database token using the IAM username and IAM database password.
Pour plus d'informations, reportez-vous à Connexions client utilisant un jeton demandé par le nom utilisateur et le mot de passe des bases de données IAM.
-
Clients .NET (dernière version de Linux ou Windows). Les composants logiciels .NET sont disponibles en téléchargement gratuit sur les sites suivants :
Remarque : si l'instance de base de données Autonomous AI est en mode restreint, seuls les utilisateurs disposant du privilège RESTRICTED SESSION (par exemple ADMIN) peuvent se connecter à la base de données.
A propos de la connexion à une base de données Autonomous AI sur une instance d'infrastructure Exadata dédiée à l'aide d'IAM
Les utilisateurs IAM peuvent se connecter à l'instance de base de données Autonomous AI sur une infrastructure Exadata dédiée à l'aide d'un vérificateur du 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 IAM est semblable au processus d'authentification par mot de passe Oracle Database. Toutefois, plutôt que d'être stocké dans la base de donnée Autonomous AI sur une infrastructure Exadata dédiée, le vérificatrice est stocké avec le profil utilisateur Oracle Cloud Infrastructure (OCI) IAM au lieu de l'être.
La seconde méthode de connexion, qui consiste à utiliser un jeton IAM pour la base de données, est plus moderne. L'utilisation de l'accès basé sur des jetons convient mieux aux ressources cloud telles que la base de données Autonomous AI sur une infrastructure Exadata dédiée. Le jeton est basé sur la sécurité appliquée par l'adresse IAM. Il peut s'agir d'une authentification à plusieurs facteurs, plus forte que les simples mots de passe. L'utilisation de jetons présente un autre avantage : le vérificateur de mot de passe (considéré comme sensible) n'est jamais stocké ni disponible en mémoire.
Connexions client utilisant un vérificateur de mot de passe de base de données IAM
Une fois que vous avez configuré l'autorisation nécessaire pour l'utilisateur IAM, ce dernier peut se connecter à l'aide d'une application client existante, telle que SQL*Plus ou SQLcl, sans configuration supplémentaire.
L'utilisateur IAM saisit le nom utilisateur IAM et le mot de passe de base de données IAM (et non le mot de passe de la console Oracle Cloud Infrastructure (OCI)) à l'aide de n'importe quel client de base de données pris en charge. La seule contrainte est que la version du client de base de données soit au moins Oracle Database 12.1.0.2 afin d'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 cryptage du vérificateur 11G n'est pas prise en charge avec IAM. Aucune configuration spéciale du client ou de l'outil n'est nécessaire pour que l'utilisateur IAM se connecte à l'instance d'infrastructure Exadata dédiée.
Connexions client utilisant un jeton
Pour l'accès par jeton IAM à la base de donnée Autonomous AI sur une infrastructure Exadata dédiée, l'application ou l'outil client demande un jeton de base de donnée à IAM pour l'utilisateur IAM.
L'application client transmet le jeton de base de données directement au client de base de données via l'API client de base de données.
Si l'application ou l'outil n'a pas été mis à jour et ne peut pas demander de jeton IAM, l'utilisateur IAM peut employer l'interface de ligne de commande Oracle Cloud Infrastructure (OCI) 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 informations d'identification suivantes :
-
Jetons de sécurité (avec l'authentification IAM), jetons de délégation (dans OCI Cloud Shell) et
clés d'API, à savoir des informations d'identification représentant l'utilisateur IAM pour permettre l'authentification -
Jetons de principal d'instance, qui permettent aux instances d'être des acteurs autorisés (ou des principaux) et d'effectuer des actions sur les ressources du service après authentification
-
Jeton de principal de ressource, à savoir des informations d'identification permettant à l'application de s'authentifier auprès d'autres services Oracle Cloud Infrastructure
Lorsque les utilisateurs IAM se connectent au client avec une connexion à barre oblique (/) et que le paramètre OCI_IAM est configuré (sqlnet.ora, tnsnames.ora ou dans le cadre d'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 IAM soumet un nom utilisateur et un mot de passe, la connexion utilise l'accès de vérificateur de base de données IAM décrit pour les connexions client qui emploient des vérificateurs de mot de passe de base de données IAM. Les instructions de ce guide indiquent comment utiliser l'interface de ligne de commande OCI en tant qu'application d'aide pour le jeton de base de données. Si l'application ou l'outil a été mis à jour pour fonctionner avec IAM, suivez les instructions de l'application ou de l'outil. Voici quelques cas d'emploi courants : SQL*Plus sur site, SQLcl sur site, SQL*Plus dans Cloud Shell ou applications utilisant des portefeuilles SEP.
Les rubriques suivantes expliquent ces procédures :
-
Configuration d'une connexion client pour SQL*Plus en vue de l'utilisation d'un mot de passe de base de données IAM
-
Configuration d'une connexion client pour SQL*Plus en vue de l'utilisation d'un jeton IAM
-
Accès à la base de données via un jeton de base de données Oracle Cloud Infrastructure IAM à l'aide d'un principal d'instance
Configuration pour SQL*Plus d'une connexion client utilisant un mot de passe de base de données IAM
Vous pouvez configurer SQL*Plus en vue de l'utilisation d'un mot de passe de base de données IAM.
-
En tant qu'utilisateur IAM, connectez-vous à l'instance de base de données Autonomous AI en utilisant la syntaxe suivante :
CONNECT user_name@db_connect_string Enter password: passwordDans cet exemple,
user_nameest le nom utilisateur IAM. Il existe une limite de 128 octets pour la combinaisondomain_name/user_name.L'exemple suivant montre comment l'utilisateur IAM
peter_fitchpeut Se connecter à un instance Autonomous AI Database.sqlplus /nolog connect peter_fitch@db_connect_string Enter password: passwordCertains caractères spéciaux requièrent l'utilisation de guillemets autour du nom utilisateur (
user_name) et du mot de passe (password). Exemple :"peter_fitch@example.com"@db_connect_string "IAM database password"
Configuration pour SQL*Plus d'une connexion client utilisant un jeton IAM
Vous pouvez configurer une connexion client pour SQL*Plus en vue de l'utilisation d'un jeton IAM.
-
Assurez-vous que vous disposez d'un compte utilisateur IAM.
-
Vérifiez auprès d'un administrateur IAM et d'un administrateur Oracle Database que vous disposez d'une stratégie vous permettant d'accéder à la base de données dans le compartiment ou dans la location, et que vous avez été mise en correspondance avec un schéma global dans la base de données.
-
Si votre application ou outil ne prend pas en charge l'intégration IAM directe, téléchargez, installez et configurez l'interface de ligne de commande OCI. (Reportez-vous à Démarrage rapide de 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 des valeurs par défaut.
-
Configurez l'accès à la clé d'API de l'utilisateur IAM.
-
Extrayez la valeur
db-token. Exemple :-
Extraction d'une valeur
db-tokenavecAPI-keyà l'aide de l'interface de ligne de commande Oracle Cloud Infrastructure (OCI) :oci iam db-token get -
Extraction d'une valeur
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 apparaît afin que l'utilisateur puisse de nouveau se connecter à OCI. Cela génère le jeton de sécurité de l'utilisateur. L'interface de ligne de commande OCI utilise ce jeton actualisé pour obtenir la valeur
db-token. -
Extraction d'une valeur
db-tokenavec un jeton de délégation : lorsque vous vous connectez à Cloud Shell, le jeton de délégation est automatiquement généré 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
-
-
The database client can also be configured to retrieve a database token using the IAM username and IAM database password.
Pour plus d'informations, reportez-vous à Connexions client utilisant un jeton demandé par le nom utilisateur et le mot de passe des bases de données IAM.
Pour plus d'informations, reportez-vous à Clés et OCID requis.
-
-
Vérifiez que vous utilisez les dernières mises à jour de version du client Oracle Database 19c et 21c.
Cette configuration fonctionne uniquement avec le client Oracle Database 19c ou 21c.
-
Suivez le processus existant pour télécharger le portefeuille à partir de la base de données Autonomous AI. Ensuite, suivez les instructions permettant du configurer en Vue d'une utilisation avec SQL*Plus.
-
Recherchez
SSL_SERVER_DN_MATCH=ONdanssqlnet.orapour vérifier que la correspondance de nom distinctif est activée. -
Ajoutez
TOKEN_AUTH=OCI_TOKENau fichiersqlnet.orapour configurer le client de base de données de sorte qu'il utilise le jeton IAM. Etant donné que vous utiliserez les emplacements par défaut pour le fichier de jeton de base de données, vous n'avez pas besoin d'inclure d'emplacement de jeton.
Les valeurs
TOKEN_AUTHetTOKEN_LOCATIONdes chaînes de connexiontnsnames.orasont prioritaires sur les paramètressqlnet.orade la connexion. Par exemple, pour la chaîne de connexion, en supposant que le jeton se trouve à 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 des connexions mise à jour avec le paramètre TOKEN_AUTH, l'utilisateur IAM peut Se connecter à l'instance de base de donnée Autonomous AI 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, qui figure 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 une valeur db-token car TOKEN_AUTH a déjà été défini, via le fichier sqlnet.ora ou dans une chaîne de connexion. Le client de base de données obtient la valeur db-token et le signe à l'aide de La clé privée. Le jeton est ensuite envoyé à la base de données Autonomous AI. Si un nom utilisateur et un mot de passe de base de données IAM sont indiqués au lieu de la barre oblique (/), le client de base de données se connecte à l'aide du mot de passe au lieu de la valeur db-token.
Utilisation du principal d'instance pour accéder à la base de données Autonomous AI avec l'authentification Identity and Access Management (IAM)
Une fois que l'utilisateur ADMIN a activé l'instance Oracle Cloud Infrastructure IAM sur Autonomous AI Database, une application peut accéder à la base d'informations via un jeton de base d'informations Oracle Cloud Infrastructure IAM à l'aide d'un principal d'instance.
Pour plus d'informations, reportez-vous à Accès à l'API Oracle Cloud Infrastructure à l'aide de principaux d'instance.
Configuration de l'authentification par proxy
L'authentification par proxy permet à un utilisateur IAM d'accéder via un proxy à un schéma de base de données pour des tâches telles que la maintenance d'application.
L'authentification par proxy est généralement utilisée afin d'authentifier l'utilisateur réel, puis de l'autoriser à utiliser un schéma de base de données, avec les rôles et privilèges associés, pour gérer une application. Les alternatives telles que le partage du mot de passe de schéma d'application sont considérées comme non sécurisées et ne permettant pas d'auditer l'utilisateur réel qui a effectué une action.
Exemple de cas d'emploi : environnement où un utilisateur IAM nommé, qui est administrateur de base de données d'application, peut s'authentifier à l'aide de ses informations d'identification, puis accéder via un proxy à un utilisateur de schéma de base de données (par exemple, hrapp). Cette authentification permet à l'administrateur IAM d'utiliser, en tant qu'utilisateur hrapp, les privilèges et rôles hrapp afin d'effectuer la maintenance d'application, tout en se servant de ses informations d'identification IAM pour l'authentification. Un administrateur de base de données d'application peut se connecter à la base de données, puis accéder via un proxy à un schéma d'application pour le gérer.
Vous pouvez configurer l'authentification par proxy pour les méthodes d'authentification par mot de passe et par jeton.
Configurer l'authentification par proxy pour l'utilisateur IAM
Afin que vous puissiez configurer l'authentification par proxy pour un utilisateur IAM, ce dernier doit déjà disposer d'une correspondance (exclusive ou partagée) avec un schéma global. Un schéma de base de données distinct, auquel l'utilisateur IAM accédera via un proxy, 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 afin d'autoriser l'utilisateur IAM à y accéder via un proxy.
-
Connectez-vous à l'instance Autonomous AI Database en tant qu'utilisateur disposant des privilèges système
ALTER USER. -
Autorisez l'utilisateur IAM à accéder via un proxy au compte utilisateur de base de données local. Vous ne pouvez pas référencer d'utilisateur IAM dans la commande. Le proxy doit donc être créé entre l'utilisateur global de base de données (mis en correspondance avec l'utilisateur IAM) et l'utilisateur de base de données cible. Dans l'exemple suivant,
hrappest le schéma de base de données auquel accéder via un proxy etpeterfitch_schemal'utilisateur global de base de données en correspondance exclusive avec l'utilisateurpeterfitch.ALTER USER hrapp GRANT CONNECT THROUGH peterfitch_schema;
A ce stade, l'utilisateur IAM peut se connecter à l'instance de base de données à l'aide du proxy. 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 proxy d'utilisateur IAM
Vous pouvez valider la configuration de proxy d'utilisateur IAM 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 de privilèges système CREATE USER et ALTER USER.
-
Connectez-vous en tant qu'utilisateur IAM et exécutez les commandes
SHOW USERetSELECT SYS_CONTEXT. Par exemple, supposons que vous vouliez vérifier l'authentification par proxy de l'utilisateur IAMpeterfitchlorsqu'il accède via un proxy à 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 indiqués ici. Toutefois, la sortie des commandes que vous exécutez sera 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"
Utilisation du lien de base de données avec des utilisateurs authentifiés IAM
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 Oracle Cloud Infrastructure IAM.
Vous pouvez utiliser un lien de base de données utilisateur connecté ou utilisateur fixe pour vous connecter à une base de données Autonomous AI en tant qu'utilisateur Oracle Cloud Infrastructure IAM.
Remarque : le lien de base de données utilisateur en cours n'est pas pris en charge pour la connexion à une base de données Autonomous AI en tant qu'utilisateur Oracle Cloud Infrastructure IAM.
-
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 mis En correspondance avec un schéma dans les bases de donnée source et cible connectées par le 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 IAM pour employer un lien de base de données d'utilisateur connecté.
-
Lien de base de données d'utilisateur fixe : un lien d'utilisateur fixe peut être créé à l'aide d'un utilisateur de base de données ou IAM. Lorsque vous utilisez un utilisateur IAM en tant que lien de base de données d'utilisateur fixe, l'utilisateur IAM doit disposer d'une correspondance de schéma dans la base de données cible. L'utilisateur IAM d'un lien de base de données peut être configuré uniquement avec un vérificateur de mot de passe.
Désactivation de l'identification Identity and Access Management (IAM) sur la base de données Autonomous AI
Examinez les étapes permettant de désactiver l'accès utilisateur d'authentification externe IAM pour la base de données Autonomous AI.
Vous pouvez désactiver l'accès utilisateur IAM sur l'instance de base de données Autonomous AI à l'aide de la commande ALTER SYSTEM, comme indiqué ci-après :
ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;
Si vous voulez également mettre à jour l'accès à IAM à partir de la ressource, à savoir la base de données Conteneur Autonomous ou la base de données AI Autonomous, vous devrez peut-être enlever ou modifier le groupe IAM et les stratégies que vous configurez pour autoriser l'accès à IAM à partir de ces ressources.
Remarques relatives à l'utilisation des outils de base de données Autonomous AI avec l'authentification Identity and Access Management (IAM)
Fournit des remarques sur l'utilisation des outils Autonomous AI Database avec l'authentification IAM activée.
-
Oracle APEX n'est pas pris en charge pour les utilisateurs IAM avec Autonomous AI Database. Reportez-vous à Accès aux services d'administration Oracle Application Express pour plus d'information sur l'utilisation d'utilisateurs de base de donnée standard avec Autonomous AI Database.
-
Database Actions n'est pas pris en charge pour les utilisateurs IAM avec la base de données Autonomous AI. Pour plus d'informations sur l'utilisation d'utilisateurs standard avec Autonomous AI Database, reportez-vous à l'activation de l'accès utilisateur à Database Actions.