doc/administration/compliance/audit_event_streaming.md
{{< details >}}
{{< /details >}}
{{< history >}}
ff_external_audit_events. Disabled by default.ff_external_audit_events enabled by default in GitLab 16.2.ff_external_audit_events removed.custom_headers_streaming_audit_events_ui. Disabled by default.custom_headers_streaming_audit_events_ui removed.{{< /history >}}
Audit event streaming for instances, administrators can:
Each streaming destination can have up to 20 custom HTTP headers included with each streamed event.
GitLab can stream a single event more than once to the same destination. Use the id key in the payload to deduplicate
incoming data.
Audit events are sent using the POST request method protocol supported by HTTP.
[!warning] Streaming destinations receive all audit event data, which could include sensitive information. Make sure you trust the streaming destination.
Manage streaming destinations for an entire instance.
Prerequisites:
Manage HTTP streaming destinations for an entire instance.
Add a new HTTP streaming destination to an instance.
Prerequisites:
To add a streaming destination for an instance:
Prerequisites:
To update a instance streaming destination's name:
To update a instance streaming destination's custom HTTP headers:
{{< history >}}
ff_external_audit_events. Disabled by default.ff_external_audit_events enabled by default in GitLab 16.2.ff_external_audit_events removed.{{< /history >}}
Each streaming destination has a unique verification token (verificationToken) that can be used to verify the authenticity of the event. This
token is either specified by the Owner or generated automatically when the event destination is created and cannot be changed.
Each streamed event contains the verification token in the X-Gitlab-Event-Streaming-Token HTTP header that can be verified against
the destination's value when listing streaming destinations.
Prerequisites:
To list streaming destinations for an instance and see the verification tokens:
{{< history >}}
{{< /history >}}
When this feature is enabled, you can permit users to filter streamed audit events per destination. If the feature is enabled with no filters, the destination receives all audit events.
A streaming destination that has an event type filter set has a filtered ({{< icon name="filter" >}}) label.
To update a streaming destination's event filters:
By default, streaming destinations use a content-type header of application/x-www-form-urlencoded. However, you
might want to set the content-type header to something else. For example, application/json.
To override the content-type header default value for an instance streaming destination, use either:
{{< history >}}
{{< /history >}}
Manage Google Cloud Logging destinations for an entire instance.
Before setting up Google Cloud Logging streaming audit events, you must:
Prerequisites:
To add Google Cloud Logging streaming destinations to an instance:
-----BEGIN PRIVATE KEY-----.
Do not upload the entire JSON key.Prerequisites:
To update Google Cloud Logging streaming destinations to an instance:
{{< history >}}
allow_streaming_instance_audit_events_to_amazon_s3. Disabled by default.allow_streaming_instance_audit_events_to_amazon_s3 removed in GitLab 16.8.{{< /history >}}
Manage AWS S3 destinations for entire instance.
Before setting up AWS S3 streaming audit events, you must:
Prerequisites:
To add AWS S3 streaming destinations to an instance:
Prerequisites:
To update an AWS S3 streaming destination to an instance:
Prerequisites:
To list the streaming destinations for an instance:
{{< history >}}
{{< /history >}}
You can temporarily deactivate audit event streaming to a destination without deleting the destination configuration. When a streaming destination is deactivated:
Prerequisites:
To deactivate a streaming destination:
The destination stops receiving audit events.
To reactivate a previously deactivated streaming destination:
The destination resumes receiving audit events immediately.
Delete streaming destinations for an entire instance. When the last destination is successfully deleted, streaming is disabled for the instance.
Prerequisites:
To delete streaming destinations on an instance:
Prerequisites:
To delete only the custom HTTP headers for a streaming destination: