doc/user/compliance/audit_event_streaming.md
{{< details >}}
{{< /details >}}
{{< history >}}
custom_headers_streaming_audit_events_ui. Disabled by default.custom_headers_streaming_audit_events_ui removed.{{< /history >}}
With audit event streaming for top-level groups, group owners can:
Each streaming destination:
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.
Prerequisites:
Manage HTTP streaming destinations for top-level groups.
Add a new HTTP streaming destination to a top-level group.
Prerequisites:
To add streaming destinations to a top-level group:
Prerequisites:
To update a streaming destination's name:
To update a streaming destination's custom HTTP headers:
{{< history >}}
{{< /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.
The verificationToken parameter can only be set by using the GraphQL API.
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 and see the verification tokens:
{{< history >}}
{{< /history >}}
When this feature is enabled for a group, 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:
{{< history >}}
{{< /history >}}
When this feature is enabled for a group, 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 a namespace filter set has a filtered ({{< icon name="filter" >}}) label.
To update a streaming destination's namespace 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 a top-level group streaming destination, use either:
{{< history >}}
{{< /history >}}
Manage Google Cloud Logging destinations for top-level groups.
Before setting up Google Cloud Logging streaming audit events, you must:
Prerequisites:
To add Google Cloud Logging streaming destinations to a top-level group:
{{< history >}}
{{< /history >}}
Prerequisites:
To update Google Cloud Logging streaming destinations to a top-level group:
{{< history >}}
allow_streaming_audit_events_to_amazon_s3. Enabled by default.allow_streaming_audit_events_to_amazon_s3 removed in GitLab 16.7.{{< /history >}}
Manage AWS S3 destinations for top-level groups.
Before setting up AWS S3 streaming audit events, you must:
Prerequisites:
To add AWS S3 streaming destinations to a top-level group:
Prerequisites:
To update an AWS S3 streaming destination to a top-level group:
Prerequisites:
To list streaming destinations for a top-level group:
{{< 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 a top-level group. When the last destination is successfully deleted, streaming is disabled for the top-level group.
Prerequisites:
To delete streaming destinations to a top-level group:
Prerequisites:
To delete only the custom HTTP headers for a streaming destination: