Utilisation de l'authentification Identity and Access Management (IAM) avec Autonomous Database
Remarques :
L'intégration d'Autonomous Database à Oracle Cloud Infrastructure (OCI) IAM est prise en charge dans les locations commerciales avec des domaines d'identité, ainsi que dans Oracle Cloud Infrastructure IAM hérité, 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 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 Autonomous Database
L'intégration d'Oracle Cloud Infrastructure IAM à Autonomous Database prend en charge 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 autonomes Oracle afin d'obtenir des détails complets sur l'architecture permettant d'utiliser des utilisateurs IAM sur Autonomous Database.
Authentification par mot de passe de base de données IAM
Remarques :
Tout client de base de données 12c et supérieur pris en charge peut être utilisé pour l'accès par mot de passe de base de données IAM à Autonomous Database.Un mot de passe de base de données Oracle Cloud Infrastructure IAM permet à un utilisateur IAM de se connecter à une instance Autonomous Database, les utilisateurs Oracle Database se connectant généralement avec un nom utilisateur et un 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 vous connecter à Autonomous Database avec n'importe quel client de 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 de ressource ou d'instance Oracle Cloud Infrastructure IAM pour obtenir un jeton de base de données IAM, et employer ce dernier afin de s'authentifier auprès d'une instance Autonomous Database.
-
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 à la section A propos de l'authentification et de l'autorisation d'utilisateurs IAM pour Oracle Autonomous Database afin d'obtenir une description d'autres méthodes, telles que l'utilisation d'un jeton de délégation dans OCI Cloud Shell.
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 Autonomous Database
Avant d'utiliser l'authentification Identity and Access Management (IAM) sur Autonomous Database, 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 sur lesquels résident vos ressources Autonomous Database.
- Créez une passerelle de service dans le réseau cloud virtuel sur lequel résident vos ressources Autonomous Database en suivant les instructions de Tâche 1 : créer la passerelle de service dans la documentation Oracle Cloud Infrastructure.
- Après avoir créé la passerelle de service, ajoutez une règle de routage et une règle de sécurité sortante à chaque sous-réseau (dans le réseau cloud virtuel) sur lequel résident les ressources Autonomous Database afin que ces ressources puissent utiliser la passerelle pour recourir à l'authentification Identity and Access Management (IAM) :
- Accédez à la page Détails du 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 la page Détails de la table de routage correspondante.
- Dans la table des règles de routage existantes, vérifiez s'il existe déjà une règle avec 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 possédant ces caractéristiques.
- Revenez à la page Détails du 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 la page Détails de la liste de sécurité correspondante.
- Dans le menu latéral, sous Resources, cliquez sur Egress Rules.
- 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 les services IAD dans Oracle Services Network
- Protocole IP : TCP
- Plage de ports source : 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 présentant ces caractéristiques.
Les paramètres de proxy HTTP de votre environnement doivent permettre à la base de données d'accéder au fournisseur de services cloud.
Remarques :
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 activé, vous ne pouvez plus modifier ces paramètres.La configuration d'un proxy HTTP pour une infrastructure Exadata déjà provisionnée nécessite une demande de service (SR) dans My Oracle Support. Pour plus d'informations, reportez-vous à Création d'une demande d'assistance dans My Oracle Support.
Modification des fournisseurs d'identités externes sur Autonomous Database
Décrit les étapes à suivre afin de passer de l'authentification et de l'autorisation (IAM) à un autre fournisseur d'authentification externe, etc.
Par défaut, l'authentification et l'autorisation Oracle Cloud Infrastructure (IAM) pour les utilisateurs sont activées pour les instances Autonomous Database et les bases de données Conteneur Autonomous nouvellement provisionnées. 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, peuvent être activés pour votre instance Autonomous Database. Cependant, un seul modèle d'authentification externe peut être activé à la fois.
- Désactivez l'intégration IAM à l'aide de la procédure DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION :
Exemple :
Pour plus d'informations, reportez-vous à Procédure DISABLE_EXTERNAL_AUTHENTICATION.BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; /
- Suivez les étapes décrites dans les pages suivantes pour configurer un autre modèle d'authentification externe de votre choix :
- Réactivez la possibilité pour les utilisateurs IAM de se connecter à Autonomous 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 :force
est défini surTRUE
pour désactiver l'authentification externe actuellement activée.type
est défini sur'OCI_IAM'
pour activer et utiliser l'authentification et l'autorisation Oracle Cloud Infrastructure (IAM).
Remarques :
Par défaut, le paramètreforce
estFALSE
. Lorsqu'une autre méthode d'authentification externe est activée et que le paramètreforce
est défini surFALSE
, DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION signale l'erreur suivante :ORA-20004: Another external authentication is already enabled.
Pour plus d'informations, reportez-vous à Procédure ENABLE_EXTERNAL_AUTHENTICATION.
- Vérifiez la valeur du paramètre système
IDENTITY_PROVIDER_TYPE
comme 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 aux utilisateurs IAM d'accéder aux ressources Oracle Cloud Infrastructure, en particulier aux instances Autonomous Database.
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.
Remarques :
La définition d'une stratégie est requise pour utiliser des jetons IAM afin d'accéder à Autonomous Database. Aucune stratégie n'est requise lorsque vous utilisez des mots de passe de base de données IAM pour accéder à Autonomous Database.Afin qu'Autonomous Database autorise les utilisateurs IAM à se connecter à la base de données à l'aide de jetons IAM, procédez comme suit :
Remarques relatives à la création de stratégies à utiliser avec des utilisateurs IAM sur Autonomous Database :
-
Les stratégies permettent aux utilisateurs IAM d'accéder aux instances Autonomous Database de l'ensemble de la location ou d'un compartiment. Vous pouvez aussi limiter l'accès à une instance Autonomous Database unique.
-
Vous pouvez utiliser le principal d'instance ou de ressource pour extraire des jetons de base de données afin d'établir une connexion entre votre application et une instance Autonomous 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 Autonomous Database
Pour ajouter des utilisateurs IAM afin qu'ils puissent accéder à Autonomous Database, mettez en correspondance des utilisateurs globaux de base de données avec des groupes ou utilisateurs IAM à l'aide d'instructions CREATE USER
ou ALTER USER
(avec la clause IDENTIFIED GLOBALLY AS
).
L'autorisation d'utilisateurs IAM pour une instance Autonomous Database fonctionne par la mise en correspondance d'utilisateurs globaux IAM (schémas) avec des utilisateurs IAM (correspondance exclusive) ou des groupes IAM (correspondance de schéma partagée).
Pour autoriser les utilisateurs IAM sur une instance Autonomous Database, procédez comme suit :
Remarques :
Les utilisateurs de base de données qui ne sont pasIDENTIFIED GLOBALLY
peuvent continuer à se connecter comme auparavant, même lorsque l'authentification IAM est activée pour Autonomous Database.
Procédure de mise en correspondance exclusive d'un utilisateur IAM local avec 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 USER
etALTER USER
requis dont vous avez besoin pour ces étapes). -
Créez une correspondance avec l'utilisateur Autonomous Database (schéma) à l'aide d'instructions
CREATE USER
ouALTER USER
. Incluez la clauseIDENTIFIED GLOBALLY AS
pour préciser le nom de l'utilisateur IAM local.Par exemple, pour créer un utilisateur global de base de données nommé
peter_fitch
et 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 indiquant un domaine autre que celui par défaut,
sales_domain
:CREATE USER peter_fitch2 IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=sales_domain/peterfitch';
Ajout de rôles IAM sur Autonomous Database
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 correspondance IAM exclusive avec l'utilisateur (schéma) ou d'une correspondance avec l'utilisateur partagé sur Autonomous Database. 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 utilisent 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 à des utilisateurs IAM dans Autonomous Database fonctionne par la mise en correspondance de rôles globaux Autonomous Database avec des groupes IAM.
Pour mettre en correspondance des rôles globaux Autonomous Database avec des groupes IAM, procédez comme suit :
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 l'autoriser à se connecter à Autonomous Database en fournissant 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 à Autonomous Database avec l'authentification Identity and Access Management (IAM)
Une fois que l'utilisateur ADMIN de base de données a mis en correspondance les utilisateurs et les rôles globaux avec les utilisateurs et les groupes IAM, les utilisateurs se connectent à l'instance Autonomous Database à 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 autonome à 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 Autonomous Database en tant qu'utilisateur Oracle Cloud Infrastructure IAM. Pour utiliser un client avec des informations d'identification de nom utilisateur et de mot de passe Oracle Cloud Infrastructure IAM et un vérificateur de mot de passe, le client de base de données doit être 12c ou plus récent.
-
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).
-
Le client de base de données peut également être configuré pour extraire un jeton de base de données à l'aide du nom utilisateur IAM et du mot de passe de base de données IAM.
Pour plus d'informations, reportez-vous à Connexions client utilisant un jeton demandé par un nom utilisateur et un mot de passe de base 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 :
Remarques :
Si votre instance Autonomous Database 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 instance Autonomous Database on Dedicated Exadata Infrastructure à l'aide d'IAM
Les utilisateurs IAM peuvent se connecter à l'instance Autonomous Database on Dedicated Exadata Infrastructure à 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 IAM est semblable au processus d'authentification par mot de passe Oracle Database. Toutefois, plutôt que d'être stocké dans Autonomous Database on Dedicated Exadata Infrastructure, le vérificateur de mot de passe (hachage crypté du mot de passe) est stocké avec le profil utilisateur Oracle Cloud Infrastructure (OCI) IAM.
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 un jeton convient mieux aux ressources cloud telles qu'Autonomous Database on Dedicated Exadata Infrastructure. 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 client ou outil n'est nécessaire pour que l'utilisateur IAM se connecte à l'instance Autonomous Database on Dedicated Exadata Infrastructure.
Connexions client utilisant un jeton
Pour l'accès par jeton IAM à Autonomous Database on Dedicated Exadata Infrastructure, l'application ou l'outil client demande à IAM un jeton de base de données 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.
-
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.
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.
TOKEN_AUTH
, l'utilisateur IAM peut se connecter à l'instance Autonomous 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, 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 la signe à l'aide de la clé privée. Il envoie ensuite le jeton à l'instance Autonomous Database. 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 à Autonomous Database avec l'authentification Identity and Access Management (IAM)
Une fois que l'utilisateur ADMIN a activé Oracle Cloud Infrastructure IAM sur Autonomous Database, une application peut accéder à la base de données via un jeton de base de données 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.
Configuration de 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.
-
Connectez-vous à l'instance Autonomous 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,
hrapp
est le schéma de base de données auquel accéder via un proxy etpeterfitch_schema
l'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 :
CONNECT peterfitch[hrapp]@connect_string
Enter password: password
CONNECT [hrapp]/@connect_string
Validation de l'authentification par proxy d'utilisateur IAM
-
Connectez-vous à l'instance Autonomous Database en tant qu'utilisateur disposant des privilèges système
CREATE USER
etALTER USER
. -
Connectez-vous en tant qu'utilisateur IAM et exécutez les commandes
SHOW USER
etSELECT SYS_CONTEXT
. Par exemple, supposons que vous vouliez vérifier l'authentification par proxy de l'utilisateur IAMpeterfitch
lorsqu'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 Database à une autre en tant qu'utilisateur Oracle Cloud Infrastructure IAM.
Vous pouvez utiliser un lien de base de données d'utilisateur connecté ou fixe pour vous connecter à une base de données autonome en tant qu'utilisateur Oracle Cloud Infrastructure IAM.
Remarques :
Le lien de base de données d'utilisateur en cours n'est pas pris en charge pour la connexion à Autonomous Database 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ées 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 de base de données 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'authentification Identity and Access Management (IAM) sur Autonomous Database
Décrit les étapes permettant de désactiver l'accès utilisateur d'authentification externe IAM pour Autonomous Database.
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, c'est-à-dire la base de données Conteneur Autonomous ou la base de données autonome, vous devrez peut-être enlever ou modifier le groupe IAM et les stratégies configurées pour autoriser l'accès à IAM à partir de ces ressources.
Remarques relatives à l'utilisation des outils Autonomous Database avec l'authentification Identity and Access Management (IAM)
Fournit des remarques sur l'utilisation des outils Autonomous Database avec l'authentification IAM activée.
- Oracle APEX n'est pas pris en charge pour les utilisateurs IAM avec Autonomous Database. Reportez-vous à Accès aux services d'administration Oracle Application Express pour plus d'informations sur l'emploi d'utilisateurs de base de données standard avec Autonomous Database.
-
Database Actions n'est pas pris en charge pour les utilisateurs IAM avec Autonomous Database. Reportez-vous à Activation de l'accès utilisateur à Database Actions pour plus d'informations sur l'emploi d'utilisateurs de base de données standard avec Autonomous Database.