Sécurité d'audit, modifications d'artefact et événements LCM

Les administrateurs de service peuvent activer l'audit de sécurité pour suivre les modifications apportées au serveur Essbase.

Selon les paramètres indiqués dans le fichier de stratégie d'audit, Essbase collecte des informations à propos des modifications apportées à la sécurité au niveau du système, aux artefacts et aux événements LCM, ainsi qu'à propos des instructions MaxL exécutées (y compris les imports). Essbase regroupe les informations suivies dans un fichier journal d'audit ou les transmet en continu vers une base de données externe. Les informations suivies à propos de chaque événement incluent la date et l'heure, le client, l'utilisateur, les artefacts concernés, la durée, l'ID, le nom de l'application et de la base de données, le statut et une description.

Vous pouvez activer un audit de ces événements au niveau du serveur à l'aide du paramètre de configuration AUDITTRAIL SECURITY Essbase.

Workflow d'activation de l'audit de sécurité pour le serveur Essbase

Ce workflow explique comment activer l'audit de sécurité sur le serveur Essbase à l'aide de AUDITTRAIL SECURITY. Après avoir activé l'audit, définissez EssbaseSecurityAuditLogPolicy. Essbase peut écrire les enregistrements d'audit dans un fichier CSV ou les transférer vers une base de données externe.

Dans ce workflow, Oracle Database correspond à la base de données externe, mais vous pouvez également utiliser SQL Server, MySQL ou DB2.

Pour effectuer ce workflow, vous devez être administrateur système. Vous devrez accéder au <chemin de configuration Essbase> sur l'ordinateur du serveur Essbase.

