Utilisation de Microsoft Active Directory avec Autonomous Database

Vous pouvez configurer Autonomous Database de façon à authentifier et à autoriser les utilisateurs Microsoft Active Directory.

Cette configuration permet aux utilisateurs Active Directory d'accéder à Autonomous Database à l'aide de leurs informations d'identification Active Directory, y compris les mots de passe et Kerberos.

Configuration de la fonctionnalité CMU avec Microsoft Active Directory sur Autonomous Database

Vous pouvez configurer Autonomous Database de façon à authentifier et à autoriser les utilisateurs Microsoft Active Directory.

Selon l'emplacement des serveurs Active Directory, il existe deux options pour configurer Autonomous Database avec des utilisateurs gérés de manière centralisée (CMU) avec Microsoft Active Directory :

  • Serveurs Active Directory (AD) accessibles au public : les serveurs Active Directory sont accessibles à partir d'Autonomous Database via le réseau Internet public.

  • Les serveurs Active Directory (AD) résident sur une adresse privée : les serveurs Active Directory résident sur une adresse privée et ne sont pas accessibles à partir d'Autonomous Database via le réseau Internet public. Dans ce cas, une étape de configuration supplémentaire est requise, comme indiqué dans la dernière étape de Configuration de la CMU avec Microsoft Active Directory sur Autonomous Database, où vous définissez la propriété de base de données ROUTE_OUTBOUND_CONNECTIONS.

Remarque

Pour plus d'informations sur l'utilisation d'Azure Active Directory avec Autonomous Database, reportez-vous à Utilisation d'un ID Microsoft avec Autonomous Database. L'option CMU prend en charge le serveur Microsoft Active Directory, mais pas le service Azure Active Directory.

L'intégration d'Autonomous Database avec la fonctionnalité Utilisateurs gérés centralement permet l'intégration à Microsoft Active Directory. La fonctionnalité Utilisateurs gérés centralement avec Active Directory fonctionne en mettant en correspondance les utilisateurs et rôles globaux de base de données Oracle avec les utilisateurs et groupes Microsoft Active Directory.

Vous devez remplir les prérequis suivants pour configurer la connexion entre Autonomous Database et Active Directory :

  • Microsoft Active Directory doit être installé et configuré. Pour plus d'informations, reportez-vous à Introduction à AD DS.

  • Vous devez créer un utilisateur d'annuaire de service Oracle dans Active Directory. Pour plus d'informations sur le compte utilisateur d'annuaire de service Oracle, reportez-vous à Connexion à Microsoft Active Directory.

  • Un administrateur système Active Directory doit avoir installé le filtre de mot de passe Oracle sur les serveurs Active Directory, et configuré des groupes Active Directory avec des utilisateurs Active Directory pour répondre à vos besoins.

    Remarque

    Cette opération n'est pas requise si vous utilisez l'authentification Kerberos pour CMU Active Directory. Pour plus d'informations, reportez-vous à la section Kerberos Authentication for CMU with Microsoft Active Directory.

    Si vous utilisez l'authentification par motde passe avec la fonctionnalité CMU Active Directory pour Autonomous Database, vous devez donc passer par l'utilitaire inclus opwdintg.exe pour installer le filtre de mots de passe Oracle sur Active Directory, étendre le schéma et créer trois groupes ORA_VFR pour trois types De génération De vérificateur De Mot de passe. Pour plus d'informations sur l'installation du filtre de mot de passe Oracle, reportez-vous à Connexion à Microsoft Active Directory.

  • Vous avez besoin du portefeuille de base de données de configuration de la fonctionnalité Utilisateurs gérés centralement cwallet.sso et du fichier de configuration de la fonctionnalité dsi.ora afin de configurer cette dernière pour votre base de données autonome:

    • Si vous avez configuré la fonctionnalité Utilisateurs gérés centralement pour une base de données sur site, vous pouvez obtenir ces fichiers de configuration à partir du serveur de base de données sur site.

    • Si vous n'avez pas configuré la fonctionnalité CMU pour une base de données on-premise, vous devez créer ces fichiers. Vous téléchargez ensuite les fichiers de configuration vers le cloud pour configurer la CMU sur votre instance Autonomous Database. Vous pouvez valider le portefeuille et le fichier dsi.ora en configurant la fonctionnalité Utilisateurs gérés centralement pour une base de données sur site et en vérifiant qu'un utilisateur Active Directory peut se connecter à cette base de données avec ces fichiers de configuration.

    Pour plus de détails sur le fichier de portefeuille dans le cadre de la fonctionnalité Utilisateurs gérés centralement, reportez-vous à Création du portefeuille pour une connexion sécurisée et à Vérification du portefeuille Oracle.

    Pour plus d'informations sur le fichier dsi.ora dans le cadre de la fonctionnalité Utilisateurs gérés centralement, reportez-vous à Création du fichier dsi.ora.

    Pour plus d'informations sur la configuration d'Active Directory pour la fonctionnalité Utilisateurs gérés centralement et sur le dépannage de cette dernière pour les bases de données sur site, reportez-vous à Procédure de configuration de la fonctionnalité Utilisateurs gérés centralement pour Database version 18c ou ultérieure (ID de document 2462012.1).

  • Le port 636 des serveurs Active Directory doit être ouvert à Autonomous Database dans Oracle Cloud Infrastructure. Cela permet à Autonomous Database d'accéder aux serveurs Active Directory.

  • Lorsque les serveurs Active Directory se trouvent sur une adresse publique :

    • Les serveurs Active Directory doivent être accessibles à partir d'Autonomous Database via le réseau Internet public.

    • Vous pouvez également étendre votre annuaire Active Directory sur site à Oracle Cloud Infrastructure où vous pouvez configurer des contrôleurs de domaine en lecture seule pour l'annuaire Active Directory sur site. Vous pouvez ainsi utiliser les RODC dans Oracle Cloud Infrastructure pour authentifier et autoriser les utilisateurs Active Directory sur site à accéder aux bases de données autonomes.

      Pour plus d'informations, reportez-vous à Etendre l'intégration Active Directory dans le cloud hybride.

