Sign-In Log
The sign-in log answers three questions: who signed in, from where, and what failed. It is written for every organization and no license is needed for it.
Where to find it
-
Employees > Sign-in log shows the entries of everyone.
-
The Sign-in history tab on an employee’s record shows the entries of that employee only.
Both screens show the same columns and offer the same filters, except that the employee’s own tab leaves out the filters for Employee and Login or identifier.
Who may open it
The role editor has an entity Sign-in log with the actions View and Export. It is granted for the whole organization only. Export includes View.
No role has this permission until an administrator grants it. Grant Sign-in log to the roles of the people who audit sign-ins, for example your security or IT staff. The main administrator sees the log without a grant. An employee who has no grant cannot see their own history.
For how to edit roles, see Roles & Permissions.
What is recorded
The log records every sign-in at every entry point, every failed check of a password, code, token or secret, and every block of repeated failures. It also records every sign-out, every session that expires or is ended by an administrator, every password change, reset request and reset, and every set-up, removal and method change of two-step verification.
The log shows the sign-in that created a session, and it shows every refusal.
Entries are never edited. They stay in the log until the retention period has passed.
Columns
| Column | What it shows |
|---|---|
Time |
When the event happened. |
Event |
The event type with Success or Failure. Below it come the failure reason, Blocked for N min for a block, and By with the name of the administrator who acted. A ×N badge means that N events were merged into this entry. |
User |
The employee, LDAP consumer or OAuth application the event is about, with a link to the employee. When no account matched, the login as typed is shown instead, and Not identified appears when nothing was presented. |
Entry point |
Where the credential was presented, with the kind of credential below it. |
Source |
The source IP address and a short name of the client program. |
Event types
| Event | When it is recorded |
|---|---|
Sign-in |
A credential was presented and accepted or refused. |
Sign-in blocked |
Repeated failures started a block, see Blocking repeated failed sign-ins. |
Sign-out |
An employee logged out, ended one of their own sessions, or confirmed a sign-out that a connected application asked for. |
Session ended by an administrator |
An administrator ended a session of an employee. |
Session expired |
A session reached the end of its duration, or ended because the password expired. |
Password changed |
An employee changed their own password. |
Password reset requested |
A reset link was requested by the employee or sent by an administrator. |
Password reset |
A new password was set with a reset link. |
Verification code sent |
A code was mailed at sign-in or to turn on two-step verification. |
Two-step verification set up |
Two-step verification by e-mail code was turned on, backup codes were generated, or an authenticator app was confirmed. |
Two-step verification removed |
Two-step verification by e-mail code was turned off, or backup codes or an authenticator app were removed. |
Two-step verification methods changed |
The employee or an administrator chose other sign-in code methods. |
Events dropped |
Some events could not be recorded. The ×N badge gives their number. |
Failure reasons
| Reason | Meaning |
|---|---|
Unknown login |
No account has the login as typed. |
No employee for this account |
The account exists without an employee record. |
Organization disabled, Account disabled |
The organization or the account is deactivated. |
Password not accepted at this entry point |
The password is right, but this entry point does not take it, for example the account password over LDAP for an employee who has two-step verification. |
Wrong password or secret |
The password or secret does not match. |
Wrong verification code |
A code or backup code was wrong, already used or expired. |
Blocked after repeated failures |
The attempt came during a block and the credential was not checked. |
Attempt limit check unavailable |
The attempt limit check could not run, so the attempt was refused without checking the credential. |
Unknown token, Token expired |
The token is not known, or its lifetime is over. |
Not licensed |
The credential belongs to a function that your license does not include. |
Credential not accepted at this entry point |
The credential is valid but is not taken here. |
Token issued for another service |
An OAuth access token is bound to another resource than the one it was presented to. |
Token lacks the scope api |
An OAuth access token given on an employee’s behalf and without the scope |
Password expired |
The password was right and has expired. At web sign-in this leads to the new-password step. |
Entry points and credentials
Entry point is where a credential was presented:
-
Web login
-
OAuth login form
-
LDAP bind
-
HTTP Basic
-
REST API
-
OAuth token endpoint
-
OAuth end-session endpoint
Credential is what was presented:
-
Password
-
LDAP consumer secret
-
Session token
-
Personal access token
-
Client secret
-
OAuth access token
-
Authorization code
-
OAuth refresh token
-
App password
-
E-mail code
-
Authenticator code
-
Backup code
Merged entries
Failures that name no account, such as unknown or expired tokens, are merged into one entry with the badge ×N. Every failure that presents a login or names an account keeps its own entry.
Filters
Open Filters above the list, set the fields and choose Apply Filter. Clear Filters resets them.
| Filter | What it matches |
|---|---|
Employee |
One or more employees. |
Login or identifier |
Part of the login as typed, in any letter case. |
From, To |
A period of days. The last day is included. |
Event, Result, Failure reason, Entry point |
One value of each list above. |
Source address |
A whole IP address. |
How long entries are kept
The sign-in log is always written. Keep sign-in log for (days) in Settings > General sets how long entries are kept, from 90 to 3650 days, and the default is 365. Older entries are deleted automatically.
For all settings of this tab see Organization Settings.
Exporting
Export writes the entries that match the current filters to an XLSX file, which appears in Settings > Export Jobs as Sign-in log. A file holds at most 100,000 rows.
Choose Apply Filter first, because the export follows the filters that are applied. It needs the Export action. The button is also on the Sign-in history tab of an employee, where it exports the entries of that employee.
When more than 100,000 entries match, the export is refused with "Too many events to export: N, at most 100000. Narrow the search."
The file has one row per entry, the latest first, with these columns:
| Column | Content |
|---|---|
Time (UTC) |
The time in ISO 8601, in UTC. |
Event, Result, Failure reason, Entry point, Credential |
The values as fixed codes, for example |
Principal type, Principal ID, Principal |
Kind, ID and name of the employee, LDAP consumer or OAuth application the event is about. |
Identifier |
The login as typed. |
Actor ID, Actor |
ID and name of the administrator who acted. |
Source address, User agent |
The source IP address and the client program. |
Block, minutes |
The length of a block. |
Attempts |
The number of merged events in the row. |
The column headings follow the interface language of the person who exports.
For integrators
The log is available over the REST API with the same permissions as the screens.
-
GET /authentication-eventslists entries, the latest first. Thesearchparameter accepts the keysoccurredAt(epoch milliseconds, with>=and⇐for ranges),type,result,failureReason,entryPoint,credential,principalKind,principalId,identifier(contains, any letter case) andsourceAddress. -
GET /authentication-events/{id}returns one entry. -
POST /authentication-events/exportstarts an export with the samesearchand an optionalfileName, and answers with anexportIdthat you follow under/export-jobs/{exportId}.
Related pages
-
Password Policy and Sign-In Protection — the rules behind blocks and expiry
-
Employees — the employee record with its Sign-in history tab
-
Roles & Permissions — granting Sign-in log to a role
-
Organization Settings — the retention period