Connexion d'utilisateurs Identity and Access Management (IAM) à Oracle Exadata Database Service sur une infrastructure Exascale
Vous pouvez configurer Exadata Database Service on Exascale Infrastructure de sorte qu'il utilise l'authentification et l'autorisation Oracle Cloud Infrastructure Identity and Access Management (IAM) pour permettre aux utilisateurs IAM d'accéder à Oracle Database avec leurs informations d'identification IAM.
- Authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) avec Oracle Database
A l'aide de ce cours, vous apprendrez à permettre à une instance Oracle Database sur Oracle Exadata Database Service sur Exascale Infrastructure d'autoriser l'accès utilisateur avec un mot de passe de base de données Oracle Cloud Infrastructure IAM (à l'aide d'un vérificateur de mot de passe) ou des jetons SSO. - Prérequis pour l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Examinez les prérequis pour l'authentification Identity and Access Management (IAM) sur une base de données Oracle. - Activation, désactivation et réactivation de l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Découvrez comment activer, désactiver et réactiver l'authentification Identity and Access Management (IAM) sur Oracle Database. - Gestion des groupes et stratégies, des utilisateurs, des rôles et des mots de passe de base de données Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Votre système Oracle Exadata Database Service sur Exascale Infrastructure fournit différentes méthodes de gestion de service. - Configuration de la connexion client
Configurez différents clients pour utiliser l'authentification IAM.
Rubrique parent : Guides pratiques
Authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) avec Oracle Database
Découvrez comment permettre à une instance Oracle Database sur Oracle Exadata Database Service sur Exascale Infrastructure d'autoriser l'accès utilisateur avec un mot de passe de base de données Oracle Cloud Infrastructure IAM (à l'aide d'un vérificateur de mot de passe) ou des jetons SSO.
- A propos de l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) avec Oracle Database
Les utilisateurs IAM peuvent se connecter à l'instance de base de données à l'aide d'un vérificateur de mot de passe de base de données IAM ou d'un jeton IAM. - Authentification via un vérificateur de mot de passe de base de données Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Vous pouvez permettre à une instance Oracle Database d'autoriser l'accès utilisateur avec un mot de passe de base de données Oracle Cloud Infrastructure IAM (à l'aide d'un vérificateur de mot de passe). - Authentification basée sur les jetons SSO Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Pour l'accès via un jeton IAM à la base de données, l'application ou l'outil client demande un jeton de base de données à IAM pour l'utilisateur IAM.
A propos de l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) avec Oracle Database
Les utilisateurs IAM peuvent se connecter à l'instance de base de données à 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 de base de données. Toutefois, plutôt que d'être stocké dans la base de données, le vérificateur de mot de passe (hachage crypté du mot de passe) est stocké avec le profil utilisateur 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 que les bases de données Oracle dans Exadata Cloud 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.
Oracle Database prend en charge l'intégration Oracle DBaaS pour Oracle Cloud Infrastructure (OCI) IAM avec les domaines d'identité, ainsi que l'ancien IAM, qui n'inclut pas les domaines d'identité. Les utilisateurs et les groupes de domaines par défaut et autres sont pris en charge lors de l'utilisation d'IAM avec des domaines d'identité.
La prise en charge des domaines personnalisés autres que ceux par défaut n'est disponible qu'avec Oracle Database version 19c, version 19.21 et versions ultérieures (mais pas avec Oracle Database version 21c).
L'intégration d'Oracle Cloud Infrastructure IAM à Oracle Exadata Database Service on Dedicated Infrastructure prend en charge les types d'authentification suivants :
- Authentification via un vérificateur de mot de passe de base de données Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
- Authentification basée sur les jetons SSO Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Pour obtenir des détails complets sur l'architecture permettant d'utiliser des utilisateurs IAM sur Oracle Exadata Database Service on Dedicated Infrastructure, reportez-vous à Authentification et autorisation d'utilisateurs IAM pour les bases de données Oracle DBaaS dans le guide de sécurité Oracle Database 19c et le guide de sécurité Oracle Database 23ai.
Authentification via un vérificateur de mot de passe de base de données Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Vous pouvez permettre à une instance Oracle Database d'autoriser l'accès utilisateur avec un mot de passe de base de données Oracle Cloud Infrastructure IAM (à l'aide d'un vérificateur de mot de passe).
Tout client de base de données version 12c ou supérieure pris en charge peut être utilisé pour l'accès par mot de passe de base de données IAM à Oracle Database.
Un mot de passe de base de données Oracle Cloud Infrastructure IAM permet à un utilisateur IAM de se connecter à une instance Oracle 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'utilisation d'un utilisateur IAM avec un vérificateur de mot de passe vous permet de vous connecter à Oracle Database avec n'importe quel client de base de données pris en charge.
Pour l'accès à la base de données du vérificateur de mot de passe, vous créez les mises en correspondance des utilisateurs IAM et des applications OCI avec l'instance Oracle Database. Les comptes utilisateur IAM eux-mêmes sont gérés dans IAM. Les comptes utilisateur et les groupes d'utilisateurs peuvent se trouver dans le domaine par défaut ou dans un domaine personnalisé autre que celui par défaut.
Pour plus d'informations sur la gestion du mot de passe de base de données IAM, reportez-vous à Gestion des informations d'identification utilisateur.
Authentification basée sur les jetons SSO Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Pour l'accès par jeton IAM à la base de données, 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 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 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 OCI après authentification
- Jeton de principal de ressource, à savoir des informations d'identification permettant à l'application de s'authentifier auprès d'autres services OCI
- Nom utilisateur IAM et mot de passe de base de données IAM (que seul le client de base de données peut demander)
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. Si le paramètre PASSWORD_AUTH=OCI_TOKEN
est défini, le pilote de base de données emploie le nom utilisateur et le mot de passe pour se connecter directement à IAM et pour demander un jeton de base de données. 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.
- 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. L'utilisation de jetons IAM requiert le dernier client Oracle Database 19c (19.16 au moins). Certains clients antérieurs (19c et 21c) fournissent un ensemble limité de fonctions pour l'accès par jeton. Le client Oracle Database 21c ne prend pas entièrement en charge la fonctionnalité d'accès par jeton IAM :
- JDBC Thin sur toutes les plates-formes
- Pour plus d'informations, reportez-vous à Prise en charge de l'authentification basée sur un jeton IAM et à Téléchargements JDBC et UCP.
- SQL*Plus et Oracle Instant Client OCI-C sur Linux :
Pour plus d'informations, reportez-vous à Authentification basée sur un jeton Identity and Access Management (IAM).
- Oracle Data Provider for .NET (ODP.NET) Core : clients .NET (dernière version de Linux ou Windows). Les composants logiciels .NET sont disponibles en téléchargement gratuit sur les sites suivants :
- Oracle Data Access Components - Téléchargements .NET
- NuGet Gallery
- Visual Studio Code Marketplace
- JDBC Thin sur toutes les plates-formes
- 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, recourir à 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). Pour plus d'informations, reportez-vous à db-token get. 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é.
- Certains clients Oracle Database 23ai peuvent également obtenir un jeton directement à partir d'OCI IAM au lieu d'utiliser l'interface de ligne de commande OCI. Consultez la documentation client pour savoir quels clients prennent en charge cette intégration IAM native.
- 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 Oracle Database. Pour plus d'informations, reportez-vous à Mise en correspondance de principaux d'instance et de ressource.
- Les utilisateurs IAM et les applications OCI peuvent demander un jeton de base de données à IAM de 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 à Authentification et autorisation d'utilisateurs IAM pour les bases de données Oracle DBaaS 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 votre base de données est en mode restreint, seuls les administrateurs de base de données disposant du privilège RESTRICTED SESSION
peuvent se connecter à la base de données.
Si un utilisateur saisit un nom utilisateur/un mot de passe pour 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. Si le paramètre PASSWORD_AUTH=OCI_TOKEN
est défini, le pilote de base de données emploie le nom utilisateur et le mot de passe pour se connecter directement à IAM et pour demander un jeton de base de données.
Rubriques connexes
- Prise en charge de l'authentification basée sur un jeton IAM
- Téléchargements JDBC et UCP
- Authentification basée sur un jeton Identity and Access Management (IAM)
- db-token get
- Oracle Data Access Components - Téléchargements .NET
- NuGet Gallery
- Visual Studio Code Marketplace
- Mise en correspondance de principaux d'instance et de ressource
- Configuration pour SQL*Plus d'une connexion client utilisant un jeton IAM
- Authentification et autorisation d'utilisateurs IAM pour les bases de données Oracle DBaaS
Prérequis pour l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Examinez les prérequis pour l'authentification Identity and Access Management (IAM) sur une base de données Oracle.
- Prérequis pour l'authentification IAM sur Oracle Database
Avant de vous servir de l'authentification IAM sur des bases de données dans Exadata Cloud Infrastructure, vous devez utiliser le service Networking pour ajouter une passerelle de service, une règle de routage et une règle de sécurité sortante au réseau cloud virtuel et aux sous-réseaux sur lesquels résident vos ressources de base de données. - Désactivation du modèle d'authentification externe
Consultez les prérequis pour l'activation de l'accès utilisateur IAM à Oracle Database. - Configuration de TLS pour utiliser des jetons IAM
Lors de l'envoi de jetons IAM du client de base de données au serveur de base de données, une connexion TLS doit être établie. Le portefeuille TLS avec le certificat de base de données pour l'instance de service ExaDB-D doit être stocké à l'emplacementWALLET_ROOT
. Créez un répertoire tls semblable à ce qui suit :WALLET_ROOT/<PDB GUID>/tls
.
Prérequis pour l'authentification IAM sur Oracle Database
Avant de vous servir de l'authentification IAM sur des bases de données dans Exadata Cloud Infrastructure, vous devez utiliser le service Networking pour ajouter une passerelle de service, une règle de routage et une règle de sécurité sortante au réseau cloud virtuel et aux sous-réseaux sur lesquels résident vos ressources de base de données.
- Créez une passerelle de service dans le réseau cloud virtuel sur lequel résident vos ressources de base de données en suivant les instructions de Tâche 1 : créer la passerelle de service dans la documentation OCI.
- 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 de base de données afin que ces ressources puissent utiliser la passerelle pour recourir à l'authentification IAM :
- Accédez à la page Détails du sous-réseau correspondante.
- 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 réseau cloud virtuel
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 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 les services IAD dans Oracle Services Network
- Protocole IP : TCP
- Plage de ports source : Tout
- 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.
Désactivation du modèle d'authentification externe
Consultez les prérequis pour l'activation de l'accès utilisateur IAM à Oracle Database.
Si la base de données est activée pour un autre modèle d'authentification externe, vérifiez que vous voulez utiliser IAM sur l'instance Oracle Database. Un seul modèle d'authentification externe peut être activé à la fois.
Si vous voulez utiliser IAM et qu'un autre modèle d'authentification externe est activé, vous devez d'abord désactiver l'autre modèle d'authentification externe.
Configuration de TLS pour utiliser des jetons IAM
Lors de l'envoi de jetons IAM du client de base de données au serveur de base de données, une connexion TLS doit être établie. Le portefeuille TLS avec le certificat de base de données pour l'instance de service ExaDB-D doit être stocké à l'emplacement WALLET_ROOT
. Créez un répertoire tls semblable à ce qui suit : WALLET_ROOT/<PDB GUID>/tls
.
Lors de la configuration de TLS entre le serveur et le client de base de données, plusieurs options sont à envisager.
- Utilisation d'un certificat de serveur de base de données auto-signé ou d'un certificat de serveur de base de données signé par une autorité de certification connue
- TLS unidirectionnelle (TLS), ou TLS mutuelle ou bidirectionnelle (mTLS)
- Client avec ou sans portefeuille
Certificat auto-signé
L'utilisation d'un certificat auto-signé est une pratique courante pour les ressources informatiques en interne car vous pouvez créer ces certificats vous-même gratuitement. La ressource (dans ce cas, le serveur de base de données) dispose d'un certificat auto-signé pour s'authentifier auprès du client de base de données. Le certificat auto-signé et le certificat racine sont stockés dans le portefeuille du serveur de base de données. Pour que le client de base de données puisse reconnaître le certificat de serveur de base de données, une copie du certificat racine est également nécessaire sur le client. Ce certificat racine auto-créé peut être stocké dans un portefeuille côté client ou installé dans la banque de certificats par défaut du système client (Windows et Linux uniquement). Une fois la session établie, le client de base de données vérifie que le certificat envoyé par le serveur de base de données a été signé par le même certificat racine.
Autorité de certification connue
L'utilisation d'une autorité de certification racine connue présente certains avantages du fait que le certificat racine est probablement déjà stocké dans la banque de certificats par défaut du système client. Aucune étape supplémentaire n'est requise pour que le client stocke le certificat racine s'il s'agit d'un certificat racine courant. L'inconvénient est que cela a généralement un coût.
TLS unidirectionnelle
Dans une session TLS standard, seul le serveur fournit un certificat au client pour s'authentifier. Le client n'a pas besoin d'avoir un certificat client distinct pour s'authentifier auprès du serveur (semblable au mode d'établissement des sessions HTTPS). La base de données requiert un portefeuille pour stocker le certificat de serveur, mais la seule chose dont le client a besoin est le certificat racine utilisé pour signer le certificat de serveur.
TLS bidirectionnelle (également appelée TLS mutuelle, mTLS)
Avec mTLS, le client présente un certificat d'identité au serveur, et vice versa. Dans la plupart des cas, le même certificat racine signe ces deux certificats afin que le même certificat racine puisse être utilisé avec le serveur de base de données et le client pour authentifier l'autre certificat. Le protocole mTLS est parfois utilisé pour authentifier l'utilisateur car l'identité de l'utilisateur est authentifiée par le serveur de base de données via le certificat. Cela n'est pas nécessaire pour transmettre des jetons IAM, mais peut être utilisé lors de la transmission de jetons IAM.
Client avec portefeuille
Lors de l'utilisation de mTLS, le portefeuille client est obligatoire pour stocker le certificat client. Toutefois, le certificat racine peut être stocké dans le même portefeuille ou dans la banque de certificats par défaut du système.
Client sans portefeuille
Les clients peuvent être configurés sans portefeuille lors de l'utilisation de TLS dans les conditions suivantes : 1) la configuration de TLS unidirectionnelle est effectuée lorsque le client ne dispose pas de son propre certificat et 2) le certificat racine qui a signé le certificat de serveur de base de données est stocké dans la banque de certificats par défaut du système. Le certificat racine s'y trouve probablement déjà si le certificat de serveur est signé par une autorité de certification courante. S'il s'agit d'un certificat auto-signé, le certificat racine doit être installé dans la banque de certificats par défaut du système pour éviter l'utilisation d'un portefeuille client.
Pour plus d'informations sur la configuration de TLS entre le client de base de données et le serveur de base de données, y compris les options décrites ci-dessus, reportez-vous à Configuration de l'authentification TLS dans le guide de sécurité Oracle Database.
Si vous choisissez d'utiliser des certificats auto-signés et pour connaître les autres tâches liées au portefeuille, reportez-vous à Gestion des éléments PKI (Public Key Infrastructure) dans le guide de sécurité Oracle Database.
Activation, désactivation et réactivation de l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Découvrez comment activer, désactiver et réactiver l'authentification Identity and Access Management (IAM) sur Oracle Database.
- Activation de l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Passez en revue les étapes permettant d'activer ou de réactiver l'accès utilisateur IAM à Oracle Database. - Désactivation de l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Examinez les étapes permettant de désactiver l'accès utilisateur par authentification externe IAM pour Oracle Database. - Utilisation des outils Oracle Database avec l'authentification Identity and Access Management (IAM)
Consultez les remarques relatives à l'utilisation des outils Oracle Database avec l'authentification IAM activée.
Activation de l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Passez en revue les étapes permettant d'activer ou de réactiver l'accès utilisateur IAM à Oracle Database.
Oracle Database prend en charge l'intégration Oracle DBaaS pour Oracle Cloud Infrastructure (OCI) IAM avec les domaines d'identité, ainsi que l'instance IAM héritée, qui n'inclut pas les domaines d'identité. Les utilisateurs et les groupes de domaines par défaut et autres sont pris en charge lors de l'utilisation d'IAM avec des domaines d'identité.
- Effectuez les prérequis pour l'authentification et l'autorisation IAM sur Oracle Database. Pour plus d'informations, reportez-vous à Prérequis pour l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database.
- Activez l'authentification et l'autorisation Oracle Cloud Infrastructure (IAM) à l'aide de la commande
ALTER SYSTEM
.ALTER SYSTEM SET IDENTITY_PROVIDER_TYPE=OCI_IAM SCOPE=BOTH;
- Vérifiez la valeur du paramètre système
IDENTITY_PROVIDER_TYPE
.SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
NAME VALUE ---------------------- ------- identity_provider_type OCI_IAM
Rubriques connexes
Désactivation de l'authentification Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Examinez les étapes permettant de désactiver l'accès utilisateur par authentification externe IAM pour Oracle Database.
Pour désactiver l'accès utilisateur IAM sur votre instance Oracle Database, procédez comme suit :
- Désactivez l'intégration IAM à l'aide de la commande
ALTER SYSTEM
.ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;
- Si vous voulez également enlever la stratégie IAM pour autoriser l'accès à la base de données, vous devrez peut-être examiner, et modifier ou enlever les groupes IAM et les stratégies configurées afin d'autoriser l'accès des utilisateurs IAM à la base de données.
Utilisation des outils Oracle Database avec l'authentification Identity and Access Management (IAM)
Consultez les remarques relatives à l'utilisation des outils Oracle Database avec l'authentification IAM activée.
- Oracle APEX n'est pas pris en charge pour les utilisateurs IAM avec Oracle Database.
- Database Actions n'est pas pris en charge pour les utilisateurs IAM avec Oracle Database. Pour plus d'informations sur l'emploi des utilisateurs de base de données standard avec Oracle Database, reportez-vous à Fourniture de l'accès à Database Actions aux utilisateurs de base de données.
- Oracle Machine Learning Notebooks et les autres composants ne sont pas pris en charge pour les utilisateurs autorisés par IAM avec Oracle Database. Pour plus d'informations sur l'emploi des utilisateurs de base de données standard avec Oracle Database, reportez-vous à Ajout d'un compte utilisateur de base de données existant aux composants Oracle Machine Learning.
Rubriques connexes
Gestion des groupes et stratégies, des utilisateurs, des rôles et des mots de passe de base de données Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Votre système Oracle Exadata Database Service sur une infrastructure Exascale propose différentes méthodes de gestion des services.
- Création de stratégies et de groupes Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) pour les utilisateurs IAM
Examinez 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 Oracle Database avec des jetons de base de données IAM. - Autorisation des utilisateurs Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Examinez les étapes d'autorisation des utilisateurs IAM sur une instance Oracle Database. - Procédure de mise en correspondance exclusive d'un utilisateur IAM local avec un utilisateur global Oracle Database
Vous pouvez mettre en correspondance un utilisateur IAM local exclusivement avec un utilisateur global Oracle Database. - Ajout de rôles Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle 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é. - Création d'un mot de passe de base de données Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) pour les utilisateurs IAM
Pour ajouter un utilisateur IAM et l'autoriser à se connecter à Oracle 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.
Création de stratégies et de groupes Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) pour les utilisateurs IAM
Examinez 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 Oracle Database avec des jetons de base de données IAM.
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 des jetons IAM afin d'accéder à Oracle Database. Aucune stratégie n'est requise lorsque vous utilisez des vérificateurs de mot de passe de base de données IAM pour accéder à Oracle Database.
- Créez un groupe IAM pour les utilisateurs IAM qui vont accéder à la base de données. Consultez la documentation OCI IAM pour créer des groupes et ajouter des utilisateurs IAM à un groupe.
Par exemple, créez le groupe 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é et sécurité, puis sur Stratégies.
- Pour écrire une stratégie, cliquez sur Créer une stratégie, puis entrez un nom et une description.
- Utilisez le générateur de stratégies pour créer une stratégie. Par exemple, pour créer une stratégie permettant aux utilisateurs du groupe IAM DBUsers d'accéder à n'importe quelle base de données Oracle de leur location :
Allow group DBUsers to use database-connections in tenancy
Où
database-connections
est le nom de la ressource OCI à connecter à la base de données.Use
est le verbe minimal permettant d'accéder à la base de données. Vous pouvez utiliseruse
etmanage
.Par exemple, pour créer une stratégie qui limite l'accès des membres du groupe DBUsers aux bases de données Oracle du compartiment testing_compartment uniquement :allow group DBUsers to use database-connections in compartment testing_compartment
Par exemple, pour créer une stratégie qui limite l'accès du groupe à une base de données unique d'un compartiment :allow group DBUsers to use database-connections in compartment testing_compartment where target.database.id = 'ocid1.database.oc1.iad.aaaabbbbcccc'
- Cliquez sur Créer.
Pour plus d'informations sur les stratégies, reportez-vous à Gestion des stratégies.
- Les stratégies permettent aux utilisateurs IAM d'accéder aux instances Oracle Database de l'ensemble de la location ou d'un compartiment. Elles peuvent aussi limiter l'accès à une instance Oracle Database unique.
- Vous devez utiliser des groupes dynamiques pour les principaux d'instance et de ressource. 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 à Accès aux ressources cloud en configurant des stratégies et des rôles et à Gestion des groupes dynamiques.
Rubriques connexes
Autorisation des utilisateurs Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle Database
Examinez les étapes d'autorisation des utilisateurs IAM sur une instance Oracle Database.
Pour autoriser des utilisateurs IAM à accéder à Oracle Database, mettez en correspondance des utilisateurs globaux de base de données avec des groupes IAM ou directement avec des 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 Oracle 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é).
Pour autoriser des utilisateurs IAM sur une instance de base de données, procédez comme suit :
- Connectez-vous en tant qu'utilisateur disposant de privilèges DBA sur la base de données activée pour utiliser IAM. Un utilisateur doté du rôle DBA a besoin des privilèges système
CREATE USER
etALTER USER
requis pour ces étapes. - Créez une correspondance avec l'utilisateur Oracle Database (schéma) à l'aide d'instructions
CREATE USER
ouALTER USER
. Incluez la clauseIDENTIFIED GLOBALLY AS
pour préciser le nom du groupe IAM. Utilisez la syntaxe suivante pour mettre en correspondance un utilisateur global avec un groupe IAM :
Par exemple, pour mettre en correspondance un groupe IAM nommé db_sales_group avec un utilisateur global de base de données partagé nommé sales_group :CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_NAME';
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_group
peut 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
.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 identifiés globalement (IDENTIFIED GLOBALLY
) peuvent continuer à se connecter comme auparavant, même lorsque l'authentification IAM est activée pour la base de données Oracle.
Procédure de mise en correspondance exclusive d'un utilisateur IAM local avec un utilisateur global Oracle Database
Vous pouvez mettre en correspondance un utilisateur IAM local exclusivement avec un utilisateur global Oracle Database.
- Connectez-vous en tant qu'utilisateur disposant de privilèges DBA sur la base de données activée pour utiliser IAM. Un utilisateur doté du rôle DBA a besoin des privilèges système
CREATE USER
etALTER USER
nécessaires pour ces étapes. - Créez une correspondance avec l'utilisateur Oracle 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'
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 Oracle 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 mettre en correspondance exclusivement des principaux d'instance et de ressource. Vous pouvez uniquement les mettre en correspondance via une correspondance partagée, et placer l'instance ou la ressource dans un groupe dynamique IAM.
Ajout de rôles Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) sur Oracle 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é.
La création de rôles globaux est facultative mais utile lors de l'affectation d'utilisateurs à un schéma partagé.
Utilisez 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 à des utilisateurs IAM dans Oracle Database fonctionne par la mise en correspondance de rôles globaux Oracle Database avec des groupes IAM.
- Connectez-vous en tant qu'utilisateur disposant de privilèges DBA sur la base de données activée pour utiliser IAM. Un utilisateur disposant des privilèges DBA système
CREATE ROLE
etALTER ROLE
est nécessaire pour ces étapes. - Définissez l'autorisation de base de données des rôles Oracle Database à l'aide d'instructions
CREATE ROLE
ouALTER ROLE
. Incluez la clauseIDENTIFIED GLOBALLY AS
pour préciser le nom du groupe IAM. Utilisez la syntaxe suivante pour mettre en correspondance un rôle global et un groupe IAM :
Par exemple, pour mettre en correspondance un groupe IAM nommé ExporterGroup avec un rôle global de base de données partagé nommé export_role :CREATE ROLE global_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_of_WHICH_the_IAM_USER_IS_a_MEMBER';
CREATE ROLE export_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=ExporterGroup';
- Utilisez des instructions
GRANT
pour accorder les privilèges requis ou d'autres rôles au rôle global.GRANT CREATE SESSION TO export_role; GRANT DWROLE TO export_role;
- Si vous voulez qu'un rôle de base de données existant soit associé à un groupe IAM, utilisez l'instruction
ALTER ROLE
pour 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';
Suivez ces étapes pour chaque groupe IAM afin d'ajouter des correspondances de rôles globaux supplémentaires pour les autres groupes IAM.
Création d'un mot de passe de base de données Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) pour les utilisateurs IAM
Pour ajouter un utilisateur IAM et l'autoriser à se connecter à Oracle 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.
Rubriques connexes
Configuration de la connexion client
Configurez différents clients pour utiliser l'authentification IAM.
- Configuration pour SQL*Plus d'une connexion client utilisant un vérificateur de mot de passe de base de données IAM
Vous pouvez configurer SQL*Plus en vue de l'utilisation d'un vérificateur de 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. - Connexions client utilisant un jeton demandé par un nom utilisateur et un mot de passe de base de données IAM
Vous pouvez créer une connexion client qui utilise un jeton demandé par un nom utilisateur et un mot de passe de base de données IAM. - Utilisation du principal d'instance pour accéder à la base de données avec l'authentification IAM
Une fois que l'utilisateur ADMIN a activé OCI IAM sur la base de données, une application peut accéder à la base de données via un jeton de base de données OCI IAM à l'aide d'un principal 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. - 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 de base de données à une autre en tant qu'utilisateur OCI IAM.
Configuration pour SQL*Plus d'une connexion client utilisant un vérificateur de mot de passe de base de données IAM
Vous pouvez configurer SQL*Plus en vue de l'utilisation d'un vérificateur de mot de passe de base de données IAM.
CONNECT user_name@db_connect_string
Enter password: password
Dans cet exemple, user_name
est le nom utilisateur IAM. Il existe une limite de 128 octets pour la combinaison domain_name/user_name
.
peter_fitch
peut se connecter à une instance de base de données.
sqlplus /nolog
connect peter_fitch@db_connect_string
Enter password: password
user_name
. Par exemple :
"peter_fitch@example.com"@db_connect_string
"IAM database password"
Rubrique parent : Configuration de la connexion client
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 de base de données que vous disposez d'une stratégie vous permettant d'accéder à la base de données dans le compartiment ou la location, et que vous avez été mis 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
. Par exemple :- Extrayez une valeur
db-token
avecAPI-key
à l'aide de l'interface de ligne de commande OCI :oci iam db-token get
- Extrayez une valeur
db-token
avec un jeton de sécurité (ou de session) :oci iam db-token get --auth security_token
- Extrayez une valeur
db-token
avec 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 l'interface de ligne de commande OCI :oci iam db-token get
- Utilisez un principal d'instance pour extraire une valeur
db-token
à l'aide de l'interface de ligne de commande OCI :oci iam db-token get --auth instance_principal
Si 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
.Pour plus d'informations, reportez-vous à Clés et OCID requis.
- Extrayez une valeur
- Vérifiez que vous utilisez les dernières mises à jour de version du client Oracle Database 19c.
Cette configuration fonctionne uniquement avec le client Oracle Database 19c.
- Suivez le processus existant pour télécharger le portefeuille à partir de la base de données. Ensuite, suivez les instructions permettant de le configurer en vue d'une utilisation avec SQL*Plus.
- Recherchez
SSL_SERVER_DN_MATCH=ON
danssqlnet.ora
pour vérifier que la correspondance de nom distinctif est activée. - Ajoutez
TOKEN_AUTH=OCI_TOKEN
au fichiersqlnet.ora
pour 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.
TOKEN_AUTH
etTOKEN_LOCATION
des chaînes de connexiontnsnames.ora
sont prioritaires sur les paramètressqlnet.ora
de la connexion. Par exemple, pour la chaîne de connexion, en supposant que le jeton se trouve à l'emplacement par défaut (~/.oci/db-token
pour Linux) :(description= (retry_count=20)(retry_delay=3) (address=(protocol=tcps)(port=1522) (host=example.us-phoenix-1.oraclecloud.com)) (connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com)) (security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com, OU=Oracle BMCS US, O=Example Corporation, L=Redwood City, ST=California, C=US") (TOKEN_AUTH=OCI_TOKEN)))
- Recherchez
TOKEN_AUTH
, l'utilisateur IAM peut se connecter à l'instance de base de données 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
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 à la base de données. 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
.
Rubrique parent : Configuration de la connexion client
Connexions client utilisant un jeton demandé par un nom utilisateur et un mot de passe de base de données IAM
Vous pouvez créer une connexion client qui utilise un jeton demandé par un nom utilisateur et un mot de passe de base de données IAM.
- Les utilisateurs IAM peuvent se connecter à l'instance Oracle DBaaS à l'aide d'un jeton IAM extrait grâce à un nom utilisateur IAM et un mot de passe de base de données IAM.
Pour plus d'informations, reportez-vous à A propos des connexions client utilisant un jeton demandé par un nom utilisateur et un mot de passe de base de données IAM.
- Pour définir ces paramètres, modifiez le fichier
sqlnet.ora
outnsnames.ora
.Pour plus d'informations, reportez-vous à Paramètres à définir pour les connexions client utilisant un jeton demandé par un nom utilisateur et un mot de passe de base de données IAM.
- Vous pouvez configurer le client de base de données pour extraire le jeton de base de données IAM à l'aide du nom utilisateur IAM et du mot de passe de base de données IAM fournis.
Pour plus d'informations, reportez-vous à Configuration du client de base de données pour extraire un jeton à l'aide d'un nom utilisateur et d'un mot de passe de base de données IAM.
- Vous pouvez activer un nom utilisateur IAM et une banque de mots de passe externe sécurisée pour demander le jeton de base de données IAM.
Pour plus d'informations, reportez-vous à Configuration d'un portefeuille de banque de mots de passe externe sécurisée pour extraire un jeton IAM.
Rubriques connexes
- Connexions client utilisant un jeton demandé par un nom utilisateur et un mot de passe de base de données IAM
- A propos des connexions client utilisant un jeton demandé par un nom utilisateur et un mot de passe de base de données IAM
- Paramètres à définir pour les connexions client utilisant un jeton demandé par un nom utilisateur et un mot de passe de base de données IAM
- Configuration du client de base de données pour extraire un jeton à l'aide d'un nom utilisateur et d'un mot de passe de base de données IAM
- Configuration d'un portefeuille de banque de mots de passe externe sécurisée pour extraire un jeton IAM
Rubrique parent : Configuration de la connexion client
Utilisation du principal d'instance pour accéder à la base de données avec l'authentification IAM
Une fois que l'utilisateur ADMIN a activé OCI IAM sur la base de données, une application peut accéder à la base de données via un jeton de base de données OCI 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.
Pour plus d'informations, reportez-vous à Accès à la base de données à l'aide d'un principal d'instance ou d'un principal de ressource.
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.
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 de base de données 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;
- 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.
- Connectez-vous en tant qu'utilisateur IAM remplaçant par proxy l'utilisateur de base de données. Exécutez les commandes
SHOW USER
etSELECT SYS_CONTEXT
.Par exemple, supposons que vous vouliez vérifier l'authentification par proxy de l'utilisateur IAM peterfitch lorsqu'il accède via un proxy à l'utilisateur de base de données hrapp. Vous devez vous connecter à la base de données à l'aide des différents types de méthode d'authentification 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"
- Pour l'authentification par mot de passe :
Rubrique parent : Configuration de la connexion client
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 de base de données à une autre en tant qu'utilisateur OCI IAM.
Vous pouvez utiliser un lien de base de données d'utilisateur connecté ou d'utilisateur fixe pour vous connecter à une base de données en tant qu'utilisateur OCI IAM.
Le lien de base de données d'utilisateur en cours n'est pas pris en charge pour la connexion à une base de données dans Exadata Cloud Infrastructure en tant qu'utilisateur OCI 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.
Rubrique parent : Configuration de la connexion client