Kontrollera säkerhet, artefaktändringar och LCM-händelser

Tjänsteadministratörer kan aktivera säkerhetskontroller för att spåra ändringar som görs på servern för Essbase.

Baserat på de parametrar du anger i en kontrollpolicyfil samlar Essbase in information om ändringar av säkerhet, artefakter, LCM-händelser och MaxL-satser som körts på systemnivå (inklusive importer). Essbase samordnar den spårade informationen i en kontrolloggfil eller strömmar den till en extern databas. Spårningsinformationen om varje händelse omfattar tid, klient, användare, berörda artefakter, tidsåtgång, id, applikations- och databasnamn, status och en beskrivning.

Du aktiverar kontroller på servernivå av alla dessa händelser med konfigurationsinställningen AUDITTRAIL SECURITY för Essbase.

Arbetsflöde för att aktivera säkerhetskontroll för Essbase Server

I det här arbetsflödet förklaras hur du aktiverar säkerhetskontroll i Essbase-servern med AUDITTRAIL SECURITY. När du har aktiverat kontroller definierar du EssbaseSecurityAuditLogPolicy. Du kan låta Essbase skriva kontrollposter till en CSV-fil eller strömma dem till en extern databas.

I det här arbetsflödet är Oracle Database den externa databasen, men du kan även använda SQL Server, MySQL eller DB2.

Ska du kunna slutföra arbetsflödet måste du vara systemadministratör och gå in på <sökvägen till Essbase-konfiguration> på maskinen för Essbase Server.

Via sökvägen hittar du de filer du behöver redigera:
  • konfigurationsfilen essbase.cfg
  • en standardpolicyfil för säkerhetskontroll
  1. Aktivera kontroll av serverhändelser genom att lägga till följande konfiguration i essbase.cfg på servermaskinen för Essbase:

    AUDITTRAIL SECURITY

    När du har uppdaterat konfigurationen startar du om Essbase.

    Läs Ange konfigurationsegenskaper på servernivå och Starta, stoppa och kontrollera servrar.

  2. En standardpolicyfil (XML) skapas på servern för Essbase. Den här filen, EssbaseSecurityAuditLogPolicy.xml, finns på den sökväg du angav i konfigurationsfasen av distributionen för att lagra konfigurationen av Essbase (<sökväg till Essbase-konfiguration>. Här finns också essbase.cfg).

    Den standardpolicyfil som skapas har detta innehåll:
    <?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 är standardtypen av kontrollsinkar. Om du använder standardtypen av kontrollsinkar (CSV) och vill testa att kontrolluppgifterna skrivs till säkerhetskontrolloggens CSV-fil gör du så här:
    1. Utför en åtgärd som är en kontrollerbar händelse, som att skapa en applikation. Du kan välja en av åtgärderna som listas i sektionen <audit_events_to_capture> i din policy.
    2. Logga in via SSH till Essbase-servern.
    3. Gå till <DOMAIN_HOME>/servers/serverName/logs/essbase/. Om du inte vet var <DOMAIN_HOME> finns tittar du i Miljöplatser på Essbase-plattformen.
    4. Öppna och granska filen SecurityAuditLog_n.csv.

      Exempel på en säkerhetskontrolloggfil i CSV-format:
      Bild av en säkerhetskontrollfil i CSV-format.

  3. Om du vill strömma säkerhetsrevisionsspåret till en extern databas gör du så här:

    1. Skapa en anslutning till den externa källan. Läs Skapa en global anslutning och en datakälla eller Skapa en anslutning och en datakälla på applikationsnivå.
    2. Redigera policyfilen för att ändra kontrollsinken till DATABASE.
    3. Lägg till en <db_connection_name>-parameter i parametern <audit_sink>. Värdet för parametern <db_connection_name> ska vara det exakta namnet på den anslutning som skapades i understeg a ovan.
    Exempel på en redigerad kontrollpolicy för strömning av säkerhetsrevisionsspåret till 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. Testa att kontrollinformationen har strömmats till databasen.

    1. Utför en åtgärd som är en kontrollerbar händelse, som att skapa en applikation. Du kan välja en av åtgärderna som listas i sektionen <audit_events_to_capture> i din policy.

      Essbase bör skapa en kontrolltabell med namnet ESSBASE_SECURITY_AUDIT_EVENT_LOG i schemat för den externa databasen.

    2. Logga in på det externa relationsdatabassystemet och kör en fråga för att kontrollera om tabellen finns. Logga till exempel in på SQL Developer och kör
      select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
  5. Använd ett datavisualiseringsverktyg till att visa och analysera säkerhetskontrollposter. Du kan använda Smart View, Oracle Data Desktop (tillgänglig med en licens för Oracle Technology Network), visualiseringsverktyg med öppen källkod från en leverantör av en databas med öppen källkod eller en leverantör av en annan databas än Oracles.

Om kontrollpolicyfilen

Kontrollpolicyn är definierad i en XML-fil som du kan redigera så att den passar för dina behov. I den här filen kan du ange vilka Essbase-serverhändelser som ska spåras och om data ska skrivas till en säkerhetskontrollogg eller strömmas till en extern databas. Om du skriver data till en kontrollogg kan du ange den största filstorleken och antalet säkerhetskontrolloggfiler som ska sparas.

Essbase skapar EssbaseSecurityAuditLogPolicy.xml när du startar om Essbase efter att ha aktiverat säkerhetskontroller. Sedan kan du redigera den filen om du behöver justera kontrollpolicyn. Filen finns på den sökväg du angav i konfigurationsfasen av distributionen för att lagra konfigurationen av Essbase (<sökväg till Essbase-konfiguration>. Här finns också essbase.cfg). Om du inte vet var den finns i din miljö hittar du information i Miljöplatser på Essbase-plattformen.

Så här redigerar du kontrollpolicyfilen:
  1. Gå till EssbaseSecurityAuditLogPolicy.xml. Filen finns i den applikationskatalog som angetts under konfigurationen av distributionen av Essbase.

  2. Öppna den i en textredigerare.

  3. Redigera kontrollsinken, inloggningsuppgifterna och händelserna som ska spåras.

    1. Du kan även lägga till <audit_sink_type>DATABASE</audit_sink_type> om du vill strömma data till en extern databas.

    2. Om du angav kontrollsinken DATABASE i steg a lägger du på nästa rad till <db_connection_name>ConnectionName</db_connection_name> med namnet på databasanslutningen du definierade i Arbetsflöde för att aktivera säkerhetskontroll för Essbase Server.

    3. Om du skriver data till en kontrolloggfil kan du ändra den största filstorleken med <max-file-size>n</max-file-size>, där n = antalet byte. Standardvärdet är 50000000 byte.

    4. Om du skriver data till en kontrolloggfil anger du hur många CSV-loggfiler för säkerhetskontrollen som ska sparas med <roll-nos>n</roll-nos>, där n = antalet filer.

    5. Ange vilka kontrollhändelser du vill registrera med <audit_events_to_capture>events_list</audit_events_to_capture>.

De händelser du anger i kontrollpolicyfilen spåras i en säkerhetskontrolloggfil eller strömmas till en extern databas.

Du kan ange att följande händelser ska registreras i kontrollpolicyfilen:

Händelse Beskrivning
LOGIN Användaren [x] har loggat in
LOGIN_AS Användaren [x] loggade in som [y]
LOGOUT Användaren [x] har loggat ut
LOGIN_FAIL Inloggning av användaren [x] utfördes inte
SERVICE_ROLE_ASSIGN Tilldelade tjänsterollen för Essbase [x] till [y]
SERVICE_ROLE_REVOKE Återkallade tjänsterollen för Essbase [x] från [y]
APPLICATION_ROLE_ASSIGN Användaren/gruppen [x] har tilldelats rollen [y] för applikationen [z]
APPLICATION_ROLE_REVOKE Användaren/gruppen [x] har återkallats från rollen [y] för applikationen [z]
ARTIFACT_CREATE Artefakten [x] av typen [y] har skapats
ARTIFACT_UPLOADED Artefaktuppladdningsbegäran anropade applikationen [a], databasen [b], objektnamnet [c] och objekttypen [d]
ARTIFACT_MODIFIED Artefakten [x] av typen [y] har ändrats
ARTIFACT_DELETED Artefakten [x] av typen [y] har tagits bort
ARTIFACT_RENAMED Namnet på artefakten [x] av typen [y] har ändrats till [z]
APPLICATION_DELETED Applikationen [x] har tagits bort
APPLICATION_CREATE Applikationen [x] har skapats
APPLICATION_RENAMED Namnet på applikationen [x] har ändrats till [y]
DATABASE_DELETED Databasen [x] har tagits bort i applikationen [y]
DATABASE_CREATE Databasen [x] har skapats i applikationen [y]
DATABASE_RENAMED Namnet på databasen [x] har ändrats till [y] i applikationen [z]
LCM_EXPORT_START LCM-exportjobbet startade med filnamnet [x]
LCM_EXPORT_END LCM-exportjobbet slutfördes med filnamnet [x] och jobbstatus [y]
LCM_IMPORT_START LCM-importen startade för applikationen [x] med filnamnet [y]
LCM_IMPORT_END LCM-importen slutfördes för applikationen [x] med filnamnet [y]
LCM_IMPORT_FAIL LCM-importen utfördes inte för applikationen [x] med filnamnet [y]
DATA_LOAD_MAXL MaxL-satsen för dataimport körs för applikationen [x] och databasen [y] av användaren [z]
EXECUTE_MAXL MaxL-satsen [x] körs av användaren [y]
LOAD_DATA_JOB_START Dataladdningsjobbet startades med datafilen [x] och regelfilen [y]
LOAD_DATA_JOB_END Dataladdningsjobbet för datafilen [x] och regelfilen [y] slutfördes med statusen [z]
LOAD_DATA_JOB_FAILED Dataladdningsjobbet utfördes inte på grund av [x]
DELETE_SESSION Sessionen [x] har tagits bort

Säkerhetskontrollhändelser

Säkerhetskontrollhändelser spåras i en säkerhetskontrolloggfil eller strömmas till en extern databas beroende på vad du angett i kontrollpolicyfilen.

Instruktioner för hur du öppnar säkerhetskontrolloggen eller kontrolltabellen i schemat för den externa databasen finns i Arbetsflöde för att aktivera säkerhetskontroll för Essbase Server.

I säkerhetskontrolloggen och kontrolltabellen finns följande information (när den är tillämplig) om varje händelse:
  • Tid - när händelsen inträffade
  • Klient - klientens IP-adress eller värdnamn
  • Användarnamn - användaren som initierar åtgärden
  • Sessions-id – id:t för Essbase-sessionen
  • Händelsetyp - händelsetypen
  • Artefakttyp - typen av artefakt som är inblandad i händelsen
    Exempel på artefakttyper:
    • Artefakttypen partition_file för händelsetypen ARTIFACT_UPLOADED
    • Artefakttypen Applikation för händelsetypen LCM_EXPORT_START
    • Artefakttypen Användare för händelsetypen APPLICATION_ROLE_ASSIGN
  • Artefaktnamn – namnet på artefakten som är inblandad i händelsen. Till exempel ett filnamn, användarnamn eller applikationsnamn
  • Mer information - mer information kopplad till händelsen
  • Beskrivning - beskrivning av händelsen

    Innehållet i fältet Beskrivning är språkanpassat.

  • Id – en 128-bitars UUID-identifierare som beskriver händelsen.

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

  • Tidslängd – händelsens tidslängd i millisekunder
  • Applikationsnamn – applikationens namn
  • Databasnamn – databasens namn
  • Status – utfört eller inte utfört