Este registro contiene entradas sobre eventos relacionados con la adición, eliminación y otros cambios realizados en los permisos de los usuarios. El registro de eventos de seguridad está deshabilitado de forma predeterminada. Esta función solo puede ser habilitada por el Administrador del sistema directamente en una base de datos de FlexiCapture. Para obtener información detallada sobre los distintos eventos registrados y sobre cómo habilitar este registro, consulte el artículo Registro de eventos de seguridad en la ayuda de la Consola de administración y supervisión.
Solo los usuarios con permisos de Administrador del sistema pueden descargar registros de eventos de seguridad desde System Monitor. Un Administrador del sistema es el Administrador de un tenant predeterminado.
Para descargar este registro, use una solicitud POST.
POST https://<server address>/FlexiCapture12/Monitoring/Tenant/GetSecurityEventsCSV
- Todos los parámetros son obligatorios. Asegúrese de especificarlos correctamente.
- La búsqueda en Oracle Database distingue entre mayúsculas y minúsculas. Téngalo en cuenta si usa Oracle Database.
Name | Type | Description |
filter | string | Establece los parámetros de filtro. Como resultado, solo se registrarán los logs que cumplan las condiciones del filtro. Para combinar las condiciones, solo se pueden usar los operadores AND y OR. Los operadores se especifican en el parámetro GeneralOperator. Parámetros de filtro de ejemplo: filter={
“GeneralOperator”: “AND”,
“FilterItems”: [
{
“PropertyKey”: “Date”,
“PropertyOperator”: “BETWEEN”,
“PropertyValues”: [
“2021-08-28”,
“00:00:00”,
“2023-09-28”,
“23:59:59”
]
}
]
}
Puede encontrar los valores necesarios para los parámetros PropertyKey y PropertyOperator creando el filtro deseado en la Consola de administración y supervisión. Para ello: - En el menú del navegador, haga clic en Más herramientas -> Developer Tools y vaya a la pestaña Network.
- Inicie la Consola de administración y supervisión, vaya a System Monitor → Security event log y haga clic en el botón
. - Especifique los criterios de filtrado y haga clic en Apply.
- Haga clic en la solicitud GetFilteredSecurityEvent. Los parámetros de filtrado aparecerán en la pestaña Payload.
|
columnsOrder | string | Lista de columnas que se agregarán al informe. Los valores posibles son: - ID
- Date
- EventType
- Details
- RemoteHost
- Principal
- TenantName
- Writer
- WriterTenantName
|
sortColumnindex | int | Especifica la columna que se usará para ordenar los registros en el log. |
sortOrder | bool | Especifica el orden en que se ordenarán los registros: - true ordenará los registros en orden descendente,
- false ordenará los registros en orden ascendente.
|
tenantId | int | Especifica los tenants cuyos registros se incluirán en el log de eventos. Los valores posibles son: - -1 – se incluirán en el log los registros de todos los tenants disponibles.
- 0 – se incluirán en el log los registros del tenant predeterminado.
- 1 y superior – solo se incluirán en el log los registros del tenant con el ID especificado.
|
Puede encontrar un ejemplo de uso de esta API en el script. Descargue el script aquí o utilice el código del script que se incluye a continuación.
Los parámetros de este script deben sustituirse por la dirección de su servidor y sus propias credenciales.
$server = "https://<server address>"
#ruta a la carpeta donde se guardará el log
$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 = "" # Solo el tenant predeterminado
$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
#crear carpeta en modo silencioso (si no existe)
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