Ce journal contient des enregistrements sur les événements liés à l’ajout, à la suppression et à d’autres modifications apportées aux permissions des utilisateurs. La journalisation des événements de sécurité est désactivée par défaut. Cette fonctionnalité ne peut être activée que par le System Administrator directement dans une base de données FlexiCapture. Pour plus d’informations sur les différents événements enregistrés dans le journal et sur la façon de l’activer, consultez l’article journal des événements de sécurité dans l’aide de l’Administration and Monitoring Console.
Seuls les utilisateurs disposant des permissions de System Administrator peuvent télécharger les journaux des événements de sécurité depuis System Monitor. Un System Administrator est l’Administrator d’un tenant par défaut.
Pour télécharger ce journal, utilisez une requête POST.
POST https://<server address>/FlexiCapture12/Monitoring/Tenant/GetSecurityEventsCSV
- Tous les paramètres sont obligatoires. Veillez à les renseigner correctement.
- La recherche dans Oracle Database est sensible à la casse. Veuillez en tenir compte si vous utilisez Oracle Database.
Name | Type | Description |
filter | string | Définit les paramètres de filtre. Seuls les logs satisfaisant aux conditions du filtre seront enregistrés. Seuls les opérateurs AND et OR peuvent être utilisés pour combiner les conditions. Les opérateurs sont spécifiés dans le paramètre GeneralOperator. Exemples de paramètres de filtre : filter={
“GeneralOperator”: “AND”,
“FilterItems”: [
{
“PropertyKey”: “Date”,
“PropertyOperator”: “BETWEEN”,
“PropertyValues”: [
“2021-08-28”,
“00:00:00”,
“2023-09-28”,
“23:59:59”
]
}
]
}
Vous pouvez trouver les valeurs nécessaires pour les paramètres PropertyKey et PropertyOperator en créant le filtre souhaité dans l’Administration and Monitoring Console. Pour ce faire : - Dans le menu du navigateur, cliquez sur Plus d’outils -> Developer Tools et accédez à l’onglet Network.
- Lancez l’Administration and Monitoring Console, accédez à System Monitor → Security event log, puis cliquez sur le bouton
. - Indiquez les critères de filtrage et cliquez sur Apply.
- Cliquez sur la requête GetFilteredSecurityEvent. Les paramètres de filtrage s’affichent dans l’onglet Payload.
|
columnsOrder | string | Liste des colonnes à ajouter au rapport. Les valeurs possibles sont : - ID
- Date
- EventType
- Details
- RemoteHost
- Principal
- TenantName
- Writer
- WriterTenantName
|
sortColumnindex | int | Spécifie la colonne utilisée pour trier les enregistrements dans le log. |
sortOrder | bool | Spécifie l’ordre de tri des enregistrements : - true trie les enregistrements par ordre décroissant,
- false trie les enregistrements par ordre croissant.
|
tenantId | int | Spécifie les tenants dont les enregistrements doivent être inclus dans le journal des événements. Les valeurs possibles sont : - -1 – les enregistrements de tous les tenants disponibles sont inclus dans le log.
- 0 – les enregistrements du tenant par défaut sont inclus dans le log.
- 1 et supérieur – seuls les enregistrements du tenant avec l’ID spécifié sont inclus dans le log.
|
Un exemple d’utilisation de cette API est disponible dans le script. Téléchargez le script ici ou utilisez le code de script fourni ci-dessous.
Dans ce script, remplacez les paramètres par l’adresse de votre serveur et vos propres identifiants.
$server = "https://<server address>"
#chemin vers le dossier où le Log sera enregistré
$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 = "" # Tenant par défaut uniquement
$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
#créer le dossier en mode silencieux (s'il n'existe pas)
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