Configuration de la fonctionnalité Utilisateurs gérés centralement avec Microsoft Active Directory sur Autonomous Database

Vous pouvez configurer Autonomous Database de façon à authentifier et à autoriser les utilisateurs Microsoft Active Directory.

Pour configurer Autonomous Database pour la CMU afin qu'il se connecte à Active Directory :

Remarque

Lorsque vous effectuez les étapes de configuration, connectez-vous à la base de données en tant qu'utilisateur ADMIN.
  1. Vérifiez si un autre modèle d'authentification externe est activé sur la base de données et désactivez-le.

    Vous pouvez continuer avec la configuration CMU-AD en plus de Kerberos pour fournir l'authentification CMU-AD Kerberos pour les utilisateurs Microsoft Active Directory.

    Pour plus d'informations, reportez-vous à la section Kerberos Authentication for CMU with Microsoft Active Directory.

  2. Téléchargez le fichier de base de données de configuration de la fonctionnalité Utilisateurs gérés centralement (cwallet.sso), le fichier de base de données de configuration de la fonctionnalité dsi.ora vers votre banque d'objets. Cette étape dépend de la banque d'objets que vous utilisez.

    Le fichier de configuration dsi.ora contient les informations permettant de trouver les serveurs Active Directory.

    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.

  3. Exécutez la procédure DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION et transmettez un URI d'emplacement avec l'argument JSON params. Vous devez placer les fichiers de configuration cwallet.sso et dsi.ora à l'emplacement Object Storage indiqué dans le paramètre location_uri.

    Par exemple :

    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
           type     => 'CMU',
           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;
    /

    Oracle recommande de stocker les fichiers de configuration CMU dans un bucket privé de la banque d'objets.

    Dans cet exemple, namespace-string est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

    L'élément credential_name que vous utilisez dans cette étape est les informations d'identification permettant d'accéder à la banque d'objets.

    La création d'informations d'identification pour accéder à la banque d'objets Oracle Cloud Infrastructure n'est pas requise si vous activez les informations d'identification de principal de ressource. Pour plus d'informations, reportez-vous à Utilisation du principal de ressource pour accéder à des ressources Oracle Cloud Infrastructure.

    Si location_uri est une URL pré-authentifiée ou une URL pré-signée, il n'est pas nécessaire de fournir une valeur credential_name.

    La procédure crée un objet de répertoire nommé CMU_WALLET_DIR dans la base de données et copie les fichiers de configuration CMU de l'emplacement de la banque d'objets vers l'objet de répertoire. Cette procédure définit également la propriété de base de données CMU_WALLET sur la valeur 'CMU_WALLET_DIR' et définit la valeur du paramètre LDAP_DIRECTORY_ACCESS sur la valeur PASSWORD pour permettre l'accès de l'instance Autonomous Database à Active Directory.

  4. Une fois l'authentification CMU activée, enlevez les fichiers de configuration CMU, y compris le portefeuille de base de données cwallet.sso et le fichier de configuration CMU dsi.ora de la banque d'objets. Vous pouvez utiliser les méthodes locales de la banque d'objets pour enlever ces fichiers, ou utiliser DBMS_CLOUD.DELETE_OBJECT pour les supprimer de la banque d'objets.
  5. Lorsque des serveurs Active Directory se trouvent sur une adresse privée, effectuez des étapes de configuration supplémentaires pour fournir l'accès à l'adresse privée.
    1. Définissez la propriété de base de données ROUTE_OUTBOUND_CONNECTIONS sur la valeur 'PRIVATE_ENDPOINT'.
    2. Vérifiez que le fichier de configuration CMU-AD dsi.ora inclut des noms d'hôte. Lorsque ROUTE_OUTBOUND_CONNECTIONS est défini sur 'PRIVATE_TARGET', les adresses IP ne peuvent pas être indiquées dans dsi.ora.

