class AuditService implements AuditLoggerInterface (View source)

Writes the "client_ip:.. user:.. operation:.." audit lines. Every line starts with the same actor context; one method per event keeps the field names in one place.

Methods

__construct(AuditLogWriter $logger, ClientContext $client, ActorInterface $actor)

No description

void
logPermTemplateChange(string $targetUser, int $oldTemplateId, int $newTemplateId)

No description

void
logSessionExpired()

No description

void
logAccessDenied(string $permission, string $requestUri)

No description

void
logUserAdd(string $username, string $email)

No description

void
logUserEdit(string $targetUser, int $permTemplateId, string $authType)

No description

void
logUserDelete(string $targetUser)

No description

void
logPasswordChange()

No description

void
logLogout()

No description

void
logPasswordResetRequest(string $email)

No description

void
logPasswordReset(int $userId)

No description

void
logUsernameRecovery(string $email)

No description

void
logLoginSuccess(AuthMethod $authMethod)

No description

void
logLoginFailed(AuthMethod $authMethod, LoginFailureReason|null $reason = null)

No description

void
logLoginLocked(AuthMethod $authMethod)

No description

void
logLoginError(AuthMethod $authMethod, LoginFailureReason $reason)

A backend failure (LDAP connect, bind or search). Logged as login_error, not login_failed, so an outage does not feed fail2ban brute-force counters.

void
logMfaEnable(string $mfaType)

No description

void
logMfaDisable()

No description

void
void
logMfaVerify(string $mfaType)

No description

void
logMfaFailed(string $mfaType)

No description

void
logSsoLoginError(AuthMethod $authMethod, string $error)

An identity-provider handshake error. Logged as login_error, not login_failed, so it does not feed fail2ban brute-force counters.

void
logSsoLoginSuccess(AuthMethod $authMethod)

No description

void
logSamlLogout(string|null $username)

No description

void
logApiKeyCreate(int $keyId, string $keyName)

No description

void
logApiKeyEdit(int $keyId, string $keyName)

No description

void
logApiKeyDelete(int $keyId, string $keyName)

No description

void
logApiKeyRegenerate(int $keyId, string $keyName)

No description

void
logApiKeyToggle(int $keyId, string $keyName, bool $disabled)

No description

void
logApiRequest(string $operation, string $method, string $path, int $status, string $keyId, string $user)

One public API response. The operation-first layout and the '-' placeholders are the row format earlier releases stored, kept so external log scrapers keep matching.

void
logDynamicDnsUpdate(string $username, string $hostname, int $zoneId, string $ip)

Written twice: logNotice() carries no zone id and only reaches the user log, so the line is repeated against the zone to show in that zone's history.

void
logPermTemplateAdd(string $name)

No description

void
logPermTemplateEdit(int $templateId, string $name)

No description

void
logPermTemplateDelete(int $templateId, string $name)

No description

void
logZoneAdd(int $zoneId, string $zoneName, string $zoneType, string|null $template = null, string|null $master = null)

No description

void
logChangeRequest(int $zoneId, string $zoneName, int $requestId, string $event, string|null $comment = null)

A change request event: filed, approved, rejected, cancelled or failed.

void
logZoneDelete(int $zoneId, string $zoneName, string $zoneType)

No description

void
logZoneImport(int $zoneId, string $zoneName, bool $intoExistingZone)

A zone file import: a new zone or records added to an existing one.

void
logSecondaryZoneImport(int $zoneId, string $zoneName, string $master)

No description

void
logApiZoneAdd(int $zoneId, string $zoneName, string $zoneType)

No description

void
logApiZoneDelete(int $zoneId, string $zoneName)

No description

void
logRecordAdd(int $zoneId, string $type, string $name, string $content, int|string $ttl, int|string $prio)

No description

void
logRecordEdit(int|null $zoneId, array $before, array $after)

No description

void
logRecordDelete(int $zoneId, string $type, string $name, string $content, int|string $ttl, int|string|null $prio)

No description

void
logBatchPtrRecordAdd(int $zoneId, string $name, string $content, int|string $ttl, int|string $prio)

No description

void
logRecordTypeDefaultSave(string $type, int $ttl)

No description

void
logRecordTypeDefaultDelete(string $type)

No description

void
logApiRecordAdd(int $zoneId, string $name, string $type, string $content)

No description

void
logApiRecordEdit(int $zoneId, array $before, array $after)

Same fields as edit_record, so an API edit also shows what it replaced.

void
logApiRecordDelete(int $zoneId, string $name, string $type, string $content)

No description

void
logApiRrsetReplace(int $zoneId, string $name, string $type, int $records)

No description

void
logApiRrsetDelete(int $zoneId, string $name, string $type, int $records)

No description

void
logApiBulkRecords(int $zoneId, int $operations)

No description

void
logZoneCatalogAssign(int $zoneId, string $zoneName, string $catalog)

Logged against the member zone: that is the zone whose stored catalog changed.

void
logZoneCatalogClear(int $zoneId, string $zoneName, string $catalog)

No description

void
logZoneOwnerAdd(int $zoneId, string $zoneName, int $ownerId)

No description

void
logZoneOwnerRemove(int $zoneId, string $zoneName, int $ownerId)

No description

void
logZoneGroupAdd(int $zoneId, string $zoneName, int $groupId)

No description

void
logZoneGroupRemove(int $zoneId, string $zoneName, int $groupId)

No description

void
logDnssecAddKey(int $zoneId, string $zoneName, string $keyType, string $bits, string $algorithm)

No description

void
logDnssecDeleteKey(int $zoneId, string $zoneName, int $keyId)

No description

void
logDnssecToggleKey(int $zoneId, string $zoneName, int $keyId, string $action)

No description

void
logZoneMetadataEdit(int $zoneId, string $zoneName, array $kinds)

No description

void
logDnssecSignZone(int $zoneId, string $zoneName)

No description

void
logDnssecUnsignZone(int $zoneId, string $zoneName)

No description

void
logGroupCreate(int $groupId, string $groupName, string $templateName, int $templateId)

No description

void
logGroupEdit(int $groupId, string $groupName, array $changes)

No description

void
logGroupDelete(int $groupId, string $groupName, int $membersAffected, int $zonesAffected)

Written to the general log: the group row is gone, so there is nothing to attach it to.

void
logGroupMembersAdd(int $groupId, string $groupName, array $usernames)

No description

void
logGroupMembersRemove(int $groupId, string $groupName, array $usernames)

No description

void
logApiGroupMemberAdd(int $groupId, string $groupName, string $username)

No description

void
logGroupZonesAdd(int $groupId, string $groupName, array $zoneNames)

No description

void
logGroupZonesRemove(int $groupId, string $groupName, array $zoneNames)

No description

void
logGroupMemberRemove(int $groupId, int $userId)

No description

void
logZoneTemplateAdd(string $templateName)

No description

void
logZoneTemplateEdit(int $templateId, string $templateName)

No description

void
logZoneTemplateDelete(int $templateId)

No description

void
logZoneTemplateUnlink(int $zoneId)

No description

void
logZoneTemplateRecordAdd(int $templateId, string $recordName, string $recordType)

No description

void
logZoneTemplateRecordEdit(int $templateId, int $recordId, string $recordName, string $recordType)

No description

void
logZoneTemplateRecordDelete(int $templateId, int $recordId)

No description

void
logApiZoneTemplateAdd(int $templateId, string $templateName)

No description

void
logApiZoneTemplateEdit(int $templateId, string $templateName)

No description

void
logApiZoneTemplateDelete(int $templateId)

No description

void
logApiZoneTemplateRecordAdd(int $templateId, int $recordId, string $recordName, string $recordType)

No description

void
logApiZoneTemplateRecordEdit(int $templateId, int $recordId, string $recordName, string $recordType)

No description

void
logApiZoneTemplateRecordDelete(int $templateId, int $recordId)

No description

void
logZoneCommentEdit(int $zoneId, string $zoneName)

No description

void
logSupermasterAdd(string $masterIp, string $nsName)

No description

void
logSupermasterEdit(string $oldMasterIp, string $oldNsName, string $newMasterIp, string $newNsName)

No description

void
logSupermasterDelete(string $masterIp, string $nsName)

No description

Details

__construct(AuditLogWriter $logger, ClientContext $client, ActorInterface $actor)

No description

Parameters

AuditLogWriter $logger
ClientContext $client
ActorInterface $actor

void logPermTemplateChange(string $targetUser, int $oldTemplateId, int $newTemplateId)

No description

Parameters

string $targetUser
int $oldTemplateId
int $newTemplateId

Return Value

void

void logSessionExpired()

No description

Return Value

void

void logAccessDenied(string $permission, string $requestUri)

No description

Parameters

string $permission
string $requestUri

Return Value

void

void logUserAdd(string $username, string $email)

No description

Parameters

string $username
string $email

Return Value

void

void logUserEdit(string $targetUser, int $permTemplateId, string $authType)

No description

Parameters

string $targetUser
int $permTemplateId
string $authType

Return Value

void

void logUserDelete(string $targetUser)

No description

Parameters

string $targetUser

Return Value

void

void logPasswordChange()

No description

Return Value

void

void logLogout()

No description

Return Value

void

void logPasswordResetRequest(string $email)

No description

Parameters

string $email

Return Value

void

void logPasswordReset(int $userId)

No description

Parameters

int $userId

Return Value

void

void logUsernameRecovery(string $email)

No description

Parameters

string $email

Return Value

void

void logLoginSuccess(AuthMethod $authMethod)

No description

Parameters

AuthMethod $authMethod

Return Value

void

void logLoginFailed(AuthMethod $authMethod, LoginFailureReason|null $reason = null)

No description

Parameters

AuthMethod $authMethod
LoginFailureReason|null $reason

Return Value

void

void logLoginLocked(AuthMethod $authMethod)

No description

Parameters

AuthMethod $authMethod

Return Value

void

void logLoginError(AuthMethod $authMethod, LoginFailureReason $reason)

A backend failure (LDAP connect, bind or search). Logged as login_error, not login_failed, so an outage does not feed fail2ban brute-force counters.

Parameters

AuthMethod $authMethod
LoginFailureReason $reason

Return Value

void

void logMfaEnable(string $mfaType)

No description

Parameters

string $mfaType

Return Value

void

void logMfaDisable()

No description

Return Value

void

void logMfaRecoveryCodesRegenerate()

No description

Return Value

void

void logMfaVerify(string $mfaType)

No description

Parameters

string $mfaType

Return Value

void

void logMfaFailed(string $mfaType)

No description

Parameters

string $mfaType

Return Value

void

void logSsoLoginError(AuthMethod $authMethod, string $error)

An identity-provider handshake error. Logged as login_error, not login_failed, so it does not feed fail2ban brute-force counters.

Parameters

AuthMethod $authMethod
string $error

Return Value

void

void logSsoLoginSuccess(AuthMethod $authMethod)

No description

Parameters

AuthMethod $authMethod

Return Value

void

void logSamlLogout(string|null $username)

No description

Parameters

string|null $username

Captured before SLO processing, which clears the session

Return Value

void

void logApiKeyCreate(int $keyId, string $keyName)

No description

Parameters

int $keyId
string $keyName

Return Value

void

void logApiKeyEdit(int $keyId, string $keyName)

No description

Parameters

int $keyId
string $keyName

Return Value

void

void logApiKeyDelete(int $keyId, string $keyName)

No description

Parameters

int $keyId
string $keyName

Return Value

void

void logApiKeyRegenerate(int $keyId, string $keyName)

No description

Parameters

int $keyId
string $keyName

Return Value

void

void logApiKeyToggle(int $keyId, string $keyName, bool $disabled)

No description

Parameters

int $keyId
string $keyName
bool $disabled

Return Value

void

void logApiRequest(string $operation, string $method, string $path, int $status, string $keyId, string $user)

One public API response. The operation-first layout and the '-' placeholders are the row format earlier releases stored, kept so external log scrapers keep matching.

Parameters

string $operation

api_request, or api_violation for a 401/403

string $method
string $path

Already capped by the caller so the row fits log_api.event

int $status
string $keyId

The API key id, or '-' for HTTP Basic auth

string $user

Return Value

void

void logDynamicDnsUpdate(string $username, string $hostname, int $zoneId, string $ip)

Written twice: logNotice() carries no zone id and only reaches the user log, so the line is repeated against the zone to show in that zone's history.

Parameters

string $username

The dyndns2 or API principal, which has no session

string $hostname
int $zoneId
string $ip

Return Value

void

void logPermTemplateAdd(string $name)

No description

Parameters

string $name

Return Value

void

void logPermTemplateEdit(int $templateId, string $name)

No description

Parameters

int $templateId
string $name

Return Value

void

void logPermTemplateDelete(int $templateId, string $name)

No description

Parameters

int $templateId
string $name

Return Value

void

void logZoneAdd(int $zoneId, string $zoneName, string $zoneType, string|null $template = null, string|null $master = null)

No description

Parameters

int $zoneId
string $zoneName
string $zoneType
string|null $template
string|null $master

Return Value

void

void logChangeRequest(int $zoneId, string $zoneName, int $requestId, string $event, string|null $comment = null)

A change request event: filed, approved, rejected, cancelled or failed.

The acting user comes from the session, so the requester is logged on file and cancel, and the reviewer on a decision.

Parameters

int $zoneId
string $zoneName
int $requestId
string $event
string|null $comment

Return Value

void

void logZoneDelete(int $zoneId, string $zoneName, string $zoneType)

No description

Parameters

int $zoneId
string $zoneName
string $zoneType

Return Value

void

