Authentifier les utilisateurs de base de données avec Kerberos
Vous pouvez configurer Autonomous AI Database sur une infrastructure Exadata dédiée afin d'utiliser le protocole d'authentification de réseau Kerberos pour authentifier les utilisateurs de base de données. Kerberos est un protocole d'authentification de réseau fort. Il utilise la cryptographie à clé secrète pour permettre une authentification forte de l'utilisateur au serveur.
-
La prise en charge d'une base de données autonome sur une infrastructure Exadata dédiée pour Kerberos offre les avantages de l'authentification unique et de l'authentification centralisée des utilisateurs Oracle. Kerberos est un système d'authentification de tierce partie approuvé qui repose sur des clés secrètes partagées. Il suppose que la tierce partie est sécurisée et offre des fonctionnalités d'authentification unique, un stockage centralisé des mots de passe, une authentification par lien de base de données et une sécurité améliorée du PC. Pour ce faire, il utilise un serveur d'authentification Kerberos.
-
Le système Kerberos repose sur le concept de ticket. Un ticket est un jeu d'informations électroniques qui identifient un utilisateur ou un service. Un ticket vous identifie, ainsi que vos privilèges d'accès réseau.
-
Avec l'authentification basée sur Kerberos, vous envoyez de manière transparente une demande de ticket à un centre de distribution de clés. Le centre de distribution de clés vous authentifie et vous accorde un ticket d'accès à la base de données.
Composants du système d'authentification Kerberos
Fournit un aperçu du système d'authentification Kerberos.
-
Un domaine de sécurité représente un domaine administratif 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 administratif particulier.
-
Les tickets sont émis par le centre de distribution de clés. 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 heure de renouvellement.
-
Les fichiers keytab contiennent les clés à long terme pour un ou plusieurs 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. Un principal est attribué à chaque utilisateur, hôte ou service. Un principal est une identité unique à laquelle le centre de distribution de clés peut affecter des tickets.
-
La prise en charge de Kerberos dans Autonomous AI Database utilise les valeurs suivantes pour divers composants qui constituent le nom d'un principal de service :
| Composant du principal de service | Valeur dans une base de données autonome sur l'IA |
|---|---|
kinstance |
Vous pouvez obtenir cette valeur à partir de l'attribut Utilisez l'interrogation suivante pour obtenir Note : Il s'agit de la valeur du paramètre |
kservice |
Dans Autonomous AI Database, vous disposez de deux options pour la valeur
Une fois Kerberos activé sur votre instance Autonomous AI Database, utilisez l'interrogation suivante pour voir le nom du service Kerberos : |
REALM |
Tout domaine de sécurité pris en charge par votre centre de distribution de clés. REALM doit toujours être en majuscules. |
Pour activer l'authentification Kerberos pour votre base de données d'IA autonome, vous devez garder vos fichiers de configuration Kerberos (krb.conf) et le fichier de table de clés de service (v5srvtab) prêts. Pour plus d'informations sur ces fichiers et les étapes pour les obtenir, voir Configuration de l'authentification Kerberos.
Notes sur l'authentification Kerberos sur la base de données autonome avec intelligence artificielle
Avant de procéder à l'authentification Kerberos sur une base de données autonome d'IA 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 Database, vous pouvez toujours utiliser l'authentification de base de données basée sur un mot de passe pour votre base de données.
-
Une seule méthode d'authentification externe peut être utilisée pour votre base de données IA autonome à la fois. Autrement dit, vous ne pouvez activer à tout moment que les modèles d'authentification Oracle Cloud Infrastructure (IAM), Centrally Managed User avec Active Directory (CMU-AD), Azure AD ou Kerberos.
Note : La seule exception est que l'authentification Kerberos peut être configurée au-dessus de CMU-AD pour fournir l'authentification CMU-AD Kerberos aux utilisateurs de Microsoft Active Directory.
-
L'authentification Kerberos n'est pas prise en charge pour les outils suivants :
-
API Oracle Database pour MongoDB
-
Services de données Oracle REST
-
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 de la console Oracle Cloud Infrastructure (OCI) pour réinitialiser le mot de passe de l'utilisateur ADMIN et retrouver l'accès si un fichier keytab corrompu entraîne l'échec de l'authentification de l'utilisateur ADMIN.
-
L'authentification Kerberos est prise en charge par le protocole TCP pour Autonomous AI Database version 19.27 ou ultérieure.
-
L'authentification Kerberos n'est pas prise en charge avec DB_LINKs et les bases de données avec Autonomous Data Guard.
Activer l'authentification Kerberos sur une base de données autonome avec intelligence artificielle
Suivez les étapes ci-dessous pour activer l'authentification Kerberos pour une base de données d'IA autonome sur une infrastructure Exadata dédiée :
-
Comme il ne peut y avoir qu'un seul modèle d'authentification externe activé pour une base de données IA autonome à 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, voir Configuration de l'authentification Kerberos dans le guide de sécurité d'Oracle Database 19c ou le guide de sécurité d'Oracle Database 26ai. -
Copiez les fichiers de configuration Kerberos
krb.confetv5srvtabdans un seau du magasin d'objets.Note : Oracle recommande de stocker les fichiers de configuration Kerberos dans un seau privé du magasin d'objets.
Si vous utilisez le magasin d'objets Oracle Cloud Infrastructure, voir Ajout de données dans le stockage d'objets pour plus de détails sur le chargement de fichiers.
-
Pour activer Kerberos en tant qu'authentification externe pour votre base de données d'intelligence artificielle autonome, 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.confetv5srvtabdans l'emplacement de stockage d'objets spécifié dans le paramètrelocation_uri.Par 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; /Note : Pour fournir l'authentification Kerberos CMU-AD aux utilisateurs de Microsoft Active Directory, vous pouvez activer l'authentification Kerberos au-dessus de CMU-AD en réglant
typeàCMUdans l'exemple ci-dessus.Dans cet exemple,
namespace-stringest l'espace de noms du stockage d'objets Oracle Cloud Infrastructure etbucketnameest le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.La valeur
credential_nameque vous utilisez dans cette étape correspond aux données d'identification pour le magasin d'objets.Si
location_uriest une URL préauthentifiée, l'indication d'une valeurcredential_namen'est pas requise.Cela crée un objet de répertoire nommé
KERBEROS_DIRdans votre base de données et utilise les données d'identification pour télécharger les fichiers de configuration Kerberos de l'emplacement du magasin d'objets vers l'objet de répertoire.Vous pouvez utiliser le paramètre
kerberos_service_namepour spécifier le nom du service Kerberos. Par 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, supprimez la configuration
krb.confetv5srvtabdu magasin d'objets. Vous pouvez utiliser les méthodes locales du magasin d'objets pour supprimer ces fichiers ou utiliserDBMS_CLOUD.DELETE_OBJECTpour supprimer les fichiers du magasin d'objets.
Voir Naviguer jusqu'au service de stockage d'objets pour Oracle Cloud Infrastructure et créer un seau pour plus d'informations sur le stockage d'objets.
Pour plus d'informations, voir Procédure ENABLE_EXTERNAL_AUTHENTICATION.
Désactiver l'authentification Kerberos sur une base de données autonome avec intelligence artificielle
Avant d'activer tout autre modèle d'authentification externe sur votre base de données, vous devez désactiver l'authentification Kerberos exécutant 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, voir Procédure DISABLE_EXTERNAL_AUTHENTICATION.
Note : Pour fournir l'authentification CMU-AD Kerberos aux utilisateurs de Microsoft Active Directory, vous devez continuer à configurer l'authentification CMU-AD sans désactiver l'authentification Kerberos.