Utiliser l'authentification du service de gestion des identités et des accès (GIA) avec une base de données autonome
Note :
L'intégration d'Autonomous Database avec IAM pour Oracle Cloud Infrastructure (OCI) est prise en charge dans les locations commerciales avec des domaines d'identité, ainsi que dans le service IAM pour Oracle Cloud Infrastructure existant, qui n'inclut pas les 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 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 du service de gestion des identités et des accès (GIA) avec une base de données autonome
L'intégration du service GIA pour Oracle Cloud Infrastructure avec les bases de données autonomes prend en charge l'authentification par mot de passe de base de données et par jeton. Voir Authentification et autorisation des utilisateurs GIA pour les bases de données autonomes Oracle pour des informations détaillées sur l'architecture requise pour utiliser des utilisateurs GIA dans une base de données autonome.
Authentification par mot de passe de base de données GIA
Note :
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 GIA pour Oracle Cloud Infrastructure permet à un utilisateur GIA de se connecter à une instance de base de données autonome comme 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 GIA avec le vérificateur de mot de passe, vous pouvez vous connecter à une base de données autonome 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 d'instance ou un principal de ressource GIA d'Oracle Cloud Infrastructure pour obtenir un jeton de base de données GIA et utiliser ce jeton pour s'authentifier auprès d'une instance de base de données 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 GIA pour une base de données Oracle autonome pour 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 entre un nom d'utilisateur/mot de passe pour se connecter, le pilote de base de données utilise la méthode de vérification du mot de passe pour accéder à la base de données, quel que soit le paramètre de jeton de base de données du client.
Préalables à l'authentification GIA dans une base de données autonome
Avant d'utiliser l'authentification par le service de gestion des identités et des accès (IAM) sur Autonomous Database, vous devez vous assurer des éléments suivants :
Utilisez le service de réseau pour ajouter une passerelle de service, une règle de routage et une règle de sécurité de trafic sortant au VCN (réseau en nuage virtuel) et aux sous-réseaux où résident vos ressources Autonomous Database.
- Créez une passerelle de service dans le réseau en nuage virtuel où résident vos ressources de base de données autonome en suivant les instructions sous 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 des ressources de base de données autonome afin que ces ressources puissent utiliser la passerelle pour utiliser l'authentification GIA :
- Allez à la page Détails du sous-réseau correspondante.
- In the Subnet Information tab, click the name of the subnet's Route Table to display its Route Table Details page.
- 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.
- 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é.
- 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 : Tous
- Intervalle de ports de destination : 443
- Si une telle règle n'existe pas, cliquez sur Ajouter des règles de trafic sortant et ajoutez une règle de trafic sortant avec ces caractéristiques.
Les paramètres de mandataire HTTP de votre environnement doivent permettre à la base de données d'accéder au fournisseur de services en nuage.
Note :
La configuration réseau, y compris le mandataire HTTP, ne peut être modifiée que jusqu'à ce que l'infrastructure Exadata ait l'état Activation requise. Une fois activé, vous ne pouvez pas modifier ces paramètres.La configuration d'un mandataire HTTP pour une infrastructure Exadata déjà provisionnée nécessite une demande de service dans My Oracle Support. Pour plus de détails, voir Créer une demande de service dans My Oracle Support.
Modifier les fournisseurs d'identités externes dans la base de données autonome
Décrit les étapes de modification du fournisseur d'identités externe de l'authentification et de l'autorisation (IAM) à un autre fournisseur d'authentification externe et vice-versa.
L'authentification et l'autorisation pour les utilisateurs d'Oracle Cloud Infrastructure (IAM) sont activées pour les nouvelles bases de données Autonomous Database et conteneur autonomes provisionnées, par défaut. 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 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 :
Par exemple :
Pour des informations supplémentaires, voir 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 les utilisateurs IAM pour qu'ils se connectent à 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 qui active l'authentification et l'autorisation pour Oracle Cloud Infrastructure (IAM).
Dans cet exemple :force
est réglé àTRUE
pour désactiver l'authentification externe actuellement activée.type
est réglé à'OCI_IAM'
pour activer et utiliser l'authentification et l'autorisation Oracle Cloud Infrastructure (IAM).
Note :
Par défaut, le paramètreforce
estFALSE
. Lorsqu'une autre méthode d'authentification externe est activée et queforce
a la valeurFALSE
, DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION signale l'erreur suivante :ORA-20004: Another external authentication is already enabled.
Voir Procédure ENABLE_EXTERNAL_AUTHENTICATION pour plus de référence.
- Vérifiez la valeur du paramètre système
IDENTITY_PROVIDER_TYPE
comme indiqué ci-dessous :SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type'; NAME VALUE ---------------------- ------- identity_provider_type OCI_IAM
Créer des groupes et des politiques de gestion des identités et des accès pour les utilisateurs GIA
Décrit les étapes pour écrire des énoncés de politique pour un groupe GIA afin de permettre aux utilisateurs GIA d'accéder aux ressources Oracle Cloud Infrastructure, en particulier aux instances de base de données autonome.
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 Database. Aucune politique n'est requise lorsque vous utilisez des mots de passe de base de données GIA pour accéder à une base de données autonome.Pour que la base de données autonome autorise la connexion des utilisateurs GIA à l'aide de jetons GIA :
Notes sur la création de politiques destinées aux utilisateurs GIA dans une base de données autonome :
-
Les politiques peuvent autoriser les utilisateurs GIA à accéder aux instances de base de données autonome dans toute la location ou dans un compartiment, ou elles peuvent limiter l'accès à une seule instance de base de données autonome.
-
Vous pouvez utiliser un 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 de base de données 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 GIA dans une base de données autonome
Pour ajouter des utilisateurs GIA pour qu'ils aient accès à une base de données autonome, mappez les utilisateurs de base de données globaux aux groupes ou aux utilisateurs GIA à l'aide d'énoncés CREATE USER
ou ALTER USER
(avec la clause IDENTIFIED GLOBALLY AS
).
L'autorisation des utilisateurs GIA dans une instance de base de données autonome fonctionne en mappant les utilisateurs globaux GIA (schémas) à des utilisateurs GIA (mappage exclusif) ou à des groupes GIA (mappage de schéma partagé).
Pour autoriser des utilisateurs GIA dans une instance de base de données autonome :
Note :
Les utilisateurs de base de données qui ne sont pasIDENTIFIED GLOBALLY
peuvent continuer à se connecter comme précédemment, même lorsque l'authentification IAM est activée pour Autonomous Database.
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 USER
etALTER USER
requis pour ces étapes). -
Créez un mappage entre les utilisateurs de base de données autonome (schéma) à l'aide des énoncés
CREATE USER
ouALTER USER
et incluez la clauseIDENTIFIED GLOBALLY AS
, en spécifiant le nom de l'utilisateur GIA local.Par exemple, pour créer un utilisateur global de base de données nommé
peter_fitch
et mapper cet utilisateur à un utilisateur GIA local existant nommépeterfitch
:CREATE USER peter_fitch IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=peterfitch'
L'exemple suivant montre comment créer l'utilisateur en spécifiant un domaine non par défaut,
sales_domain
:CREATE USER peter_fitch2 IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=sales_domain/peterfitch';
Ajouter des rôles GIA dans une base de données autonome
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 utilisateur (schéma) ou d'un mappage d'utilisateur partagé sur Autonomous Database. Par exemple, tous les privilèges et rôles peuvent être accordés au schéma partagé; tous les utilisateurs GIA mappés au schéma partagé se voient alors accorder les privilèges et les rôles affectés à ce schéma.
Vous pouvez utiliser un rôle global pour éventuellement différencier les utilisateurs qui utilisent le même schéma partagé. Par exemple, plusieurs utilisateurs peuvent avoir le même schéma partagé et celui-ci peut disposer du privilège CREATE SESSION
. Des rôles globaux peuvent alors être utilisés pour fournir des privilèges et des rôles différenciés à différents groupes d'utilisateurs qui utilisent tous le même schéma partagé.
Pour accorder des rôles supplémentaires aux utilisateurs GIA dans une base de données autonome, il faut mapper les rôles globaux de base de données autonome à des groupes GIA.
Pour mapper les rôles globaux de base de données autonome à des groupes GIA :
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 GIA et lui permettre de se connecter à une base de données autonome en fournissant un nom d'utilisateur et un mot de passe, vous devez créer un mot de passe de base de données GIA.
Pour plus d'informations, voir Utilisation de mots de passe de base de données GIA.
Se connecter à une base de données autonome à l'aide de l'authentification GIA
Après que l'utilisateur de base de données ADMIN a mappé les utilisateurs et les rôles globaux aux utilisateurs et aux groupes GIA, les utilisateurs se connectent à l'instance de base de données autonome à l'aide de leurs données d'identification GIA pour Oracle Cloud Infrastructure ou accèdent à la base de données au moyen d'un jeton de base de données GIA pour Oracle Cloud Infrastructure.
Vous pouvez toujours vous connecter à la base de données 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 de base de données autonome en tant qu'utilisateur GIA Oracle Cloud Infrastructure. Pour utiliser un client avec des données d'identification de nom d'utilisateur et de mot de passe IAM pour Oracle Cloud Infrastructure et un vérificateur de mot de passe, le client de base de données doit être 12c ou plus récent.
-
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 clients 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 autonome est en mode restreint, seuls les utilisateurs dotés du privilège RESTRICTED SESSION
, par exemple ADMIN, peuvent se connecter à la base de données.
À propos de la connexion à une instance Autonomous Database sur une infrastructure Exadata dédiée à l'aide d'IAM
Les utilisateurs IAM peuvent se connecter à l'instance Autonomous Database sur une infrastructure Exadata dédiée à l'aide d'un vérificateur de mot de passe de base de données IAM ou d'un jeton IAM.
L'utilisation du vérificateur de mot de passe de base de données GIA est similaire au processus d'authentification par mot de passe d'Oracle Database. Toutefois, au lieu du vérificateur de mot de passe (hachage chiffré du mot de passe) stocké dans Autonomous Database sur une infrastructure Exadata dédiée, le vérificateur est stocké dans le profil d'utilisateur IAM pour Oracle Cloud Infrastructure (OCI).
La seconde méthode de connexion, l'utilisation d'un jeton GIA pour la base de données, est plus moderne. L'utilisation de l'accès basé sur un jeton est plus adaptée aux ressources en nuage telles qu'Autonomous Database sur une infrastructure Exadata dédiée. Le jeton est basé sur la force que le point d'extrémité GIA peut appliquer. Il peut s'agir d'une authentification multifacteur, qui est plus forte que l'utilisation de mots de passe seuls. Un autre avantage de l'utilisation de jetons est que le vérificateur de mot de passe (qui est considéré comme sensible) n'est jamais stocké ni disponible en mémoire.
Connexions de clients qui utilisent un vérificateur de mot de passe de base de données GIA
Après que vous avez configuré l'autorisation requise pour l'utilisateur GIA, celui-ci peut se connecter à l'aide d'une application client existante, telle que SQL*Plus ou SQLcl, sans configuration supplémentaire.
L'utilisateur GIA entre le nom d'utilisateur et le mot de passe de base de données GIA (et non le mot de passe de la console Oracle Cloud Infrastructure) à l'aide d'un client de base de données actuellement pris en charge. La seule contrainte est que la version du client de base de données soit Oracle Database version 12.1.0.2 ou ultérieure pour utiliser les mots de passe Oracle Database 12c. Le client de base de données doit pouvoir utiliser le vérificateur de mot de passe 12C
. L'utilisation du chiffrement du vérificateur 11G
n'est pas prise en charge avec GIA. Aucune configuration spéciale de client ou d'outil n'est nécessaire pour que l'utilisateur IAM se connecte à l'instance Autonomous Database sur une infrastructure Exadata dédiée.
Connexions de clients utilisant un jeton
Pour l'accès au jeton IAM à Autonomous Database sur une infrastructure Exadata dédiée, l'application ou l'outil client demande un jeton de base de données à 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.
-
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.
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.
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 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 à Autonomous Database. 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 une principal d'instance pour accéder à une base de données autonome à l'aide de l'authentification GIA
Une fois que l'utilisateur ADMIN a activé le service GIA pour Oracle Cloud Infrastructure dans la base de données autonome, une application peut accéder à celle-ci au moyen d'un jeton de base de données GIA 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.
Configuration de l'authentification par mandataire pour l'utilisateur GIA
Pour configurer l'authentification par mandataire pour un utilisateur GIA, celui-ci doit déjà disposer d'un mappage à un schéma global (mappage exclusif ou partagé). Un schéma de base de données distinct pour l'utilisateur GIA à mandater doit également être disponible.
-
Connectez-vous à l'instance de base de données autonome en tant qu'utilisateur disposant des privilèges de 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,
hrapp
est le schéma de base de données à mandater etpeterfitch_schema
est 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 :
CONNECT peterfitch[hrapp]@connect_string
Enter password: password
CONNECT [hrapp]/@connect_string
Validation de l'authentification par mandataire de l'utilisateur GIA
-
Connectez-vous à l'instance de base de données autonome en tant qu'utilisateur disposant des privilèges de système
CREATE USER
etALTER USER
. -
Connectez-vous à l'utilisateur GIA et exécutez les commandes
SHOW USER
etSELECT SYS_CONTEXT
. Par exemple, supposons que vous vouliez vérifier l'authentification par mandataire de l'utilisateur GIApeterfitch
lorsqu'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 de base de données autonome à une autre en tant qu'utilisateur GIA Oracle Cloud Infrastructure.
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 GAM 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 Autonomous Database en tant qu'utilisateur IAM pour Oracle Cloud Infrastructure.-
Lien de base de données d'utilisateur connecté : Pour un lien de base de données d'utilisateur connecté, un utilisateur IAM doit être mappé à un schéma dans les bases de données source et cible connectées par un lien de base de données. Vous pouvez utiliser un vérificateur de mot de passe de base de données ou un jeton de base de données GIA pour utiliser un lien de base de données d'utilisateur connecté.
-
Lien de base de données d'utilisateur fixe : Un lien de base de données d'utilisateur fixe peut être créé à l'aide d'un utilisateur de base de données ou d'un utilisateur IAM. Lors de l'utilisation d'un utilisateur GIA en tant que lien de base de données d'utilisateur fixe, l'utilisateur GIA doit disposer d'un mappage de schéma dans la base de données cible. L'utilisateur GIA d'un lien de base de données ne peut être configuré qu'avec un vérificateur de mot de passe.
Désactiver l'authentification du service de gestion des identités et des accès (GIA) pour une base de données autonome
Décrit les étapes de désactivation de l'accès des utilisateurs par authentification externe GIA pour une base de données autonome.
ALTER SYSTEM
ci-dessous :ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;
Si vous voulez également mettre à jour l'accès à GIA à partir de la ressource, c'est-à-dire une base de données conteneur autonome ou une base de données autonome, vous devrez peut-être supprimer ou modifier le groupe GIA et les politiques que vous avez configurés pour autoriser l'accès à GIA à partir de ces ressources.
Notes sur l'utilisation des outils de base de données autonome avec l'authentification GIA
Fournit des notes relatives à l'utilisation des outils de base de données autonome avec l'authentification GIA activée.
- Oracle APEX n'est pas pris en charge pour les utilisateurs GIA avec les bases de données autonomes. Voir Accéder aux services d'administration d'Oracle Application Express pour plus d'informations sur l'utilisation d'utilisateurs de base de données standard avec les bases de données autonomes.
-
Database Actions n'est pas pris en charge pour les utilisateurs GIA vec les bases de données autonomes. Voir Activation de l'accès des utilisateurs à Database Actions pour plus d'informations sur l'utilisation d'utilisateurs de base de données standard avec les bases de données autonomes.