void logZoneImport(int $zoneId, string $zoneName, bool $intoExistingZone)

A zone file import: a new zone or records added to an existing one.

Parameters

int $zoneId
string $zoneName
bool $intoExistingZone

Return Value

void

void logSecondaryZoneImport(int $zoneId, string $zoneName, string $master)

No description

Parameters

int $zoneId
string $zoneName
string $master

Return Value

void

void logApiZoneAdd(int $zoneId, string $zoneName, string $zoneType)

No description

Parameters

int $zoneId
string $zoneName
string $zoneType

Return Value

void

void logApiZoneDelete(int $zoneId, string $zoneName)

No description

Parameters

int $zoneId
string $zoneName

Return Value

void

void logRecordAdd(int $zoneId, string $type, string $name, string $content, int|string $ttl, int|string $prio)

No description

Parameters

int $zoneId
string $type
string $name
string $content
int|string $ttl
int|string $prio

Return Value

void

void logRecordEdit(int|null $zoneId, array $before, array $after)

No description

Parameters

int|null $zoneId
array $before

Record row before the edit (type, name, content, ttl, prio)

array $after

Record row after the edit

Return Value

void

void logRecordDelete(int $zoneId, string $type, string $name, string $content, int|string $ttl, int|string|null $prio)

No description

Parameters

int $zoneId
string $type
string $name
string $content
int|string $ttl
int|string|null $prio

Return Value

void

void logBatchPtrRecordAdd(int $zoneId, string $name, string $content, int|string $ttl, int|string $prio)

No description

Parameters

int $zoneId
string $name
string $content
int|string $ttl
int|string $prio

Return Value

void

void logRecordTypeDefaultSave(string $type, int $ttl)

No description

Parameters

string $type
int $ttl

Return Value

void

void logRecordTypeDefaultDelete(string $type)

No description

Parameters

string $type

Return Value

void

void logApiRecordAdd(int $zoneId, string $name, string $type, string $content)

No description

Parameters

int $zoneId
string $name
string $type
string $content

Return Value

void

void logApiRecordEdit(int $zoneId, array $before, array $after)

Same fields as edit_record, so an API edit also shows what it replaced.

Parameters

int $zoneId
array $before

Record row before the edit (type, name, content, ttl, prio)

array $after

Record row after the edit

Return Value

void

void logApiRecordDelete(int $zoneId, string $name, string $type, string $content)

No description

Parameters

int $zoneId
string $name
string $type
string $content

Return Value

void

void logApiRrsetReplace(int $zoneId, string $name, string $type, int $records)

No description

Parameters

int $zoneId
string $name
string $type
int $records

Number of records the new set holds

Return Value

void

void logApiRrsetDelete(int $zoneId, string $name, string $type, int $records)

No description

Parameters

int $zoneId
string $name
string $type
int $records

Return Value

void

void logApiBulkRecords(int $zoneId, int $operations)

No description

Parameters

int $zoneId
int $operations

Return Value

void

void logZoneCatalogAssign(int $zoneId, string $zoneName, string $catalog)

Logged against the member zone: that is the zone whose stored catalog changed.

Parameters

int $zoneId
string $zoneName
string $catalog

Return Value

void

void logZoneCatalogClear(int $zoneId, string $zoneName, string $catalog)

No description

Parameters

int $zoneId
string $zoneName
string $catalog

Return Value

void

void logZoneOwnerAdd(int $zoneId, string $zoneName, int $ownerId)

No description

Parameters

int $zoneId
string $zoneName
int $ownerId

Return Value

void

void logZoneOwnerRemove(int $zoneId, string $zoneName, int $ownerId)

No description

Parameters

int $zoneId
string $zoneName
int $ownerId

Return Value

void

void logZoneGroupAdd(int $zoneId, string $zoneName, int $groupId)

No description

Parameters

int $zoneId
string $zoneName
int $groupId

Return Value

void

void logZoneGroupRemove(int $zoneId, string $zoneName, int $groupId)

No description

Parameters

int $zoneId
string $zoneName
int $groupId

Return Value

void

void logDnssecAddKey(int $zoneId, string $zoneName, string $keyType, string $bits, string $algorithm)

No description

Parameters

int $zoneId
string $zoneName
string $keyType
string $bits
string $algorithm

Return Value

void

void logDnssecDeleteKey(int $zoneId, string $zoneName, int $keyId)

No description

Parameters

int $zoneId
string $zoneName
int $keyId

Return Value

void

void logDnssecToggleKey(int $zoneId, string $zoneName, int $keyId, string $action)

No description

Parameters

int $zoneId
string $zoneName
int $keyId
string $action

'activate' or 'deactivate'

Return Value

void

void logZoneMetadataEdit(int $zoneId, string $zoneName, array $kinds)

No description

Parameters

int $zoneId
string $zoneName
array $kinds

The kinds the zone carries after the edit

Return Value

void

void logDnssecSignZone(int $zoneId, string $zoneName)

No description

Parameters

int $zoneId
string $zoneName

Return Value

void

void logDnssecUnsignZone(int $zoneId, string $zoneName)

No description

Parameters

int $zoneId
string $zoneName

Return Value

void

void logGroupCreate(int $groupId, string $groupName, string $templateName, int $templateId)

No description

Parameters

int $groupId
string $groupName
string $templateName
int $templateId

Return Value

void

void logGroupEdit(int $groupId, string $groupName, array $changes)

No description

Parameters

int $groupId
string $groupName
array $changes

Human-readable "field: old -> new" entries

Return Value

void

void logGroupDelete(int $groupId, string $groupName, int $membersAffected, int $zonesAffected)

Written to the general log: the group row is gone, so there is nothing to attach it to.

Parameters

int $groupId
string $groupName
int $membersAffected
int $zonesAffected

Return Value

void

void logGroupMembersAdd(int $groupId, string $groupName, array $usernames)

No description

Parameters

int $groupId
string $groupName
array $usernames

Return Value

void

void logGroupMembersRemove(int $groupId, string $groupName, array $usernames)

No description

Parameters

int $groupId
string $groupName
array $usernames

Return Value

void

void logApiGroupMemberAdd(int $groupId, string $groupName, string $username)

No description

Parameters

int $groupId
string $groupName
string $username

Return Value

void

void logGroupZonesAdd(int $groupId, string $groupName, array $zoneNames)

No description

Parameters

int $groupId
string $groupName
array $zoneNames

Return Value

void

void logGroupZonesRemove(int $groupId, string $groupName, array $zoneNames)

No description

Parameters

int $groupId
string $groupName
array $zoneNames

Return Value

void

void logGroupMemberRemove(int $groupId, int $userId)

No description

Parameters

int $groupId
int $userId

Return Value

void

void logZoneTemplateAdd(string $templateName)

No description

Parameters

string $templateName

Return Value

void

void logZoneTemplateEdit(int $templateId, string $templateName)

No description

Parameters

int $templateId
string $templateName

Return Value

void

void logZoneTemplateDelete(int $templateId)

No description

Parameters

int $templateId

Return Value

void

No description

Parameters

int $zoneId

Return Value

void

void logZoneTemplateRecordAdd(int $templateId, string $recordName, string $recordType)

No description

Parameters

int $templateId
string $recordName
string $recordType

Return Value

void

void logZoneTemplateRecordEdit(int $templateId, int $recordId, string $recordName, string $recordType)

No description

Parameters

int $templateId
int $recordId
string $recordName
string $recordType

Return Value

void

void logZoneTemplateRecordDelete(int $templateId, int $recordId)

No description

Parameters

int $templateId
int $recordId

Return Value

void

void logApiZoneTemplateAdd(int $templateId, string $templateName)

No description

Parameters

int $templateId
string $templateName

Return Value

void

void logApiZoneTemplateEdit(int $templateId, string $templateName)

No description

Parameters

int $templateId
string $templateName

Return Value

void

void logApiZoneTemplateDelete(int $templateId)

No description

Parameters

int $templateId

Return Value

void

void logApiZoneTemplateRecordAdd(int $templateId, int $recordId, string $recordName, string $recordType)

No description

Parameters

int $templateId
int $recordId
string $recordName
string $recordType

Return Value

void

void logApiZoneTemplateRecordEdit(int $templateId, int $recordId, string $recordName, string $recordType)

No description

Parameters

int $templateId
int $recordId
string $recordName
string $recordType

Return Value

void

void logApiZoneTemplateRecordDelete(int $templateId, int $recordId)

No description

Parameters

int $templateId
int $recordId

Return Value

void

void logZoneCommentEdit(int $zoneId, string $zoneName)

No description

Parameters

int $zoneId
string $zoneName

Return Value

void

void logSupermasterAdd(string $masterIp, string $nsName)

No description

Parameters

string $masterIp
string $nsName

Return Value

void

void logSupermasterEdit(string $oldMasterIp, string $oldNsName, string $newMasterIp, string $newNsName)

No description

Parameters

string $oldMasterIp
string $oldNsName
string $newMasterIp
string $newNsName

Return Value

void

void logSupermasterDelete(string $masterIp, string $nsName)

No description

Parameters

string $masterIp
string $nsName

Return Value

void