Connexion à Autonomous Database avec l'authentification Identity and Access Management (IAM)
Après l'activation d'Oracle Cloud Infrastructure IAM sur Autonomous Database par l'utilisateur ADMIN, ceux-ci se connectent à l'instance Autonomous Database à l'aide de leurs informations d'identification d'Oracle Cloud Infrastructure IAM ou accèdent à la base de données via un jeton de base Oracle Cloud Infrastructure IAM.
Une fois l'accès utilisateur Oracle Cloud Infrastructure IAM activé, vous pouvez également vous connecter à Autonomous Database à l'aide de votre nom utilisateur et de votre mot de passe de 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 qu'un client puisse utiliser des informations d'identification de nom d'utilisateur et de mot de passe Oracle Cloud Infrastructure IAM et un vérificateur de mots de passe, le client de base de données doit être de version 12c ou ultérieure.
Vous pouvez aussi utiliser un jeton de base de données Oracle Cloud Infrastructure IAM pour accéder à une instance Autonomous Database, L'utilisation de jetons IAM requiert le dernier client Oracle Database 19c (19.16 au moins). Certains clients antérieurs fournissent un ensemble limité de fonctions pour l'accès par jeton.
Les exemples suivants montrent l'utilisation du vérificateur de mot de passe avec SQL*Plus pour accéder à la base de données avec un nom utilisateur et un mot de passe Oracle Cloud Infrastructure IAM, ainsi que les étapes requises pour utiliser SQL*Plus avec un jeton de base de données Oracle Cloud Infrastructure IAM.
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.
Vous pouvez utiliser un jeton d'une base de données Oracle Cloud Infrastructure IAM pour accéder à une instance Autonomous Database avec les clients pris en charge, notamment :
-
JDBC Thin (avec prise en charge de l'authentification par jeton IAM) est pris en charge dans les cas suivants :
-
JDBC version 19.13.0.0.1 (ou ultérieure) : reportez-vous à Téléchargements JDBC et UCP pour les pilotes JDBC.
-
JDBC version 21.4.0.0.1 (ou ultérieure) : reportez-vous à Téléchargements JDBC et UCP pour les pilotes JDBC.
Pour plus d'informations, reportez-vous à Prise en charge de l'authentification basée sur un jeton IAM :
-
- SQL*Plus et Oracle Instant Client : prise en charge avec SQL*Plus et Instant Client sur Linux version 19.13 ou ultérieure, et avec Instant Client sur Linux version 21.4 ou ultérieure.
Pour plus d'informations, reportez-vous à Authentification basée sur un jeton Identity and Access Management (IAM).
-
The database client can also be configured to retrieve a database token using the IAM username and IAM database password.
Pour plus d'informations, reportez-vous à Connexions client utilisant un jeton demandé par le nom utilisateur et le mot de passe des bases de données IAM.
-
Clients .NET (dernière version de Linux ou Windows). Les composants logiciels .NET sont disponibles en téléchargement gratuit sur les sites suivants :
- A propos de la connexion à une instance Autonomous Database à l'aide d'IAM
Les utilisateurs IAM peuvent se connecter à l'instance Autonomous Database en utilisant un vérificateur de mot de passe de base de données IAM ou un jeton IAM. - 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. - 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.
A propos de la connexion à l'instance Autonomous Database à l'aide d'IAM
Les utilisateurs IAM peuvent se connecter à l'instance Autonomous Database à l'aide d'un vérificateur ou d'un jeton IAM de mot de passe de base de données 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, au lieu que le vérificateur de mot de passe (hachage crypté du mot de passe) soit stocké dans la base de données Oracle, il est stocké dans 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 à des ressources cloud telles qu'Autonomous Database. 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. Une connexion TLS (TCPS) est requise lors de l'utilisation de jetons pour l'accès à la base de données.
Vous ne pouvez pas configurer le cryptage réseau natif lors de la transmission d'un jeton IAM. Seul le protocole TLS (Transport Layer Security) est pris en charge, et non le chiffrement réseau natif ou le chiffrement réseau natif avec TLS.
- Connexions client qui utilisent un vérificateur de mot de passe de base de données IAM
Une fois l'autorisation requise pour l'utilisateur IAM configurée, cet utilisateur peut se connecter à l'aide d'une application client existante, telle que SQL*Plus ou SQLcl, sans configuration supplémentaire. - Connexions client à l'aide d'un jeton demandé par une application ou un instrument client
Pour l'accès par jeton IAM à Autonomous Database, l'application ou l'outil client demande un jeton de base de donnée à IAM pour l'utilisateur IAM.
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.
12C
. L'utilisation du cryptage du vérificateur 11G
n'est pas prise en charge avec IAM. Aucune configuration spéciale de client ou d'outil n'est nécessaire pour que l'utilisateur IAM se connecte à l'instance OCI DBaaS.
Connexions client utilisant un jeton demandé par une application ou un outil client
Pour l'accès par jeton IAM à Autonomous Database, l'application ou l'outil client demande un jeton de base de donnée à IAM pour l'utilisateur IAM.
L'application client transmet le jeton de base de données directement au client de base de données via l'API client de base de données.
Si l'application ou l'outil n'a pas été mis à jour et ne peut pas demander de jeton IAM, l'utilisateur IAM peut employer l'interface de ligne de commande Oracle Cloud Infrastructure (OCI) pour demander et stocker le jeton de base de données. Vous pouvez demander un jeton d'accès à la base de données (db-token
) à l'aide des informations d'identification suivantes :
- Jetons de sécurité (avec l'authentification IAM), jetons de délégation (dans OCI Cloud Shell) et
clés d'API
, à savoir des informations d'identification représentant l'utilisateur IAM pour permettre l'authentification - Jetons de principal d'instance, qui permettent aux instances d'être des acteurs autorisés (ou des principaux) et d'effectuer des actions sur les ressources du service après authentification
- Jeton de principal de ressource, à savoir des informations d'identification permettant à l'application de s'authentifier auprès d'autres services Oracle Cloud Infrastructure
- Utilisation d'un nom utilisateur IAM et d'un mot de passe IAM de base de données (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. 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 : SQLPlus sur site, SQLcl sur site, SQL*Plus dans Cloud Shell ou applications utilisant des portefeuilles SEP.
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,
O=Example Corporation,
L=Redwood City, ST=California, C=US")
(TOKEN_AUTH=OCI_TOKEN)))
Le client de base de données est déjà configuré pour obtenir une valeur db-token
car TOKEN_AUTH
a déjà été défini, via le fichier sqlnet.ora
ou dans une chaîne de connexion. Le client de base de données obtient la valeur db-token
et le signe à l'aide de La clé privée. Le jeton est ensuite envoyé à 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.