Skip to main content
CDF can stream audit logs continuously to cloud storage you own and control. Once streaming is configured, new audit log entries are delivered to your storage destination as they are generated, giving you a queryable, long-term copy that you can feed into a security information and event management (SIEM) or analysis tool. Setting up a stream is a two-part process: you create the storage destination and credentials in your cloud account, then share a configuration JSON securely with your Cognite representative, who completes the setup on the CDF side.

Azure Blob Storage

1

Create a storage account and container

In Microsoft Azure, create a storage account and a container to receive the audit log files. See Introduction to Azure Blob Storage in the Microsoft documentation.
2

Generate a SAS token

From the Azure portal:
  1. On the Home page, select Storage accounts.
  2. Under Name, select the storage account you want to use.
  3. Under Data storage, select Containers.
  4. Select the container you want to use.
  5. In the left sidebar, under Settings, select Shared access tokens.
  6. Open the Permissions dropdown and select Create, Read, Add, List, and Write. Deselect all other options.
  7. Set an expiry date that complies with your secret rotation policy.
  8. Select Generate SAS token and URL.
  9. Copy the value of the Blob SAS URL field. The URL has this format:
3

Build the configuration JSON

Create a JSON using the values from your SAS URL:
The audit-logs segment in TARGET_URL is the path within the container. You can request a different path when you contact your Cognite representative.
4

Share the configuration with Cognite

Send the JSON to your Cognite representative through a secure channel.

Amazon S3

1

Create an S3 bucket

Create a bucket and block all public access to it. See Creating, configuring, and working with Amazon S3 buckets in the AWS documentation.
2

Create an IAM policy

Create a policy that allows CDF to write to the bucket. Copy the following JSON and replace EXAMPLE-BUCKET with the name of your bucket:
The audit-logs segment in s3:prefix is the path within the bucket. You can request a different path when you contact your Cognite representative.See Creating IAM policies in the AWS documentation.
3

Create an IAM user and access key

  1. Create an IAM user and attach the policy you created directly to the user.
  2. Open the user and select Create access key.
  3. Copy the Access key ID and Secret access key.
For more information, see Understanding and getting your AWS credentials in the AWS documentation.
4

Build the configuration JSON

Create a JSON using the values from your bucket and IAM user:
5

Share the configuration with Cognite

Send the JSON to your Cognite representative through a secure channel.

Google Cloud Storage

1

Create a Cloud Storage bucket

Create a new bucket in your Google Cloud project and enable public access prevention on it. See Create buckets in the Google Cloud documentation.
2

Create a custom IAM role

The built-in Storage Object User role includes delete permissions that audit log delivery does not need. Create a custom role with only the permissions required:See Create and manage custom roles in the Google Cloud documentation.
3

Create a service account and grant access

  1. Create a service account in your Google Cloud project. See Create service accounts in the Google Cloud documentation.
  2. On the Cloud Storage bucket, grant the custom role you created to the service account. Grant the role at the bucket level, not the project level.
  3. Open the service account, go to the Keys tab, and select Add keyCreate new key.
  4. Select JSON as the key type and download the key file.
4

Build the configuration JSON

Create a JSON in the following format. Set GCS_SERVICE_ACCOUNT_KEY to the entire contents of the downloaded key file as a single-line string:
The audit-logs segment in TARGET_URL is the path within the bucket. You can request a different path when you contact your Cognite representative.
5

Share the configuration with Cognite

Send the JSON to your Cognite representative through a secure channel.

Further reading

Last modified on July 29, 2026