Controle van beveiliging, artefactwijzigingen en LCM events

Servicebeheerders kunnen beveiligingscontroles activeren om wijzigingen aan de Essbase server vast te leggen.

Gebaseerd op parameters die u opgeeft in een controlepolicybestand verzamelt Essbase informatie over wijzigingen aan beveiliging op systeemniveau, artefacten, LCM events en uitgevoerde MaxL statements (inclusief imports). Essbase consolideert de vastgelegde gegevens in een controlelogbestand of streamt de gegevens naar een externe database. Voorbeelden van gegevens die worden vastgelegd voor elk event zijn tijd, client, gebruiker, betreffende artefacten, duur, ID, applicatie- en databasenaam, status en een omschrijving.

U activeert controle op serverniveau van deze events via de configuratie-instelling AUDITTRAIL SECURITY van Essbase.

Workflow voor het activeren van beveiligingscontrole voor de Essbase server

In deze workflow wordt uitgelegd hoe beveiligingscontrole voor de Essbase server wordt geactiveerd met behulp van AUDITTRAIL SECURITY. Nadat u de controle hebt geactiveerd, definieert u EssbaseSecurityAuditLogPolicy. U kunt ervoor zorgen dat door Essbase controlerecords naar een csv-bestand worden geschreven of om ze naar een externe database te laten streamen.

In deze workflow is Oracle Database de externe database, maar u kunt ook SQL Server, MySQL of DB2 gebruiken.

Om de workflow te voltooien, moet u systeembeheerder zijn en toegang hebben tot het <Essbase Config Path> op de Essbase server.

Dit pad bevat bestanden die u moet bewerken:
  • Het configuratiebestand 'essbase.cfg'
  • Een bestand met de standaardpolicy voor beveiligingscontrole
  1. Activeer de controle van serverevents door de volgende configuratie toe te voegen aan 'essbase.cfg' op de Essbase server:

    AUDITTRAIL SECURITY

    Nadat u de configuratie hebt bijgewerkt, start u Essbase opnieuw.

    Raadpleeg Configuratie-eigenschappen instellen op serverniveau en Servers starten, stoppen en controleren.

  2. Er wordt een standaardpolicybestand (XML) gemaakt op de Essbase server. Dit bestand, EssbaseSecurityAuditLogPolicy.xml, bevindt zich op het pad dat u hebt opgegeven tijdens de configuratiefase van de implementatie voor het opslaan van de Essbase configuratie (het <Essbase Config Path>, dat ook de locatie is van 'essbase.cfg').

    Het gemaakte standaardpolicybestand bevat deze inhoud:
    <?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 is het standaardsoort controle-sink. Als u het standaardsoort controle-sink (csv) gebruikt en u wilt testen of de controledetails zijn geschreven naar het csv-bestand met het beveiligingslogbestand,
    1. Voer een actie uit die een controleerbaar event is, zoals het maken van een applicatie. U kunt elke actie selecteren die wordt vermeld in het gedeelte <audit_events_to_capture> van uw policy.
    2. SSH naar de Essbase server.
    3. Ga naar <DOMAIN_HOME>/servers/serverName/logs/essbase/. Als u niet weet waar <DOMAIN_HOME> zich bevindt, raadpleegt u Omgevingslocaties in het Essbase platform.
    4. Open en bekijk het bestand SecurityAuditLog_n.csv.

      Voorbeeld van een csv-logbestand voor beveiligingscontrole:
      Afbeelding van een csv-bestand voor beveiligingscontrole.

  3. Als u het beveiligingsaudittrail wilt streamen naar een externe database,

    1. Maak een verbinding met de externe bron. Raadpleeg Een algemene verbinding en gegevensbron maken of Een verbinding en gegevensbron op applicatieniveau maken.
    2. Bewerk het policybestand om de controle-sink te wijzigen in DATABASE.
    3. Voeg een parameter <db_connection_name> toe binnen de parameter <audit_sink>. De waarde van parameter <db_connection_name> moet de exacte naam zijn van de verbinding die is gemaakt in substap 'A' hierboven.
    Voorbeeld van een bewerkte controlepolicy voor het streamen van een beveiligingsaudittrail naar 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. Test of de controledetails worden gestreamd naar de database.

    1. Voer een actie uit die een controleerbaar event is, zoals het maken van een applicatie. U kunt elke actie selecteren die wordt vermeld in het gedeelte <audit_events_to_capture> van uw policy.

      Essbase maakt als het goed is een controletabel met de naam ESSBASE_SECURITY_AUDIT_EVENT_LOG in het externe databaseschema.

    2. Log in bij het externe RDBMS en voer een zoekopdracht uit om te controleren of de tabel aanwezig is. Log bijvoorbeeld in bij SQL Developer en voer het volgende uit:
      select * from ESSBASE_SECURITY_AUDIT_EVENT_LOG
  5. Gebruik een hulpprogramma voor de visualisatie van gegevens om de beveiligingscontrolerecords te bekijken en te analyseren. U kunt gebruikmaken van Smart View, Oracle Data Desktop (beschikbaar met een Oracle Technology Network licentie), open-source visualisatiehulpprogramma's van een open-source- of databaseleverancier buiten Oracle.

Over het controlepolicybestand

De controlepolicy wordt opgegeven in een XML-bestand dat u indien nodig kunt aanpassen. In dit bestand kunt u opgeven welke events van de Essbase server u wilt bijhouden en of u de gegevens naar een controlelogbestand voor beveiliging wilt schrijven of naar een externe database wilt streamen. Als u gegevens wilt schrijven naar een controlelogbestand, kunt u het volgende opgeven: de maximale bestandsgrootte en het aantal logbestanden voor beveiligingscontrole dat u wilt bewaren.

Essbase maakt EssbaseSecurityAuditLogPolicy.xml als u Essbase opnieuw start na het activeren van beveiligingscontrole. U kunt het bestand dan indien nodig bewerken om de controlepolicy te verfijnen. Dit bestand bevindt zich op het pad dat u hebt opgegeven tijdens de configuratiefase van de implementatie voor het opslaan van de Essbase configuratie (het <Essbase Config Path>, dat ook de locatie is van 'essbase.cfg'). Als u niet weet waar dit zich bevindt in uw omgeving, raadpleegt u Omgevingslocaties in het Essbase platform voor uitleg.

Het controlepolicybestand bewerken:
  1. Ga naar EssbaseSecurityAuditLogPolicy.xml. Het bestand staat in de applicatiedirectory die is opgegeven tijdens de configuratiefase van de Essbase implementatie.

  2. Open het bestand in een teksteditor.

  3. Bewerk de controle-sink, de inloggegevens en de bij te houden events.

    1. U kunt ook <audit_sink_type>DATABASE</audit_sink_type> toevoegen als u gegevens wilt streamen naar een externe database.

    2. Als u het soort controle-sink DATABASE hebt gekozen in stap a, voegt u op de volgende regel <db_connection_name>ConnectionName</db_connection_name> toe met de naam van de databaseverbinding die u in Workflow voor het activeren van beveiligingscontrole voor Essbase server hebt gedefinieerd.

    3. Als u gegevens schrijft naar een controlelogbestand, wijzigt u eventueel de maximale bestandsgrootte met <max-file-size>n</max-file-size>, waarbij 'n' staat voor het aantal bytes. De standaardwaarde is 50000000 bytes.

    4. Als u gegevens schrijft naar een controlelogbestand, geeft u aan hoeveel csv-logbestanden voor beveiligingscontrole er moeten worden opgeslagen met <roll-nos>n</roll-nos>, waarbij 'n' staat voor het aantal bestanden.

    5. Geef aan welke controle-events u wilt vastleggen met <audit_events_to_capture>events_list</audit_events_to_capture>.

De events die u aangeeft in het controlepolicybestand worden bijgehouden in een logbestand voor beveiligingscontrole of worden gestreamd naar een externe database.

U kunt de volgende events opgeven om vast te leggen in het controlepolicybestand:

Event Beschrijving
LOGIN Gebruiker [x] is ingelogd.
LOGIN_AS Gebruiker [x] is ingelogd als [y].
LOGOUT Gebruiker [x] is uitgelogd.
LOGIN_FAIL Inloggen van gebruiker [x] is mislukt.
SERVICE_ROLE_ASSIGN Essbase servicerol [x] is toegewezen aan [y].
SERVICE_ROLE_REVOKE Essbase servicerol [x] is ingetrokken voor [y].
APPLICATION_ROLE_ASSIGN Voor gebruiker/groep [x] is de rol [y] in de applicatie [z] gefaciliteerd.
APPLICATION_ROLE_REVOKE Voor gebruiker/groep [x] is de rol [y] in de applicatie [z] ingetrokken.
ARTIFACT_CREATE Artefact [x] van type [y] gemaakt
ARTIFACT_UPLOADED Uploadaanvraag artefact aangeroepen voor applicatie [a], database [b], objectnaam [c] en objecttype [d]
ARTIFACT_MODIFIED Artefact [x] van type [y] is aangepast.
ARTIFACT_DELETED Artefact [x] van type [y] is verwijderd.
ARTIFACT_RENAMED Naam van artefact [x] van type [y] is gewijzigd in [z].
APPLICATION_DELETED Applicatie [x] is verwijderd.
APPLICATION_CREATE Applicatie [x] is gemaakt.
APPLICATION_RENAMED Naam van applicatie [x] is gewijzigd in [y].
DATABASE_DELETED Database [x] is verwijderd in applicatie [y].
DATABASE_CREATE Database [x] is gemaakt in applicatie [y].
DATABASE_RENAMED Naam van database [x] is gewijzigd in [y] in applicatie [z].
LCM_EXPORT_START LCM-exporttaak is gestart met bestandsnaam [x].
LCM_EXPORT_END LCM-exporttaak is voltooid met bestandsnaam [x] en taakstatus [y].
LCM_IMPORT_START LCM-import is gestart voor applicatie [x] met bestandsnaam [y].
LCM_IMPORT_END LCM-import is voltooid voor applicatie [x] met bestandsnaam [y].
LCM_IMPORT_FAIL LCM-import is mislukt voor applicatie [x] met bestandsnaam [y].
DATA_LOAD_MAXL Het MaxL-importgegevensstatement is uitgevoerd voor applicatie [x] en database [y] door gebruiker [z].
EXECUTE_MAXL MaxL-statement [x] is uitgevoerd vanuit gebruiker [y].
LOAD_DATA_JOB_START Taak voor laden van gegevens is gestart met gegevensbestand [x] en regelbestand [y].
LOAD_DATA_JOB_END Taak voor laden van gegevens voor gegevensbestand [x] en regelbestand [y] is voltooid met status [z].
LOAD_DATA_JOB_FAILED Taak voor laden van gegevens is mislukt vanwege [x].
DELETE_SESSION Sessie [x] verwijderd

Controle-events voor beveiliging

Controle-events voor beveiliging worden bijgehouden in een controlelogbestand voor beveiliging of ze worden gestreamd naar een externe database, afhankelijk van wat u aangeeft in het bestand over controlebeleid.

Zie Workflow voor het activeren van beveiligingscontrole voor Essbase server voor instructies voor het openen van het controlelogbestand voor beveiliging of de controletabel in het externe databaseschema.

Het controlelogbestand voor beveiliging en de controletabel bevatten de volgende gegevens (indien van toepassing) over elk event:
  • Tijd: waarop het event plaatsvond
  • Client: IP-adres of hostnaam van client
  • Gebruikersnaam: de gebruiker die de actie heeft gestart
  • Sessie-ID: de Essbase sessie-ID
  • Eventtype: het eventtype
  • Artefacttype: het type artefact dat is betrokken bij het event
    Voorbeelden van artefacttypen:
    • Artefacttype partition_file voor eventtype ARTIFACT_UPLOADED
    • Artefacttype 'Applicatie' voor eventtype LCM_EXPORT_START
    • Artefacttype 'Gebruiker' voor eventtype APPLICATION_ROLE_ASSIGN
  • Artefactnaam: de naam van het artefact dat is betrokken bij het event. Bijvoorbeeld een bestandsnaam, gebruikersnaam of applicatienaam
  • Aanvullende informatie: aanvullende informatie die is gekoppeld aan het event
  • Omschrijving: omschrijving van het event

    De inhoud van het veld 'Omschrijving' wordt gelokaliseerd.

  • ID: een 128 bits lange universele unieke ID waarmee het event wordt omschreven.

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

  • Duur: de duur van het event in milliseconden
  • Applicatienaam: de naam van de applicatie
  • Databasenaam: de naam van de database
  • Status: geslaagd of mislukt