Dieses Protokoll enthält Datensätze zu Ereignissen im Zusammenhang mit dem Hinzufügen, Löschen und anderen Änderungen an Benutzerberechtigungen. Die Protokollierung von Sicherheitsereignissen ist standardmäßig deaktiviert. Diese Funktion kann nur vom System Administrator direkt in einer FlexiCapture-Datenbank aktiviert werden. Detaillierte Informationen zu den verschiedenen im Protokoll erfassten Ereignissen und dazu, wie Sie die Protokollierung aktivieren, finden Sie im Artikel Sicherheitsereignisprotokoll in der Hilfe zur Administration and Monitoring Console.
Nur Benutzer mit System Administrator-Berechtigungen können Sicherheitsereignisprotokolle aus dem System Monitor herunterladen. Ein System Administrator ist der Administrator eines Standardmandanten.
Verwenden Sie zum Herunterladen dieses Protokolls eine POST-Anfrage.
POST https://<server address>/FlexiCapture12/Monitoring/Tenant/GetSecurityEventsCSV
- Alle Parameter sind erforderlich. Achten Sie darauf, dass sie korrekt angegeben sind.
- Bei der Suche in Oracle Database wird zwischen Groß- und Kleinschreibung unterschieden. Bitte beachten Sie dies, wenn Sie Oracle Database verwenden.
Name | Typ | Beschreibung |
filter | string | Legt die Filterparameter fest. Es werden nur Protokolleinträge aufgezeichnet, die die Filterbedingungen erfüllen. Zum Kombinieren der Bedingungen können nur die Operatoren AND und OR verwendet werden. Die Operatoren werden im Parameter GeneralOperator angegeben. Beispielhafte Filterparameter: filter={
“GeneralOperator”: “AND”,
“FilterItems”: [
{
“PropertyKey”: “Date”,
“PropertyOperator”: “BETWEEN”,
“PropertyValues”: [
“2021-08-28”,
“00:00:00”,
“2023-09-28”,
“23:59:59”
]
}
]
}
Die erforderlichen Werte für die Parameter PropertyKey und PropertyOperator können Sie ermitteln, indem Sie den gewünschten Filter in der Administration and Monitoring Console erstellen. Gehen Sie dazu wie folgt vor: - Klicken Sie im Browsermenü auf Weitere Tools -> Developer Tools und wechseln Sie zur Registerkarte Network.
- Starten Sie die Administration and Monitoring Console, navigieren Sie zu System Monitor → Security event log und klicken Sie auf die Schaltfläche
. - Geben Sie die Filterkriterien an und klicken Sie auf Apply.
- Klicken Sie auf die GetFilteredSecurityEvent-Anforderung. Die Filterparameter werden auf der Registerkarte Payload aufgelistet.
|
columnsOrder | string | Liste der Spalten, die dem Bericht hinzugefügt werden sollen. Mögliche Werte: - ID
- Date
- EventType
- Details
- RemoteHost
- Principal
- TenantName
- Writer
- WriterTenantName
|
sortColumnindex | int | Gibt die Spalte an, nach der die Datensätze im Protokoll sortiert werden. |
sortOrder | bool | Gibt die Sortierreihenfolge der Datensätze an: - true – Datensätze werden in absteigender Reihenfolge sortiert,
- false – Datensätze werden in aufsteigender Reihenfolge sortiert.
|
tenantId | int | Gibt die Mandanten an, deren Datensätze in das Ereignisprotokoll aufgenommen werden sollen. Mögliche Werte: - -1 – Datensätze aller verfügbaren Mandanten werden in das Protokoll aufgenommen.
- 0 – Datensätze des Standard-Mandanten werden in das Protokoll aufgenommen.
- 1 und größer – nur Datensätze des Mandanten mit der angegebenen ID werden in das Protokoll aufgenommen.
|
Ein Verwendungsbeispiel für diese API finden Sie im Script. Laden Sie das Script hier herunter oder verwenden Sie den unten aufgeführten Script-Code.
Die Parameter in diesem Skript sollten durch Ihre Serveradresse und Ihre Zugangsdaten ersetzt werden.
$server = "https://<server address>"
#Pfad zum Ordner, in dem das Log gespeichert wird
$folder = "C:\Temp\Logs\Stage"
$reportFileName = "Tenant_SecurityEvents-{0:yyMMdd-HHmmss}.csv" -f (Get-Date)
"GeneralOperator": "AND",
"PropertyOperator": "BETWEEN",
&columnsOrder=Id,Date,EventType,Details,RemoteHost,Principal,TenantName,Writer,WriterTenantName,
#------------------------------------------------------------------------------
$tenant = "" # Nur Standard-Tenant
$methodUri = "/Tenant/GetSecurityEventsCSV"
$ServerSitePath = "/FlexiCapture12/Monitoring"
function Write-Line($str, $color = "White")
Write-Host $str -ForegroundColor $color
param([Parameter(Mandatory, ValueFromPipeline)] [string]$parent, [string]$child)
if ($parent -eq "") {return $child;}
if ($child -eq ""){return $parent}
if ($parent.endswith("/") -or $parent.endswith("\\")) {$parent = $parent.substring(0,$parent.Length-1)}
if ($child.startswith("/") -or $child.startswith("\\")) {$child = $child.substring(1,$child.Length-1)}
function Get-AuthTicket($server, $user, $password, $tenant)
if ($tenant -ne ''){ $tenantSuffix = "?tenant=$tenant"}
$URL = Join-Uri $authServer "/FlexiCapture12/Server/FCAuth/API/Soap$tenantSuffix"
$SOAPRequest = '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><FindUser xmlns="urn:http://www.abbyy.com/FlexiCapture"><userLogin>user</userLogin></FindUser></soap:Body></soap:Envelope>'
'SOAPAction' = '"#FindUser"'
'Content-Type' = 'text/xml; charset=utf-8'
'Authorization' = "Basic $([System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("$($user):$($password)")))"}
$response1 = Invoke-WebRequest -Uri $URL -Headers $Headers -Body $SOAPRequest -Method 'POST'
return $response1.Headers['AuthTicket']
Write-Line -str "Couldn't get 'AuthTicket': $_" -color "Red"
function Download-CSVReport($server, $tenant, $authTicket, $methodUri, $requestBody, $folder, $reportFileName)
$reportFullFilePath = Join-Path $folder $reportFileName
#Ordner geräuschlos erstellen (falls nicht vorhanden)
New-Item -ItemType Directory -Force -Path $folder | Out-Null
if ($authTicket -eq "" -or $authTicket -eq $null)
Write-Line -str "Couldn't get 'CSV-Report'" -color "Red"
$header = @{ "Accept" = "*/*"}
$session = [Microsoft.PowerShell.Commands.WebRequestSession]::new()
$session.Cookies.Add($server, [System.NET.Cookie]::new('FlexiCaptureTmpPrn', "Ticket=$authTicket"))
if ($tenant -ne '') { $tenantInUrl = "/$tenant"}
$uri = Join-Uri $server $ServerSitePath | Join-Uri -child $tenantInUrl | Join-Uri -child $methodUri
$response = Invoke-WebRequest -Uri $uri -Method 'POST' -Headers $header -WebSession $session -Body $requestBody -OutFile $reportFullFilePath -MaximumRedirection 0 -ErrorAction Ignore -PassThru
if ($response.StatusCode -lt 300)
Write-Line "CSV-Report done: $reportFullFilePath" "Green"
Write-Line -str "HttpStatus $($response.StatusCode) in getting CSV-Report." -color "Red"
Write-Line -str "Couldn't get CSV-Report: $_" -color "Red"
$authTicket = Get-AuthTicket -server $server -user $user -password $password -tenant $tenant
Download-CSVReport -server $server -tenant $tenant -authTicket $authTicket -methodUri $methodUri -requestBody $requestBody -folder $folder -reportFileName $reportFileName