Remarque pour la fonctionnalité Utilisateurs gérés centralement avec Active Directory sur Autonomous Database :

  • Seule l'authentification par mot de passe ou Kerberos est prise en charge pour la CMU avec Autonomous Database. Lorsque vous utilisez l'authentification CMU avec Autonomous Database, les autres méthodes d'authentification CMU telles qu'Azure AD, OCI IAM et PKI ne sont pas prises en charge.

See Disable Active Directory Access on Autonomous Database for instructions to disable the access from Autonomous Database to Active Directory.

Pour plus d'informations sur DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION, reportez-vous à Procédure ENABLE_EXTERNAL_AUTHENTICATION.

Pour plus d'informations sur la configuration de la fonctionnalité Utilisateurs gérés centralement avec Microsoft Active Directory, reportez-vous à Configuration de la fonctionnalité Utilisateurs gérés centralement avec Microsoft Active Directory.

Authentification Kerberos pour CMU avec Microsoft Active Directory

Vous pouvez configurer Autonomous Database pour qu'il utilise l'authentification Kerberos pour CMU avec les utilisateurs Microsoft Active Directory. Cette configuration permet aux utilisateurs CMU Active Directory (CMU-AD) d'accéder à une instance Autonomous Database à l'aide des informations d'identification Kerberos.

Kerberos peut être configuré avec ou sans CMU-AD. Il vous suffit de configurer Kerberos pour créer et gérer un utilisateur de base de données pour chaque utilisateur Kerberos. La configuration de Kerberos avec CMU vous permet de mettre en correspondance un groupe Active Directory d'utilisateurs Kerberos avec un seul utilisateur de base de données, schéma partagé, afin que l'accès à la base de données puisse être contrôlé par l'appartenance à un groupe Active Directory. Pour plus de détails sur la configuration de Kerberos sans CMU-AD, reportez-vous à la section Configure Kerberos Authentication with Autonomous Database.

Remarque

Lors de l'implémentation à la fois de l'authentification Kerberos et de CMU-AD pour autorisation, Oracle recommande d'implémenter d'abord l'authentification Kerberos, puis d'ajouter l'autorisation CMU-AD.
  1. Activez Kerberos dans votre instance Autonomous Database à l'aide du serveur Microsoft Active Directory Kerberos.

    Seuls les serveurs Kerberos Microsoft Active Directory sont pris en charge pour Kerberos lorsque vous configurez l'authentification Kerberos avec CMU-AD.

    1. Afin d'activer l'authentification Kerberos pour Autonomous Database, vous devez obtenir les fichiers de configuration Kerberos krb.conf et le fichier v5srvtab de la table des clés de service.

      Pour générer ces fichiers lorsque vous configurez l'authentification Kerberos avec CMU-AD, vous avez besoin du nom d'hôte du serveur. Vous pouvez obtenir la valeur de l'hôte de serveur à partir de l'attribut PUBLIC_DOMAIN_NAME dans la colonne CLOUD_IDENTITY de V$PDBS. Cette valeur est différente du nom de domaine qualifié complet (FQDN) d'une base de données sur une adresse privée.

      Utilisez la commande suivante pour obtenir le nom d'hôte du serveur :

      SELECT guid ||'/'|| json_value(cloud_identity, '$.PUBLIC_DOMAIN_NAME')
          "KSERVICE/KINSTANCE" FROM v$pdbs;

      Vous pouvez utiliser une commande telle que la suivante pour générer le fichier de table de clés de service :

      ktpass -princ ORACLE/DATABASE_SERVER_HOST_NAME.DATABASE_SERVER_HOST_DOMAIN@ACTIVE_DIRECTORY_DEFAULT_DOMAIN
                       -pass ACTIVE_DIRECTORY_PASSWORD 
                       -mapuser DATABASE_SERVER_HOST_NAME 
                       -crypto ALL 
                       -ptype KRB5_NT_PRINCIPAL 
                       -out database.keytab

      Par exemple :

      ktpass -princ ORACLE/user.example.com@example.com 
                       -pass password -mapuser dbexamplekrb 
                       -crypto ALL -ptype KRB5_NT_PRINCIPAL -out database.keytab

      Pour plus d'informations sur ces fichiers et pour connaître les étapes à suivre pour les obtenir, reportez-vous à la section Configuring Kerberos Authentication.

    2. Copiez les fichiers de configuration Kerberos krb.conf et v5srvtab dans un bucket de la banque d'objets.

      Cette étape diffère en fonction de la banque d'objets que vous utilisez.

      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.

    3. Exécutez DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION pour activer l'authentification externe 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')
         );
      END;
      /
      Remarque

      Oracle recommande de stocker les fichiers de configuration Kerberos dans un bucket privé dans votre banque d'objets.

      Dans cet exemple, namespace-string est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

      Le fichier credential_name que vous utilisez dans cette étape correspond aux informations d'identification de la banque d'objets.

      Pour plus d'informations, reportez-vous à Activer l'authentification Kerberos sur Autonomous Database.

    4. Vérifiez que Kerberos est configuré et activé.
      SELECT property_value FROM database_properties 
            WHERE property_name='KERBEROS_DIRECTORY';
  2. Activez et configurez CMU-AD sur Autonomous Database.
    1. Téléchargez le fichier de base de données de configuration de la fonctionnalité Utilisateurs gérés centralement (cwallet.sso), le fichier de base de données de configuration de la fonctionnalité dsi.ora vers votre banque d'objets.

      Vous téléchargez cwallet.sso afin que la configuration CMU-AD dispose des informations d'identification permettant à l'instance Autonomous Database de se connecter au compte de service Active Directory.

      Le fichier de configuration dsi.ora contient les informations permettant de trouver les serveurs Active Directory.

      Cette étape diffère en fonction de la banque d'objets que vous utilisez.

      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.

    2. Exécutez la procédure DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION et transmettez un URI d'emplacement avec l'argument JSON params. Vous devez placer les fichiers de configuration cwallet.sso et dsi.ora à l'emplacement Object Storage indiqué dans le paramètre location_uri.

      Par exemple :

      BEGIN
         DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
             type     => 'CMU',
             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;
      /

      Oracle recommande de stocker les fichiers de configuration CMU dans un bucket privé de la banque d'objets.

      Dans cet exemple, namespace-string est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

      L'élément credential_name que vous utilisez dans cette étape est les informations d'identification permettant d'accéder à la banque d'objets.

      La création d'informations d'identification pour accéder à la banque d'objets Oracle Cloud Infrastructure n'est pas requise si vous activez les informations d'identification de principal de ressource. Pour plus d'informations, reportez-vous à Utilisation du principal de ressource pour accéder à des ressources Oracle Cloud Infrastructure.

      Si location_uri est une URL pré-authentifiée ou une URL pré-signée, il n'est pas nécessaire de fournir une valeur credential_name.

      Pour plus d'informations, reportez-vous à Prérequis pour la configuration de la fonctionnalité CMU avec Microsoft Active Directory sur Autonomous Database.

    3. Vérifiez que CMU-AD est configuré et activé.
      SELECT property_value FROM database_properties
            WHERE property_name='CMU_WALLET';
  3. Après avoir terminé les étapes 1 et 2, vérifiez que la configuration de l'authentification Kerberos avec CMU-AD est terminée.
    1. Connectez-vous à l'instance Autonomous Database en tant qu'utilisateur Active Directory afin que les informations SYS_CONTEXT soient renseignées dans USERENV.
    2. Interrogez SYS_CONTEXT USERENV.
      SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;
      
      SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD')                                 
      --------------------------------------------------------------------------------
      KERBEROS_GLOBAL

    Lorsque l'authentification Kerberos est configurée et activée sans CMU-AD, cette requête renvoie : KERBEROS. Reportez-vous à Configuration de l'authentification Kerberos avec Autonomous Database pour plus d'informations.

    Lorsque l'authentification CMU-AD est configurée sans Kerberos, cette requête renvoie : PASSWORD_GLOBAL. Pour plus d'informations, reportez-vous à Prérequis pour la configuration de la fonctionnalité CMU avec Microsoft Active Directory sur Autonomous Database.