Ce chemin contient les fichiers que vous devrez modifier :
  • Fichier de configuration essbase.cfg
  • Fichier de stratégie d'audit de sécurité par défaut
  1. Activez l'audit des événements de serveur en ajoutant la configuration suivante au fichier essbase.cfg sur l'ordinateur serveur Essbase :

    AUDITTRAIL SECURITY

    Une fois la configuration mise à jour, redémarrez Essbase.

    Reportez-vous à Définition de propriétés de configuration de niveau serveur et à Démarrage, arrêt et vérification des serveurs.

  2. Un fichier de stratégie par défaut (XML) est créé sur le serveur Essbase. Ce fichier, EssbaseSecurityAuditLogPolicy.xml, se trouve dans le chemin que vous avez indiqué lors de la phase de configuration du déploiement pour stocker la configuration Essbase (<chemin de configuration Essbase>, qui est également l'emplacement du fichier essbase.cfg).

    Le fichier de stratégie par défaut créé comporte le contenu suivant :
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>CSV</audit_sink_type>
             <max-file-size>50000000</max-file-size>
             <roll-nos>100</roll-nos>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
    
    CSV est le type de récepteur d'audit par défaut. Si vous utilisez le type de récepteur d'audit (CSV) par défaut et que vous vérifiez que les détails de l'audit sont écrits dans le fichier journal d'audit de sécurité au format CSV, procédez comme suit :
    1. Effectuez une action correspondant à un événement pouvant faire l'objet d'un audit, telle que la création d'une application. Vous pouvez choisir n'importe quelle action répertoriée dans la section <audit_events_to_capture> de votre stratégie.
    2. Connectez-vous avec SSH au serveur Essbase.
    3. Accédez à <DOMAIN_HOME>/servers/serverName/logs/essbase/. Si vous ne savez pas où se trouve <DOMAIN_HOME, reportez-vous à Emplacements d'environnement dans la plate-forme Essbase.
    4. Ouvrez et vérifiez le fichier SecurityAuditLog_n.csv.

      Exemple de fichier journal d'audit de sécurité au format CSV :
      Image d'un fichier d'audit de sécurité au format CSV.

  3. Si vous voulez que la trace d'audit de sécurité soit transmise en continu vers une base de données externe, procédez comme suit :

    1. Créez une connexion à la source externe. Reportez-vous à Création de sources de données et de connexions globales ou à Création d'une source de données et d'une connexion de niveau application.
    2. Modifiez le fichier de stratégie de sorte à définir le récepteur d'audit sur DATABASE.
    3. Ajoutez un paramètre <db_connection_name> dans le paramètre <audit_sink>. La valeur du paramètre <db_connection_name> doit être le nom exact de la connexion créée lors de la sous-étape a ci-dessus.
    Exemple de stratégie d'audit modifiée pour transmettre en continu la trace d'audit de sécurité à Oracle Database :
    <?xml version="1.0" encoding="UTF-8"?>
    <security-audit-policy>
       <audit_events_to_capture>LOGIN,LOGINAS,LOGIN_FAIL,LOGOUT,SERVICE_ROLE_ASSIGN,SERVICE_ROLE_REVOKE,APPLICATION_ROLE_ASSIGN,APPLICATION_ROLE_REVOKE,ARTIFACT_UPLOADED,ARTIFACT_MODIFIED,ARTIFACT_DELETED,ARTIFACT_CREATE,ARTIFACT_RENAMED,APPLICATION_DELETED,APPLICATION_CREATE,APPLICATION_RENAMED,DATABASE_DELETED,DATABASE_CREATE,DATABASE_RENAMED,LCM_EXPORT_START,LCM_EXPORT_END,LCM_IMPORT_START,LCM_IMPORT_END,LCM_IMPORT_FAIL,DATA_LOAD_MAXL,LOAD_DATA_JOB_START,LOAD_DATA_JOB_END,LOAD_DATA_JOB_FAILED,DELETE_SESSION,EXECUTE_MAXL,APPLICATION_SET_ACTIVE,APPLICATION_START,APPLICATION_STOP,DATABASE_START,DATABASE_STOP</audit_events_to_capture>
       <audit_sinks>
          <audit_sink>
             <audit_sink_type>DATABASE</audit_sink_type>
               <db_connection_name>OraclePDB</db_connection_name>
          </audit_sink>
       </audit_sinks>
    </security-audit-policy>
  4. Vérifiez si les détails de l'audit sont transmis en continu à la base de données.

    1. Effectuez une action correspondant à un événement pouvant faire l'objet d'un audit, telle que la création d'une application. Vous pouvez choisir n'importe quelle action répertoriée dans la section <audit_events_to_capture> de votre stratégie.

      Essbase doit créer une table d'audit nommée ESSBASE_SECURITY_AUDIT_EVENT_LOG dans le schéma de base de données externe.

    2. Connectez-vous au SGBDR externe et exécutez une requête pour vérifier la présence de la table. Par exemple, connectez-vous à SQL Developer et exécutez la commande suivante :
      select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
  5. Utilisez un outil de visualisation de données pour afficher et analyser les enregistrements d'audit de sécurité. Vous pouvez utiliser Smart View, Oracle Data Desktop (disponible avec une licence Oracle Technology Network), ou des outils de visualisation open source ou provenant de votre fournisseur de base de données autre qu'Oracle.

A propos du fichier de stratégie d'audit

La stratégie d'audit est définie dans un fichier XML que vous pouvez modifier selon vos besoins. Dans ce fichier, vous pouvez indiquer les événements de serveur Essbase à suivre. Vous pouvez également y préciser si les données doivent être écrites dans un journal d'audit de sécurité ou transmises à une base de données externe. Si vous écrivez les données dans un journal d'audit, vous pouvez indiquer la taille maximale de fichier et le nombre de fichiers journaux d'audit de sécurité à conserver.

Essbase crée EssbaseSecurityAuditLogPolicy.xml lorsque vous redémarrez Essbase après avoir activé l'audit de sécurité. Vous pouvez ensuite modifier le fichier si nécessaire pour affiner la stratégie d'audit. Le fichier se trouve dans le chemin que vous avez indiqué lors de la phase de configuration du déploiement pour stocker la configuration Essbase (<chemin de configuration Essbase>, qui est également l'emplacement du fichier essbase.cfg). Si vous ne savez pas où trouver ce chemin dans votre environnement, reportez-vous à Emplacements d'environnement dans la plate-forme Essbase pour plus d'explications.

Pour modifier le fichier de stratégie d'audit, procédez comme suit :
  1. Accédez à EssbaseSecurityAuditLogPolicy.xml. Le fichier se trouve dans le répertoire d'application indiqué pendant la phase de configuration du déploiement Essbase.

  2. Ouvrez-le dans un éditeur de texte.

  3. Modifiez le récepteur d'audit, les informations de journalisation et les événements à suivre.

    1. Vous pouvez éventuellement ajouter <audit_sink_type>DATABASE</audit_sink_type> pour transmettre en continu les données vers une base de données externe.

    2. Si vous avez indiqué le type de récepteur d'audit DATABASE à l'étape a, sur la ligne suivante, ajoutez <db_connection_name>ConnectionName</db_connection_name> avec le nom de la connexion de base de données définie dans Workflow d'activation de l'audit de sécurité pour le serveur Essbase.

    3. Si vous écrivez les données dans un fichier journal d'audit, vous pouvez éventuellement modifier la taille maximale de fichier à l'aide de <max-file-size>n</max-file-size>, où n = nombre d'octets. La longueur par défaut est de 50000000 octets.

    4. Si vous écrivez les données dans un fichier journal d'audit, indiquez le nombre de fichiers journaux d'audit de sécurité au format CSV à enregistrer à l'aide de <roll-nos>n</roll-nos>, où n = nombre de fichiers.

    5. Indiquez les événements d'audit à capturer à l'aide de <audit_events_to_capture>events_list</audit_events_to_capture>.

Les événements que vous indiquez dans le fichier de stratégie d'audit sont suivis dans un fichier journal d'audit de sécurité ou transmis en continu vers une base de données externe.

Vous pouvez indiquer que les événements suivants doivent être capturés dans le fichier de stratégie d'audit :

Evénement Description
LOGIN Utilisateur [x] connecté
LOGIN_AS Utilisateur [x] connecté comme [y]
LOGOUT Utilisateur [x] déconnecté
LOGIN_FAIL Echec de la connexion de l'utilisateur [x]
SERVICE_ROLE_ASSIGN Rôle de service Essbase [x] affecté à [y]
SERVICE_ROLE_REVOKE Rôle de service Essbase [x] révoqué de [y]
APPLICATION_ROLE_ASSIGN Le rôle [y] a été provisionné pour l'utilisateur/le groupe [x] sur l'application [z]
APPLICATION_ROLE_REVOKE Le rôle [y] a été révoqué pour l'utilisateur/le groupe [x] sur l'application [z]
ARTIFACT_CREATE Artefact [x] de type [y] créé
ARTIFACT_UPLOADED Demande de chargement d'artefact appelée pour l'application [a], la base de données [b], le nom d'objet [c] et le type d'objet [d]
ARTIFACT_MODIFIED Artefact [x] de type [y] modifié
ARTIFACT_DELETED Artefact [x] de type [y] supprimé
ARTIFACT_RENAMED Artefact [x] de type [y] renommé en [z]
APPLICATION_DELETED Application [x] supprimée
APPLICATION_CREATE Application [x] créée
APPLICATION_RENAMED Application [x] renommée en [y]
DATABASE_DELETED Base de données [x] supprimée dans l'application [y]
DATABASE_CREATE Base de données [x] créée dans l'application [y]
DATABASE_RENAMED Base de données [x] renommée en [y] dans l'application [z]
LCM_EXPORT_START Le job d'export LCM a démarré avec le nom de fichier [x]
LCM_EXPORT_END Le job d'export LCM est terminé avec le nom de fichier [x] et le statut de travail [y]
LCM_IMPORT_START Import LCM démarré pour l'application [x] avec le nom de fichier [y]
LCM_IMPORT_END Import LCM terminé pour l'application [x] avec le nom de fichier [y]
LCM_IMPORT_FAIL Echec de l'import LCM pour l'application [x] avec le nom de fichier [y]
DATA_LOAD_MAXL Instruction d'import de données MaxL exécutée pour l'application [x] et la base de données [y] par l'utilisateur [z]
EXECUTE_MAXL Instruction MaxL [x] exécutée à partir de l'utilisateur [y]
LOAD_DATA_JOB_START Job de chargement de données démarré avec le fichier de données [x] et le fichier de règles [y]
LOAD_DATA_JOB_END Job de chargement de données du fichier de données [x] et du fichier de règles [y] terminé avec le statut [z]
LOAD_DATA_JOB_FAILED Echec du job de chargement de données pour la raison suivante : [x]
DELETE_SESSION Session [x] supprimée

Evénements d'audit de sécurité

Les événements d'audit de sécurité sont suivis dans un fichier journal d'audit de sécurité ou transmis en continu vers une base de données externe selon ce que vous indiquez dans le fichier de stratégie d'audit.

Pour obtenir des instructions sur l'ouverture du journal d'audit de sécurité ou de la table d'audit dans le schéma de base de données externe, reportez-vous à Workflow d'activation de l'audit de sécurité pour le serveur Essbase.

Le journal d'audit de sécurité et la table d'audit comprennent les informations suivantes (le cas échéant) pour chaque événement :
  • Heure : indique quand est survenu l'événement
  • Client : adresse IP ou nom d'hôte du client
  • Nom d'utilisateur : utilisateur qui lance l'action
  • ID de session : ID de la session Essbase
  • Type d'événement : type de l'événement
  • Type d'artefact : type d'artefact impliqué dans l'événement
    Exemples de type d'artefact :
    • Type d'artefact partition_file pour le type d'événement ARTIFACT_UPLOADED
    • Type d'artefact Application pour le type d'événement LCM_EXPORT_START
    • Type d'artefact Utilisateur pour le type d'événement APPLICATION_ROLE_ASSIGN
  • Nom d'artefact : nom de l'artefact impliqué dans l'événement Par exemple, un nom de fichier, d'utilisateur ou d'application.
  • Informations supplémentaires : informations supplémentaires associées à l'événement
  • Description : description de l'événement

    Le contenu du champ de description est localisé.

  • ID : identificateur unique universel à 128 bits qui décrit l'événement

    Exemple : 123e4567-e89b-12d3-a456-426614174000

  • Durée : durée de l'événement en millisecondes
  • Nom de l'application : nom de l'application
  • Nom de la base de données : nom de la base de données
  • Statut : succès ou échec