Authentification des utilisateurs de base de données Autonomous AI avec Kerberos
Vous pouvez configurer Autonomous AI Database on Dedicated Exadata Infrastructure afin d'utiliser le protocole d'authentification réseau Kerberos pour authentifier les utilisateurs de base de données. Kerberos est un protocole d'authentification réseau robuste. Il utilise la cryptographie à clé secrète pour activer l'authentification forte en fournissant l'authentification utilisateur-serveur.
-
La prise en charge de Kerberos par Autonomous AI Database on Dedicated Exadata Infrastructure offre les avantages de l'accès avec connexion unique et de l'authentification centralisée des utilisateurs Oracle. Kerberos est un système d'authentification de tiers sécurisé, qui repose sur des clés secrètes partagées. Il suppose que le tiers est sécurisé et offre des fonctions d'accès avec connexion unique, un stockage centralisé des mots de passe, l'authentification des liens de base de données et renforce la sécurité des ordinateurs. Cela est effectué via un serveur d'authentification Kerberos.
-
Le système Kerberos repose sur le concept de ticket. Un ticket est un ensemble d'informations électroniques qui identifient un utilisateur ou un service. Un ticket vous identifie, ainsi que vos privilèges d'accès réseau.
-
Dans l'authentification Kerberos, vous envoyez de manière transparente une demande de ticket à un centre de distribution de clés (KDC). Le centre de distribution de clés vous authentifie et vous accorde un ticket pour accéder à la base de données.
Composants du système d'authentification Kerberos
Donne un aperçu de l'authentification Kerberos.
-
Un domaine de sécurité établit un domaine d'administration d'authentification. Chaque domaine de sécurité dispose de sa propre base de données Kerberos qui contient les utilisateurs et les services de ce domaine d'administration spécifique.
-
Les tickets sont émis par le centre de distribution de clés (KDC). Les clients présentent des tickets au serveur de base de données pour démontrer l'authenticité de leur identité. Chaque ticket a une date d'expiration et une date de renouvellement.
-
Des fichiers keytab stockent les clés à long terme des principaux. Un fichier keytab est généré en appelant l'outil
kadmin.local(pour le centre de distribution de clés MIT) ouktpass(pour le centre de distribution de clés Active Directory). -
Les principaux sont les entrées de la base de données du centre de distribution de clés. Chaque utilisateur, hôte ou service reçoit un principal. Un principal est une identité unique à laquelle le centre de distribution de clés peut affecter les tickets.
-
La prise en charge Kerberos dans Autonomous AI Database utilise ces valeurs pour divers composants qui constituent le nom d'un principal de service :
| Composant du principal de service | Valeur dans la base de données d'IA autonome |
|---|---|
kinstance |
Vous pouvez obtenir cette valeur à partir de l'attribut Utilisez la requête suivante pour obtenir Remarque : il s'agit de la valeur du paramètre |
kservice |
Sur Autonomous AI Database, vous disposez de deux options pour la valeur
Une fois que Kerberos est activé sur votre instance de base de données Autonomous AI, utilisez la requête suivante pour afficher le nom de service Kerberos : |
REALM |
N'importe quel domaine de sécurité pris en charge par votre KDC. REALM doit toujours être en majuscules. |
Afin d'activer l'authentification Kerberos pour votre base de données Autonomous AI, vous devez conserver les fichiers de configuration Kerberos (krb.conf) et les fichiers de table des clés de service (v5srvtab) prêts. Pour plus d'informations sur ces fichiers et pour connaître les étapes à suivre pour les obtenir, reportez-vous à la section Configuring Kerberos Authentication.
Remarques sur l'authentification Kerberos sur la base de données Autonomous AI
Avant de procéder à l'authentification Kerberos sur une base de données Autonomous AI sur une infrastructure Exadata dédiée, consultez les notes suivantes :
-
Si vous activez l'authentification Kerberos pour votre base de données Autonomous AI, vous pouvez toujours utiliser l'authentification de la base de données basée sur un motde passe pour votre base de données.
-
Une seule méthode d'authentification externe peut être utilisée pour votre base de données Autonomous AI à tout moment. Autrement dit, seuls les modèles d'authentification Oracle Cloud Infrastructure (IAM), Centrally Managed User avec Active Directory (CMU-AD), Azure AD ou Kerberos peuvent être activés à tout moment.
Remarque : la seule exception est que l'authentification Kerberos peut être configurée sur CMU-AD pour fournir l'authentification Kerberos CMU-AD pour les utilisateurs Microsoft Active Directory.
-
L'authentification Kerberos n'est pas prise en charge par les outils suivants :
-
API Oracle Database pour MongoDB
-
Oracle REST Data Services
-
Oracle Machine Learning
-
APEX
-
Oracle Graph Studio
-
Oracle Database Actions
-
-
Vous pouvez activer l'authentification Kerberos pour authentifier l'utilisateur ADMIN. Vous pouvez utiliser la fonctionnalité Réinitialiser le mot de passe sur la console Oracle Cloud Infrastructure (OCI) pour réinitialiser le mot de passe de l'utilisateur ADMIN et récupérer l'accès si un fichier keytab endommagé entraîne l'échec du authentification de l'utilisateur ADMIN.
-
L'authentification Kerberos est prise en charge avec le protocole TCP pour la base de données Autonomous AI version 19.27 ou ultérieure.
-
L'authentification Kerberos n'est pas prise en charge avec les DB_LINK et les bases de données avec Autonomous Data Guard.
Activation de l'authentification Kerberos sur la base de données Autonomous AI
Suivez les étapes ci-dessous pour activer l'authentification Kerberos pour Autonomous AI Database on Dedicated Exadata Infrastructure :
-
Etant donné qu'un seul modèle d'authentification externe peut être activé pour une base de données Autonomous AI à un moment donné, exécutez la procédure
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATIONpour désactiver tout modèle d'authentification externe déjà activé pour votre base de données.Pour exécuter la procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège
EXECUTEsurDBMS_CLOUD_ADMIN.BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; / -
Obtenez les fichiers de configuration Kerberos :
krb.confet le fichier de table de clés de servicev5srvtab. Pour plus d'informations sur ces fichiers et les étapes requises pour les obtenir, reportez-vous à la section Configuring Kerberos Authentication dans Oracle Database 19c Security Guide ou Oracle Database 26ai Security Guide. -
Copiez les fichiers de configuration Kerberos
krb.confetv5srvtabdans un bucket de la banque d'objets.Remarque : Oracle recommande de stocker les fichiers de configuration Kerberos dans un bucket privé de votre banque d'objets.
Si vous utilisez la banque d'objets Oracle Cloud Infrastructure, reportez-vous à Stockage de données dans Object Storage pour plus d'informations sur le téléchargement de fichiers.
-
Afin d'activer Kerberos en tant qu'authentification externe pour votre base de données Autonomous AI, exécutez la procédure
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATIONet transmettez un URI d'emplacement avec l'argument JSONparams. Vous devez placer les fichiers de configurationkrb.confetv5srvtabà l'emplacement Object Storage indiqué dans le paramètrelocation_uri.Exemple :
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type => 'KERBEROS', params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o', 'credential_name' value 'my_credential_name') ); END; /Remarque : pour fournir l'authentification Kerberos CMU-AD aux utilisateurs Microsoft Active Directory, vous pouvez activer l'authentification Kerberos au-dessus de CMU-AD en définissant
typesurCMUdans l'exemple ci-dessus.Dans cet exemple,
namespace-stringest l'espace de noms Oracle Cloud Infrastructure Object Storage etbucketnameest le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.Le fichier
credential_nameque vous utilisez dans cette étape correspond aux informations d'identification de la banque d'objets.Si
location_uriest une URL pré-authentifiée, il n'est pas nécessaire de fournir une valeurcredential_name.Cela crée un objet de répertoire nommé
KERBEROS_DIRdans votre base de données et utilise les informations d'identification pour télécharger les fichiers de configuration Kerberos de l'emplacement de la banque d'objets vers l'objet de répertoire.Vous pouvez utiliser le paramètre
kerberos_service_namepour spécifier le nom de service Kerberos. Exemple :BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type =>'KERBEROS', params => JSON_OBJECT( 'location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o', 'credential_name' value 'my_credential_name' 'kerberos_service_name' value 'oracle' )); END; / -
Après avoir activé l'authentification Kerberos, enlevez les fichiers de configuration
krb.confetv5srvtabde la banque d'objets. Vous pouvez utiliser les méthodes de la banque d'objets locale pour enlever ces fichiers, ou utiliserDBMS_CLOUD.DELETE_OBJECTpour les supprimer de la banque d'objets.
Pour plus d'informations sur Object Storage, reportez-vous à Accès à Oracle Cloud Infrastructure Object Storage et création d'un bucket.
Pour plus d'informations, reportez-vous à Procédure ENABLE_EXTERNAL_AUTHENTICATION.
Désactivation d'authentification Kerberos sur la base de données Autonomous AI
Avant d'activer tout autre modèle d'authentification externe sur votre base de données, vous devez désactiver l'authentification Kerberos qui exécute la procédure DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION.
Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
Pour plus d'informations, reportez-vous à Procédure DISABLE_EXTERNAL_AUTHENTICATION.
Remarque : pour fournir l'authentification Kerberos CMU-AD aux utilisateurs Microsoft Active Directory, vous devez continuer à configurer l'authentification CMU-AD sans désactiver l'authentification Kerberos.