Remarques concernant l'utilisation de l'authentification Kerberos avec CMU-AD :

  • Vous n'avez pas besoin d'ajouter le filtre de mot de passe lorsque vous utilisez l'authentification Kerberos avec CMU-AD. Pour plus d'informations, reportez-vous à Prérequis pour la configuration de la fonctionnalité CMU avec Microsoft Active Directory sur Autonomous Database.

  • L'ajout ou la suppression d'utilisateurs Active Directory est pris en charge, de la même manière qu'avec CMU avec Active Directory lorsque vous utilisez l'authentification par mot de passe. Pour plus d'informations, reportez-vous à Ajout d'utilisateurs Microsoft Active Directory sur Autonomous Database.

  • Les restrictions existantes concernant l'authentification par rapport aux outils intégrés Autonomous Database avec CMU avec mot de passe Active Directory s'appliquent également à CMU avec Active Directory avec authentification Kerberos. Pour plus d'informations, reportez-vous à Restrictions liées aux outils avec Active Directory sur Autonomous Database.

  • Utilisez DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION pour désactiver CMU-AD avec l'authentification Kerberos. Pour plus d'informations, reportez-vous à Procédure DISABLE_EXTERNAL_AUTHENTICATION.

  • Lorsque les serveurs CMU-AD se trouvent sur une adresse privée, pour utiliser CMU-AD avec l'authentification Kerberos, le nom d'hôte du serveur utilisé pour générer l'onglet de clé doit être défini sur la valeur de l'attribut PUBLIC_DOMAIN_NAME dans la colonne CLOUD_IDENTITY de V$PDBS. Cette valeur est différente du nom de domaine qualifié complet pour une base de données d'adresse privée.

Ajout de rôles Microsoft Active Directory sur Autonomous Database

Pour ajouter des rôles Active Directory, mettez en correspondance les rôles globaux de base de données avec les groupes Active Directory à l'aide d'instructions CREATE ROLE ou ALTER ROLE (et incluez la clause IDENTIFIED GLOBALLY AS).

Afin d'ajouter des rôles globaux pour les groupes Active Directory sur Autonomous Database, procédez comme suit :

  1. Connectez-vous en tant qu'utilisateur ADMIN à la base de données configurée pour utiliser Active Directory (l'utilisateur ADMIN dispose des privilèges système CREATE ROLE et ALTER ROLE dont vous avez besoin pour ces étapes).
  2. Définissez l'autorisation de base de données pour les rôles Autonomous Database avec l'instruction CREATE ROLE ou ALTER ROLE. Incluez la clause IDENTIFIED GLOBALLY AS et indiquez le nom distinctif d'un groupe Active Directory.

    Utilisez la syntaxe suivante pour mettre en correspondance un groupe d'utilisateurs d'annuaire avec un rôle global de base de données :

    CREATE ROLE global_role IDENTIFIED GLOBALLY AS 
         'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';

    Par exemple :

    CREATE ROLE widget_sales_role IDENTIFIED GLOBALLY AS
         'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com';

    Dans cet exemple, tous les membres de widget_sales_group disposent des autorisations du rôle de base de données widget_sales_role lorsqu'ils se connectent à la base de données.

  3. Utilisez des instructions GRANT pour accorder les privilèges requis ou d'autres rôles au rôle global.

    Par exemple :

    GRANT CREATE SESSION TO WIDGET_SALES_ROLE;
    GRANT DWROLE TO WIDGET_SALES_ROLE;

    DWROLE est un rôle prédéfini avec des privilèges communs définis. Pour plus d'informations sur la définition de privilèges communs pour les utilisateurs Autonomous Database, reportez-vous à Gestion des privilèges utilisateur sur Autonomous Database - Connexion à un outil client.

  4. Si vous voulez qu'un rôle de base de données existant soit associé à un groupe Active Directory, 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 Active Directory.

    Utilisez la syntaxe suivante pour modifier un rôle de base de données existant afin de le mettre en correspondance avec un groupe Active Directory :

    ALTER ROLE existing_database_role 
       IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';
  5. Si vous voulez créer des correspondances de rôle global supplémentaires pour d'autres groupes Active Directory, suivez ces étapes pour chaque groupe Active Directory.

Pour plus d'informations sur la configuration des rôles avec Microsoft Active Directory, reportez-vous à la section Configuring Authorization for Centrally Managed Users dans Oracle Database 19c Security Guide ou Oracle Database 23ai Security Guide.

Ajout d'utilisateurs Microsoft Active Directory sur Autonomous Database

Pour ajouter des utilisateurs Active Directory afin d'accéder à une base de données, mettez en correspondance des utilisateurs globaux de base de données avec des groupes Active Directory ou des utilisateurs avec des instructions CREATE USER ou ALTER USER (avec la clause IDENTIFIED GLOBALLY AS).

L'intégration d'Autonomous Database à Active Directory fonctionne en mettant en correspondance les utilisateurs et groupes Microsoft Active Directory directement avec les utilisateurs et rôles globaux de base de données Oracle.

Afin d'ajouter des utilisateurs globaux pour les groupes ou utilisateurs Active Directory sur Autonomous Database, procédez comme suit :

  1. Connectez-vous en tant qu'utilisateur ADMIN à la base de données configurée pour utiliser Active Directory (l'utilisateur ADMIN dispose des privilèges système CREATE USER et ALTER USER requis dont vous avez besoin pour ces étapes).
  2. Définissez l'autorisation de base de données pour les utilisateurs Autonomous Database avec des instructions CREATE USER ou ALTER USER, et incluez la clause IDENTIFIED GLOBALLY AS, en indiquant le nom distinctif d'un utilisateur ou d'un groupe Active Directory.

    Utilisez la syntaxe suivante pour mettre en correspondance un utilisateur d'annuaire avec un utilisateur global de base de données :

    CREATE USER global_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_USER';

    Utilisez la syntaxe suivante pour mettre en correspondance un groupe d'annuaire avec un utilisateur global de base de données :

    CREATE USER global_user IDENTIFIED GLOBALLY AS
        'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';

    Par exemple, pour mettre en correspondance un groupe d'annuaire nommé widget_sales_group dans l'unité organisationnelle sales du domaine production.example.com avec un utilisateur global de base de données partagé nommé WIDGET_SALES :

    CREATE USER widget_sales IDENTIFIED GLOBALLY AS
         'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com';
    

    Vous créez ainsi une correspondance d'utilisateur global partagé. La correspondance, avec l'utilisateur global widget_sales, s'applique à tous les utilisateurs du groupe Active Directory. Ainsi, tout membre de widget_sales_group peut se connecter à la base de données à l'aide de ses informations d'identification Active Directory (via la correspondance partagée de l'utilisateur global widget_sales).

  3. Si vous voulez que les utilisateurs Active Directory passent par un utilisateur de base de données existant, et possèdent leur propre schéma et leurs données existantes, indiquez ALTER USER pour modifier un utilisateur de base de données existant afin de le mettre en correspondance avec un groupe ou utilisateur Active Directory.
    • Utilisez la syntaxe suivante pour modifier un utilisateur de base de données existant afin de le mettre en correspondance avec un utilisateur Active Directory :

      ALTER USER existing_database_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_USER';
    • Utilisez la syntaxe suivante pour modifier un utilisateur de base de données existant afin de le mettre en correspondance avec un groupe Active Directory :

      ALTER USER existing_database_user 
           IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';
  4. Si vous voulez créer des correspondances d'utilisateur global supplémentaires pour d'autres groupes ou utilisateurs Active Directory, suivez ces étapes pour chaque groupe ou utilisateur Active Directory.

Pour plus d'informations sur la configuration des rôles avec Microsoft Active Directory, reportez-vous à la section Configuring Authorization for Centrally Managed Users dans Oracle Database 19c Security Guide ou Oracle Database 23ai Security Guide.

Restrictions liées aux outils avec Active Directory sur Autonomous Database

Remarques sur l'utilisation des outils Autonomous Database avec Active Directory :

Connexion à Autonomous Database avec des informations d'identification d'utilisateur Active Directory

Une fois que l'utilisateur ADMIN a terminé les étapes de configuration de CMU Active Directory et créé des rôles globaux et des utilisateurs globaux, les utilisateurs se connectent à la base de données à l'aide de leur nom utilisateur et de leur mot de passe Active Directory.

Remarque

Ne vous connectez pas à l'aide d'un nom utilisateur global. Un nom utilisateur global ne dispose d'aucun mot de passe et entraîne l'échec de la connexion. Vous devez avoir mis en place une correspondance d'utilisateur global dans votre base de données autonome pour vous connecter à la base de données. Vous ne pouvez pas vous connecter à la base de données avec des correspondances de rôle global uniquement.
  1. Pour vous connecter à la base de données à l'aide d'un nom utilisateur et d'un mot de passe Active Directory, connectez-vous comme suit :
    CONNECT "AD_DOMAIN\AD_USERNAME"/AD_USER_PASSWORD@TNS_ALIAS_OF_THE_AUTONOMOUS_DATABASE;

    Par exemple :

    CONNECT "production\pfitch"/password@adbname_medium;

    Vous devez indiquer des guillemets lorsque le domaine Active Directory est inclus avec le nom utilisateur, comme ici : "production\pfitch".

    Dans cet exemple, le nom utilisateur Active Directory est pfitch dans le domaine production. L'utilisateur Active Directory est membre du groupe widget_sales_group identifié par son nom distinctif 'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com'.

Après avoir configuré la CMU avec Active Directory sur Autonomous Database et configuré l'autorisation Active Directory, avec des rôles globaux et des utilisateurs globaux, vous pouvez vous connecter à votre base de données à l'aide de l'une des méthodes de connexion décrites dans Connexion à Autonomous Database. Lorsque vous vous connectez, si vous voulez employer un utilisateur Active Directory, indiquez les informations d'identification de l'utilisateur Active Directory. Par exemple, indiquez le nom utilisateur au format suivant "AD_DOMAIN\AD_USERNAME" (les guillemets doivent être inclus) et utilisez votre mot de passe AD_USER_PASSWORD.

Si votre instance Autonomous Database est en mode restreint, seuls les utilisateurs disposant du privilège RESTRICTED SESSION peuvent se connecter à la base de données. Ce privilège est accordé à l'utilisateur ADMIN. Vous pouvez utiliser le mode d'accès restreint pour effectuer des tâches d'administration telles que l'indexation, les chargements de données ou d'autres activités planifiées. Pour plus d'informations, reportez-vous à Modification du mode d'opération d'Autonomous Database sur Lecture/Ecriture, Lecture seule ou Restreint.

Vérification des informations de connexion d'utilisateur Active Directory avec Autonomous Database

Lorsque les utilisateurs se connectent à la base de données à l'aide de leur nom utilisateur et de leur mot de passe Active Directory, vous pouvez vérifier et auditer l'activité de l'utilisateur.

Par exemple, lorsque l'utilisateur pfitch se connecte :

CONNECT "production\pfitch"/password@exampleadb_medium;

Le nom utilisateur de connexion de l'utilisateur Active Directory (samAccountName) est pfitch et widget_sales_group est le nom du groupe Active Directory, et widget_sales est l'utilisateur global de base de données.

Une fois que pfitch se connecte à la base de données, la commande SHOW USER affiche le nom utilisateur global :

SHOW USER;

USER is "WIDGET_SALES"

La commande suivante affiche le nom distinctif de l'utilisateur Active Directory :

SELECT SYS_CONTEXT('USERENV', 'ENTERPRISE_IDENTITY') FROM DUAL;

Par exemple, vous pouvez vérifier l'identité d'entreprise de cet utilisateur géré centralement :

SQL> SELECT SYS_CONTEXT('USERENV', 'ENTERPRISE_IDENTITY') FROM DUAL;

SYS_CONTEXT('USERENV','ENTERPRISE_IDENTITY')
----------------------------------------------------------------------
cn=Peter Fitch,ou=sales,dc=production,dc=examplecorp,dc=com

La commande suivante affiche "AD_DOMAIN\AD_USERNAME" :

SELECT SYS_CONTEXT('USERENV', 'AUTHENTICATED_IDENTITY') FROM DUAL;

Par exemple, l'identité de l'utilisateur authentifié par Active Directory est capturée et auditée lorsque l'utilisateur se connecte à la base de données :

SQL> SELECT SYS_CONTEXT('USERENV', 'AUTHENTICATED_IDENTITY') FROM DUAL;

SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY')
----------------------------------------------------------------------
production\pfitch

Pour plus d'informations, reportez-vous à la section Verifying the Centrally Managed User Logon Information dans Oracle Database 19c Security Guide ou Oracle Database 23ai Security Guide.

Suppression d'utilisateurs et de rôles Active Directory sur Autonomous Database

Pour enlever des utilisateurs et des rôles Active Directory des bases de données autonomes, utilisez des commandes de base de données standard. Vous n'enlevez pas les utilisateurs ou groupes Active Directory associés qui ont été mis en correspondance à partir des utilisateurs ou des rôles de base de données supprimés.

Pour enlever des utilisateurs ou des rôles d'Autonomous Database, procédez comme suit :

  1. Connectez-vous à la base de données configurée avec Active Directory en tant qu'utilisateur disposant du privilège système DROP USER ou DROP ROLE.
  2. Supprimez les utilisateurs ou rôles globaux mis en correspondance avec des utilisateurs ou des groupes Active Directory à l'aide de l'instruction DROP USER ou DROP ROLE.
    Pour plus d'informations, reportez-vous à Enlèvement d'utilisateurs sur Autonomous Database.

Désactivation de l'accès à Active Directory sur Autonomous Database

Décrit les étapes à suivre pour enlever la configuration CMU de votre instance Autonomous Database (et désactiver l'accès LDAP de votre instance Autonomous Database vers Active Directory).

Après avoir configuré votre instance Autonomous Database pour accéder à CMU Active Directory, vous pouvez désactiver l'accès comme suit :

  1. Connectez-vous à Autonomous Database en tant qu'utilisateur ADMIN.
  2. Utilisez DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION pour désactiver l'authentification CMU.
    Remarque

    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.

    Par exemple :

    BEGIN   
       DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /

    Cela désactive l'authentification CMU sur votre instance Autonomous Database.

Pour plus d'informations, reportez-vous à Procédure DISABLE_EXTERNAL_AUTHENTICATION.