Commit 51ab9e7b authored by Mark Chao's avatar Mark Chao

Merge branch '292667-rename-audit-log-as-audit-events' into 'master'

Re-name Audit Log as Audit Events

See merge request gitlab-org/gitlab!49635
parents 8110f4cf 34c015e9
...@@ -107,11 +107,11 @@ Project events can also be accessed via the [Project Audit Events API](../api/au ...@@ -107,11 +107,11 @@ Project events can also be accessed via the [Project Audit Events API](../api/au
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/2336) in [GitLab Premium](https://about.gitlab.com/pricing/) 9.3. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/2336) in [GitLab Premium](https://about.gitlab.com/pricing/) 9.3.
Server-wide audit logging introduces the ability to observe user actions across Server-wide audit events introduce the ability to observe user actions across
the entire instance of your GitLab server, making it easy to understand who the entire instance of your GitLab server, making it easy to understand who
changed what and when for audit purposes. changed what and when for audit purposes.
To view the server-wide administrator log, visit **Admin Area > Monitoring > Audit Log**. To view the server-wide administrator log, visit **Admin Area > Monitoring > Audit Events**.
In addition to the group and project events, the following user actions are also In addition to the group and project events, the following user actions are also
recorded: recorded:
...@@ -150,11 +150,11 @@ on adding these events into GitLab: ...@@ -150,11 +150,11 @@ on adding these events into GitLab:
#### Repository push #### Repository push
The current architecture of audit events is not prepared to receive a very high amount of records. The current architecture of audit events is not prepared to receive a very high amount of records.
It may make the user interface for your project or audit logs very busy, and the disk space consumed by the It may make the user interface for your project or audit events very busy, and the disk space consumed by the
`audit_events` PostgreSQL table may increase considerably. It's disabled by default `audit_events` PostgreSQL table may increase considerably. It's disabled by default
to prevent performance degradations on GitLab instances with very high Git write traffic. to prevent performance degradations on GitLab instances with very high Git write traffic.
In an upcoming release, Audit Logs for Git push events will be enabled In an upcoming release, Audit Events for Git push events will be enabled
by default. Follow [#7865](https://gitlab.com/gitlab-org/gitlab/-/issues/7865) for updates. by default. Follow [#7865](https://gitlab.com/gitlab-org/gitlab/-/issues/7865) for updates.
If you still wish to enable **Repository push** events in your instance, follow If you still wish to enable **Repository push** events in your instance, follow
...@@ -185,19 +185,19 @@ The search filters you can see depends on which audit level you are at. ...@@ -185,19 +185,19 @@ The search filters you can see depends on which audit level you are at.
| Scope (Instance level) | A specific group, project, or user that the action was scoped to. | | Scope (Instance level) | A specific group, project, or user that the action was scoped to. |
| Date range | Either via the date range buttons or pickers (maximum range of 31 days). Default is from the first day of the month to today's date. | | Date range | Either via the date range buttons or pickers (maximum range of 31 days). Default is from the first day of the month to today's date. |
![audit log](img/audit_log_v13_6.png) ![audit events](img/audit_log_v13_6.png)
## Export to CSV **(PREMIUM ONLY)** ## Export to CSV **(PREMIUM ONLY)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/1449) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.4. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/1449) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.4.
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/285441) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.7. > - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/285441) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.7.
Export to CSV allows customers to export the current filter view of your audit log as a Export to CSV allows customers to export the current filter view of your audit events as a
CSV file, which stores tabular data in plain text. The data provides a comprehensive view with respect to CSV file, which stores tabular data in plain text. The data provides a comprehensive view with respect to
audit events. audit events.
To export the Audit Log to CSV, navigate to To export the Audit Events to CSV, navigate to
**{monitor}** **Admin Area > Monitoring > Audit Log** **{monitor}** **Admin Area > Monitoring > Audit Events**
1. Select the available search [filters](#search). 1. Select the available search [filters](#search).
1. Click **Export as CSV**. 1. Click **Export as CSV**.
...@@ -228,5 +228,5 @@ The first row contains the headers, which are listed in the following table alon ...@@ -228,5 +228,5 @@ The first row contains the headers, which are listed in the following table alon
### Limitation ### Limitation
The Audit Log CSV file is limited to a maximum of `100,000` events. The Audit Events CSV file is limited to a maximum of `100,000` events.
The remaining records are truncated when this limit is reached. The remaining records are truncated when this limit is reached.
...@@ -20,7 +20,7 @@ GitLab’s [security features](../security/README.md) may also help you meet rel ...@@ -20,7 +20,7 @@ GitLab’s [security features](../security/README.md) may also help you meet rel
|**[Lock project membership to group](../user/group/index.md#member-lock)**<br>Group owners can prevent new members from being added to projects within a group.|Starter+|✓| |**[Lock project membership to group](../user/group/index.md#member-lock)**<br>Group owners can prevent new members from being added to projects within a group.|Starter+|✓|
|**[LDAP group sync](auth/ldap/index.md#group-sync)**<br>GitLab Enterprise Edition gives admins the ability to automatically sync groups and manage SSH keys, permissions, and authentication, so you can focus on building your product, not configuring your tools.|Starter+|| |**[LDAP group sync](auth/ldap/index.md#group-sync)**<br>GitLab Enterprise Edition gives admins the ability to automatically sync groups and manage SSH keys, permissions, and authentication, so you can focus on building your product, not configuring your tools.|Starter+||
|**[LDAP group sync filters](auth/ldap/index.md#group-sync)**<br>GitLab Enterprise Edition Premium gives more flexibility to synchronize with LDAP based on filters, meaning you can leverage LDAP attributes to map GitLab permissions.|Premium+|| |**[LDAP group sync filters](auth/ldap/index.md#group-sync)**<br>GitLab Enterprise Edition Premium gives more flexibility to synchronize with LDAP based on filters, meaning you can leverage LDAP attributes to map GitLab permissions.|Premium+||
|**[Audit logs](audit_events.md)**<br>To maintain the integrity of your code, GitLab Enterprise Edition Premium gives admins the ability to view any modifications made within the GitLab server in an advanced audit log system, so you can control, analyze, and track every change.|Premium+|| |**[Audit events](audit_events.md)**<br>To maintain the integrity of your code, GitLab Enterprise Edition Premium gives admins the ability to view any modifications made within the GitLab server in an advanced audit events system, so you can control, analyze, and track every change.|Premium+||
|**[Auditor users](auditor_users.md)**<br>Auditor users are users who are given read-only access to all projects, groups, and other resources on the GitLab instance.|Premium+|| |**[Auditor users](auditor_users.md)**<br>Auditor users are users who are given read-only access to all projects, groups, and other resources on the GitLab instance.|Premium+||
|**[Credentials inventory](../user/admin_area/credentials_inventory.md)**<br>With a credentials inventory, GitLab administrators can keep track of the credentials used by all of the users in their GitLab instance. |Ultimate|| |**[Credentials inventory](../user/admin_area/credentials_inventory.md)**<br>With a credentials inventory, GitLab administrators can keep track of the credentials used by all of the users in their GitLab instance. |Ultimate||
|**Separation of Duties using [Protected branches](../user/project/protected_branches.md#protected-branches-approval-by-code-owners) and [custom CI Configuration Paths](../ci/pipelines/settings.md#custom-ci-configuration-path)**<br> GitLab Silver and Premium users can leverage GitLab's cross-project YAML configuration's to define deployers of code and developers of code. View the [Separation of Duties Deploy Project](https://gitlab.com/guided-explorations/separation-of-duties-deploy/blob/master/README.md) and [Separation of Duties Project](https://gitlab.com/guided-explorations/separation-of-duties/blob/master/README.md) to see how to use this set up to define these roles.|Premium+|| |**Separation of Duties using [Protected branches](../user/project/protected_branches.md#protected-branches-approval-by-code-owners) and [custom CI Configuration Paths](../ci/pipelines/settings.md#custom-ci-configuration-path)**<br> GitLab Silver and Premium users can leverage GitLab's cross-project YAML configuration's to define deployers of code and developers of code. View the [Separation of Duties Deploy Project](https://gitlab.com/guided-explorations/separation-of-duties-deploy/blob/master/README.md) and [Separation of Duties Project](https://gitlab.com/guided-explorations/separation-of-duties/blob/master/README.md) to see how to use this set up to define these roles.|Premium+||
...@@ -118,7 +118,7 @@ Learn how to install, configure, update, and maintain your GitLab instance. ...@@ -118,7 +118,7 @@ Learn how to install, configure, update, and maintain your GitLab instance.
- See also other [authentication](../topics/authentication/index.md#gitlab-administrators) topics (for example, enforcing 2FA). - See also other [authentication](../topics/authentication/index.md#gitlab-administrators) topics (for example, enforcing 2FA).
- [Email users](../tools/email.md): Email GitLab users from within GitLab. **(STARTER ONLY)** - [Email users](../tools/email.md): Email GitLab users from within GitLab. **(STARTER ONLY)**
- [User Cohorts](../user/admin_area/analytics/user_cohorts.md): Display the monthly cohorts of new users and their activities over time. - [User Cohorts](../user/admin_area/analytics/user_cohorts.md): Display the monthly cohorts of new users and their activities over time.
- [Audit logs and events](audit_events.md): View the changes made within the GitLab server for: - [Audit events](audit_events.md): View the changes made within the GitLab server for:
- Groups and projects. **(STARTER)** - Groups and projects. **(STARTER)**
- Instances. **(PREMIUM ONLY)** - Instances. **(PREMIUM ONLY)**
- [Auditor users](auditor_users.md): Users with read-only access to all projects, groups, and other resources on the GitLab instance. **(PREMIUM ONLY)** - [Auditor users](auditor_users.md): Users with read-only access to all projects, groups, and other resources on the GitLab instance. **(PREMIUM ONLY)**
......
...@@ -1428,14 +1428,14 @@ interface: ...@@ -1428,14 +1428,14 @@ interface:
| Section | Description | | Section | Description |
|:-------------------------|:----------------------------------------------------------------------------------------------------------------------------| |:-------------------------|:----------------------------------------------------------------------------------------------------------------------------|
| **{overview}** Overview | View your GitLab Dashboard, and administer projects, users, groups, jobs, runners, and Gitaly servers. | | **{overview}** Overview | View your GitLab Dashboard, and administer projects, users, groups, jobs, runners, and Gitaly servers. |
| **{monitor}** Monitoring | View GitLab system information, and information on background jobs, logs, health checks, requests profiles, and audit logs. | | **{monitor}** Monitoring | View GitLab system information, and information on background jobs, logs, health checks, requests profiles, and audit events. |
| **{messages}** Messages | Send and manage broadcast messages for your users. | | **{messages}** Messages | Send and manage broadcast messages for your users. |
``` ```
| Section | Description | | Section | Description |
|:-------------------------|:----------------------------------------------------------------------------------------------------------------------------| |:-------------------------|:----------------------------------------------------------------------------------------------------------------------------|
| **{overview}** Overview | View your GitLab Dashboard, and administer projects, users, groups, jobs, runners, and Gitaly servers. | | **{overview}** Overview | View your GitLab Dashboard, and administer projects, users, groups, jobs, runners, and Gitaly servers. |
| **{monitor}** Monitoring | View GitLab system information, and information on background jobs, logs, health checks, requests profiles, and audit logs. | | **{monitor}** Monitoring | View GitLab system information, and information on background jobs, logs, health checks, requests profiles, and audit events. |
| **{messages}** Messages | Send and manage broadcast messages for your users. | | **{messages}** Messages | Send and manage broadcast messages for your users. |
Use an icon when you find yourself having to describe an interface element. For Use an icon when you find yourself having to describe an interface element. For
......
...@@ -24,7 +24,7 @@ The Admin Area is made up of the following sections: ...@@ -24,7 +24,7 @@ The Admin Area is made up of the following sections:
| Section | Description | | Section | Description |
|:-----------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |:-----------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **{overview}** [Overview](#overview-section) | View your GitLab [Dashboard](#admin-dashboard), and administer [projects](#administering-projects), [users](#administering-users), [groups](#administering-groups), [jobs](#administering-jobs), [runners](#administering-runners), and [Gitaly servers](#administering-gitaly-servers). | | **{overview}** [Overview](#overview-section) | View your GitLab [Dashboard](#admin-dashboard), and administer [projects](#administering-projects), [users](#administering-users), [groups](#administering-groups), [jobs](#administering-jobs), [runners](#administering-runners), and [Gitaly servers](#administering-gitaly-servers). |
| **{monitor}** Monitoring | View GitLab [system information](#system-info), and information on [background jobs](#background-jobs), [logs](#logs), [health checks](monitoring/health_check.md), [requests profiles](#requests-profiles), and [audit logs](#audit-log). | | **{monitor}** Monitoring | View GitLab [system information](#system-info), and information on [background jobs](#background-jobs), [logs](#logs), [health checks](monitoring/health_check.md), [requests profiles](#requests-profiles), and [audit events](#audit-events). |
| **{messages}** Messages | Send and manage [broadcast messages](broadcast_messages.md) for your users. | | **{messages}** Messages | Send and manage [broadcast messages](broadcast_messages.md) for your users. |
| **{hook}** System Hooks | Configure [system hooks](../../system_hooks/system_hooks.md) for many events. | | **{hook}** System Hooks | Configure [system hooks](../../system_hooks/system_hooks.md) for many events. |
| **{applications}** Applications | Create system [OAuth applications](../../integration/oauth_provider.md) for integrations with other services. | | **{applications}** Applications | Create system [OAuth applications](../../integration/oauth_provider.md) for integrations with other services. |
...@@ -322,6 +322,6 @@ The content of each log file is listed in chronological order. To minimize perfo ...@@ -322,6 +322,6 @@ The content of each log file is listed in chronological order. To minimize perfo
The **Requests Profiles** page contains the token required for profiling. For more details, see [Request Profiling](../../administration/monitoring/performance/request_profiling.md). The **Requests Profiles** page contains the token required for profiling. For more details, see [Request Profiling](../../administration/monitoring/performance/request_profiling.md).
### Audit Log **(PREMIUM ONLY)** ### Audit Events **(PREMIUM ONLY)**
The **Audit Log** page lists changes made within the GitLab server. With this information you can control, analyze, and track every change. The **Audit Events** page lists changes made within the GitLab server. With this information you can control, analyze, and track every change.
...@@ -114,7 +114,7 @@ You can then test the connection by clicking on **Test Connection**. If the conn ...@@ -114,7 +114,7 @@ You can then test the connection by clicking on **Test Connection**. If the conn
the application (`Users and groups`), otherwise, it syncs the whole Active Directory. the application (`Users and groups`), otherwise, it syncs the whole Active Directory.
Once enabled, the synchronization details and any errors appears on the Once enabled, the synchronization details and any errors appears on the
bottom of the **Provisioning** screen, together with a link to the audit logs. bottom of the **Provisioning** screen, together with a link to the audit events.
WARNING: WARNING:
Once synchronized, changing the field mapped to `id` and `externalId` may cause a number of errors. These include provisioning errors, duplicate users, and may prevent existing users from accessing the GitLab group. Once synchronized, changing the field mapped to `id` and `externalId` may cause a number of errors. These include provisioning errors, duplicate users, and may prevent existing users from accessing the GitLab group.
...@@ -292,7 +292,7 @@ When testing the connection, you may encounter an error: **You appear to have en ...@@ -292,7 +292,7 @@ When testing the connection, you may encounter an error: **You appear to have en
#### (Field) can't be blank sync error #### (Field) can't be blank sync error
When checking the Audit Logs for the Provisioning, you can sometimes see the When checking the Audit Events for the Provisioning, you can sometimes see the
error `Namespace can't be blank, Name can't be blank, and User can't be blank.` error `Namespace can't be blank, Name can't be blank, and User can't be blank.`
This is likely caused because not all required fields (such as first name and last name) are present for all users being mapped. This is likely caused because not all required fields (such as first name and last name) are present for all users being mapped.
......
...@@ -74,7 +74,7 @@ From there, you can: ...@@ -74,7 +74,7 @@ From there, you can:
- Manage your [preferences](preferences.md#syntax-highlighting-theme) - Manage your [preferences](preferences.md#syntax-highlighting-theme)
to customize your own GitLab experience to customize your own GitLab experience
- [View your active sessions](active_sessions.md) and revoke any of them if necessary - [View your active sessions](active_sessions.md) and revoke any of them if necessary
- Access your audit log, a security log of important events involving your account - Access your audit events, a security log of important events involving your account
## Changing your password ## Changing your password
......
- page_title _('Audit Log') - page_title _('Audit Events')
#js-audit-log-app{ data: { form_path: admin_audit_logs_path, #js-audit-log-app{ data: { form_path: admin_audit_logs_path,
events: @events.to_json, events: @events.to_json,
......
- if License.feature_available?(:admin_audit_log) - if License.feature_available?(:admin_audit_log)
= nav_link path: 'audit_logs#index' do = nav_link path: 'audit_logs#index' do
= link_to admin_audit_logs_path, title: 'Audit Log' do = link_to admin_audit_logs_path, title: 'Audit Events' do
%span %span
Audit Log Audit Events
- if License.feature_available?(:admin_audit_log) - if License.feature_available?(:admin_audit_log)
= nav_link path: 'audit_logs#index' do = nav_link path: 'audit_logs#index' do
= link_to admin_audit_logs_path, title: 'Audit Log', data: { qa_selector: 'admin_monitoring_audit_logs_link' } do = link_to admin_audit_logs_path, title: 'Audit Events', data: { qa_selector: 'admin_monitoring_audit_logs_link' } do
%span %span
Audit Log Audit Events
---
title: Re-name Audit Log as Audit Events
merge_request: 49635
author:
type: changed
...@@ -18,7 +18,7 @@ RSpec.describe Admin::ImpersonationsController do ...@@ -18,7 +18,7 @@ RSpec.describe Admin::ImpersonationsController do
stub_licensed_features(extended_audit_events: true) stub_licensed_features(extended_audit_events: true)
end end
it 'creates an audit log record' do it 'creates an AuditEvent record' do
expect { delete :destroy }.to change { AuditEvent.count }.by(1) expect { delete :destroy }.to change { AuditEvent.count }.by(1)
end end
end end
......
...@@ -97,7 +97,7 @@ RSpec.describe Admin::UsersController do ...@@ -97,7 +97,7 @@ RSpec.describe Admin::UsersController do
stub_licensed_features(extended_audit_events: true) stub_licensed_features(extended_audit_events: true)
end end
it 'creates an audit log record' do it 'creates an AuditEvent record' do
expect { post :impersonate, params: { id: user.username } }.to change { AuditEvent.count }.by(1) expect { post :impersonate, params: { id: user.username } }.to change { AuditEvent.count }.by(1)
end end
end end
......
...@@ -33,10 +33,10 @@ RSpec.describe 'Admin::AuditLogs', :js do ...@@ -33,10 +33,10 @@ RSpec.describe 'Admin::AuditLogs', :js do
stub_licensed_features(admin_audit_log: true) stub_licensed_features(admin_audit_log: true)
end end
it 'has Audit Log button in head nav bar' do it 'has Audit Events button in head nav bar' do
visit admin_audit_logs_path visit admin_audit_logs_path
expect(page).to have_link('Audit Log', href: admin_audit_logs_path) expect(page).to have_link('Audit Events', href: admin_audit_logs_path)
end end
describe 'release created events' do describe 'release created events' do
......
...@@ -30,7 +30,7 @@ RSpec.describe API::Releases do ...@@ -30,7 +30,7 @@ RSpec.describe API::Releases do
} }
end end
context 'updates the audit log' do context 'updates the AuditEvent' do
subject { AuditEvent.last.details } subject { AuditEvent.last.details }
it 'without milestone' do it 'without milestone' do
...@@ -141,7 +141,7 @@ RSpec.describe API::Releases do ...@@ -141,7 +141,7 @@ RSpec.describe API::Releases do
description: 'Super nice release') description: 'Super nice release')
end end
it 'updates the audit log when a release is updated' do it 'creates an AuditEvent when a release is updated' do
params = { name: 'A new name', description: 'a new description' } params = { name: 'A new name', description: 'a new description' }
expect do expect do
......
...@@ -9,7 +9,7 @@ RSpec.describe ::Applications::CreateService do ...@@ -9,7 +9,7 @@ RSpec.describe ::Applications::CreateService do
subject { described_class.new(user, params) } subject { described_class.new(user, params) }
it 'creates an audit log' do it 'creates an AuditEvent' do
stub_licensed_features(extended_audit_events: true) stub_licensed_features(extended_audit_events: true)
expect { subject.execute(request) }.to change { AuditEvent.count }.by(1) expect { subject.execute(request) }.to change { AuditEvent.count }.by(1)
......
...@@ -9,7 +9,7 @@ RSpec.describe PersonalAccessTokens::CreateService do ...@@ -9,7 +9,7 @@ RSpec.describe PersonalAccessTokens::CreateService do
context 'when non-admin user' do context 'when non-admin user' do
context 'when user creates their own token' do context 'when user creates their own token' do
it 'creates audit logs with success message' do it 'creates AuditEvent with success message' do
expect_to_log(user, user, /Created personal access token with id \d+/) expect_to_log(user, user, /Created personal access token with id \d+/)
described_class.new(current_user: user, target_user: user, params: params).execute described_class.new(current_user: user, target_user: user, params: params).execute
...@@ -19,7 +19,7 @@ RSpec.describe PersonalAccessTokens::CreateService do ...@@ -19,7 +19,7 @@ RSpec.describe PersonalAccessTokens::CreateService do
context 'when user attempts to create a token for a different user' do context 'when user attempts to create a token for a different user' do
let(:other_user) { create(:user) } let(:other_user) { create(:user) }
it 'creates audit logs with failure message' do it 'creates AuditEvent with failure message' do
expect_to_log(user, other_user, 'Attempted to create personal access token but failed with message: Not permitted to create') expect_to_log(user, other_user, 'Attempted to create personal access token but failed with message: Not permitted to create')
described_class.new(current_user: user, target_user: other_user, params: params).execute described_class.new(current_user: user, target_user: other_user, params: params).execute
......
...@@ -10,7 +10,7 @@ RSpec.describe PersonalAccessTokens::RevokeService do ...@@ -10,7 +10,7 @@ RSpec.describe PersonalAccessTokens::RevokeService do
let(:token) { create(:personal_access_token, user: user) } let(:token) { create(:personal_access_token, user: user) }
let(:service) { described_class.new(user, token: token) } let(:service) { described_class.new(user, token: token) }
it 'creates audit logs' do it 'creates audit events' do
expect(::AuditEventService) expect(::AuditEventService)
.to receive(:new) .to receive(:new)
.with(user, user, action: :custom, custom_message: "Revoked personal access token with id #{token.id}") .with(user, user, action: :custom, custom_message: "Revoked personal access token with id #{token.id}")
......
...@@ -3974,9 +3974,6 @@ msgstr "" ...@@ -3974,9 +3974,6 @@ msgstr ""
msgid "Audit Events is a way to keep track of important events that happened in GitLab." msgid "Audit Events is a way to keep track of important events that happened in GitLab."
msgstr "" msgstr ""
msgid "Audit Log"
msgstr ""
msgid "AuditLogs|(removed)" msgid "AuditLogs|(removed)"
msgstr "" msgstr ""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment