INTEGRITY Документация

Audit Logs - версия 2

Cloudflare Audit Logs ведутся на уровне аккаунта. Все действия, инициированные пользователем, автоматически фиксируются как в API, так и в панели управления Cloudflare. Также фиксируются системные события, отражающие действия, которые системы Cloudflare выполняют автоматически: обновления конфигурации, фоновые процессы или применение внутренних политик.

Когда действие, инициированное пользователем, запускает дополнительное автоматическое поведение, создаются соответствующие журналы, инициированные системой. В некоторых случаях журналы, инициированные пользователем, содержат дополнительные данные, которые дают больше контекста о том, что было изменено, обеспечивая более полную видимость всего жизненного цикла действия.

Когда происходит действие, оно передается через конвейер аудита Cloudflare и сохраняется. Это обеспечивает единообразную видимость активности во всех продуктах.

Подробнее о том, как автоматически регистрируются действия, инициированные пользователем, см. в Cloudflare Blog.

Ключевые функции

Audit Logs (version 2) предоставляют единую и стандартизированную систему отслеживания и регистрации действий в продуктах Cloudflare. Это повышает прозрачность и подотчетность благодаря полному обзору действий, инициированных пользователями и системой, в вашей среде Cloudflare.

Срок хранения

Customer Metadata Boundary

Audit Logs v2 поддерживает Customer Metadata Boundary (CMB). Настройка CMB на уровне аккаунта автоматически применяется к Audit Logs v2. Например, если вы выберете eu, Audit Logs v2 использует границу метаданных EU. Отдельно настраивать Audit Logs не требуется.

Чтобы настроить CMB на панели управления Cloudflare или через /accounts/{account_id}/logs/control/cmb/config API, обратитесь к Начало работы с Customer Metadata Boundary. CMB входит в состав Data Localization Suite. Если CMB не включён для вашего аккаунта, обратитесь к вашей команде по работе с аккаунтом.

Журналы аудита Access

Журналы аудита можно получить через панель управления Cloudflare, через API или с помощью Logpush.

API

Audit Logs доступны через Cloudflare API. Чтобы получить журналы аудита, используйте следующую конечную точку:

https://api.cloudflare.com/client/v4/accounts/{account_id}/logs/audit

Ниже приведен пример запроса на получение журналов аудита за определенный период времени вместе с соответствующим ответом. Замените значения из примера в URL на свои реальные значения:

GET https://api.cloudflare.com/client/v4/accounts/1234567890abcdef/logs/audit?since=2025-03-01T00:00:00Z&before=2025-03-26T23:59:59Z
Пример ответа
{
	"result": [
		{
			"action": "zone.settings.change",
			"actor": {
				"email": "[email protected]",
				"id": "0987654321abcdef"
			},
			"ip": "192.0.2.1",
			"method": "PUT",
			"interface": "dashboard",
			"resources": [
				{
					"resource_id": "zone123",
					"resource_type": "zone"
				}
			],
			"timestamp": "2025-03-15T14:25:37Z"
		}
		// Additional log entries
	],
	"success": true,
	"errors": [],
	"messages": []
}

Дополнительную информацию см. в Документация по API.

Dashboard

Чтобы получить доступ к журналам аудита в дашборде Cloudflare, перейдите в Manage Account > Audit Logs.

Перейдите в Журналы аудита ↗

Logpush

Чтобы создать задание Logpush:

  1. На панели управления Cloudflare перейдите к разделу Logpush страницу.

    Перейдите в Logpush ↗
  2. Выберите Создание задания Logpush.

  3. В Выберите пункт назначения, выберите нужный пункт назначения и укажите его данные.

  4. В разделе datasets выберите Набор данных Audit Logs v2. Audit Logs v2 представляет собой набор данных на уровне аккаунта.

  5. После завершения настройки задания Logpush выберите Отправить.

Resource History

Resource History показывает, что изменилось при каждой модификации конфигурации, зафиксированной в Audit Logs. Для любой записи журнала аудита можно проследить последовательность предыдущих изменений того же ресурса и увидеть построчное сравнение внесенных правок.

Resource History доступна в панели управления Cloudflare и через Audit Logs API. Она использует уже накопленные записи журнала аудита. Дополнительная настройка не требуется, повторный сбор данных на стороне сервера не выполняется, а способ формирования журналов аудита остается прежним.

Что дает функция Resource History

Для любой записи журнала аудита Resource History находит все остальные записи журнала для этого же ресурса в хронологическом порядке. Затем вы можете выбрать более раннюю запись из этой истории, чтобы увидеть, какие именно поля изменились между двумя записями.

Используйте Resource History в панели управления

  1. Перейдите в Manage Account > Audit Logs.
  2. Откройте любую запись журнала аудита.
  3. Выберите История вкладку, чтобы увидеть полную историю ресурса, который описывает эта запись.
  4. В представлении истории выберите любую более раннюю запись, чтобы увидеть построчное сравнение полей, которые изменились между ней и текущей записью.

Когда Resource History не может определить исходный ресурс (например, для некоторых событий, инициированных системой), на панели управления отображается пустое состояние, означающее, что история изменений для этой записи недоступна.

Используйте Resource History через API

Историю изменений для любой записи журнала аудита можно получить через History endpoint. Если задан id исходной записи журнала аудита: конечная точка определяет идентифицирующие фильтры на основе этой записи и возвращает соответствующие записи журнала аудита за указанный вами период.

Для журналов аудита на уровне аккаунта используйте:

GET https://api.cloudflare.com/client/v4/accounts/{account_id}/logs/audit/{id}/history

Для журналов аудита на уровне организации используйте:

GET https://api.cloudflare.com/client/v4/organizations/{organization_id}/logs/audit/{id}/history

{id} параметр пути представляет собой id исходной записи журнала аудита, для которой требуется получить историю ресурса.

Конечная точка требует три параметра запроса:

Необязательные параметры запроса:

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Получение истории изменений ресурса из записи журнала аудита аккаунта (версия 2)
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/logs/audit/$ID/history" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Каждая запись в result имеет ту же структуру, что и запись, возвращаемая конечной точкой списка Audit Logs. Результаты разбиваются на страницы с помощью cursor значение в result_info.

result_info.history_status поле указывает на качество идентификации ресурса, использованной для построения истории:

Resource History отражает записи журнала аудита, которые в настоящий момент хранятся в Audit Logs v2 (см. Срок хранения). Записи старше периода хранения не возвращаются. Resource History представляет собой функцию, применяемую во время запроса, и не отображается в виде дополнительных полей в audit_logs_v2 набор данных Logpush.

Структура Audit Log

Журналы аудита Cloudflare дают подробное представление об активности в вашей среде, фиксируя как источник действий, так и контекст, в котором они происходят. Эти журналы классифицируются по тому, кто инициировал действие (пользователь или система), и по тому, произошла ли активность в рамках одного аккаунта или затронула несколько аккаунтов под одним профилем пользователя. Такая структура обеспечивает гибкую фильтрацию, расследование инцидентов и контроль соответствия требованиям.

Тип инициации

Записи в журналах аудита создаются либо пользователями, либо системой. Понимание типа инициатора действия помогает определить источник и цель конкретного действия.

Журналы аудита, инициированные пользователем

Отслеживайте действия, которые пользователи выполняют непосредственно через интерфейсы Cloudflare (панель управления или API). Эти журналы фиксируют, кто выполнил действие, когда оно произошло и на какой ресурс повлияло. Действия, инициированные пользователем, может выполнить один из трёх участников:

Журналы аудита, инициированные системой

Фиксируют изменения, вносимые системами Cloudflare автоматически, без непосредственного участия пользователя. Эти журналы дают представление о внутренних процессах, автоматизированных задачах и событиях безопасности. Некоторые записи могут включать связанный контекст пользователя для отслеживаемости (actor_type="system").

Область активности

Account Activity Logs

Содержат события в рамках одного аккаунта Cloudflare. Эти журналы можно фильтровать по account ID и отражают только действия в рамках этого аккаунта. При необходимости можно дополнительно отфильтровать события с помощью resource_scope поле, которое указывает, связан ли ресурс с пользователем, аккаунтом или зоной (resource_scope ="user", resource_scope ="accounts", или resource_scope ="zones").

User Profile Activity Logs

Отражают действия, связанные с входом пользователя (email), в нескольких аккаунтах. Эти журналы позволяют отслеживать действия по аккаунтам и могут фильтроваться по user ID или email. Они отображаются в любом аккаунте, к которому у пользователя был доступ на момент действия. User Profile Activity Logs можно фильтровать с помощью resource_scope ="user".

GET /memberships конечная точка поддерживает доступ к нескольким аккаунтам. Чтобы получить данные об участии в аккаунтах, используйте параметр resource_scope=memberships.

Журналы активности организации

Содержат события в рамках определённых Cloudflare Organizations. Эти журналы фиксируют действия, инициированные администраторами организации через API уровня организации.

Журналы аудита Organization можно получить через API или через панель управления Cloudflare.

Доступ к API

Доступно через API Audit Logs v2:

GET https://api.cloudflare.com/client/v4/organizations/{organization_id}/logs/audit
Доступ к панели управления

Чтобы получить доступ к журналам аудита организации в дашборде Cloudflare, перейдите в Organizations > (выберите свою организацию) > Управление организацией > Audit Logs.

Если вы просматриваете журналы аудита уровня аккаунта, а аккаунт принадлежит организации, где вы являетесь Organization Super Administrator, вы можете перейти к журналам аудита родительской организации через Просмотр Audit Logs организации кнопку.

Пример запроса Audit Logs

Используйте следующий пример, чтобы получить список журналов аудита для аккаунта Cloudflare.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Получение журналов аудита аккаунта (версия 2)
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/logs/audit" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
Пример ответа
{
	"errors": [
		{
			"message": "message"
		}
	],
	"result": [
		{
			"account": {
				"id": "4bb334f7c94c4a29a045f03944f072e5",
				"name": "Example Account"
			},
			"action": {
				"description": "Add Member",
				"result": "success",
				"time": "2024-04-26T17:31:07Z",
				"type": "create"
			},
			"actor": {
				"id": "f6b5de0326bb5182b8a4840ee01ec774",
				"context": "dash",
				"email": "[email protected]",
				"ip_address": "198.41.129.166",
				"token_id": "token_id",
				"token_name": "token_name",
				"type": "user"
			},
			"raw": {
				"cf_ray_id": "8e9b1c60ef9e1c9a",
				"method": "POST",
				"status_code": 200,
				"uri": "/accounts/4bb334f7c94c4a29a045f03944f072e5/members",
				"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Safari/605.1.15"
			},
			"resource": {
				"id": "id",
				"product": "members",
				"request": {},
				"response": {},
				"scope": {},
				"type": "type"
			},
			"zone": {
				"id": "id",
				"name": "example.com"
			}
		}
	],
	"result_info": {
		"count": "1",
		"cursor": "ASqdKd7dKgxh-aZ8bm0mZos1BtW4BdEqifCzNkEeGRzi_5SN_-362Y8sF-C1TRn60_6rd3z2dIajf9EAPyQ_NmIeAMkacmaJPXipqvP7PLU4t72wyqBeJfjmjdE="
	},
	"success": true
}

Общие термины и определения

Инициатор

Инициатор обозначает, кто выполнил действие. Он включает такие идентификационные атрибуты, как ID пользователя, адрес электронной почты, IP-адрес и тип инициатора (user, account, Cloudflare_admin, или system). Также включает контекст, использованный для инициирования действия:

Действие

Поле action фиксирует характер события и то, было ли оно успешным. Оно включает тип верхнего уровня (например, create, update, delete), конкретное описание (например, SSO_LOGIN), отметку времени, когда произошло действие, и результат (success или failure).

view действия соответствуют GET запросов. Они определены в схеме, но пока не фиксируются в Audit Logs. Выборочное GET журналирование чувствительных операций чтения запланировано в одном из будущих релизов.

Аккаунт

Это поле указывает на аккаунт Cloudflare, в рамках которого было выполнено действие. Оно включает уникальный идентификатор аккаунта и понятное человеку название аккаунта, что помогает связать действие с конкретной средой клиента.

Ресурс

Ресурс определяет объект, на который повлияло действие. Он включает тип ресурса, уникальный ID ресурса, область (user, account, или zone), и, при необходимости, продукт, связанный с изменением.

Audit Log ID

Это уникальный идентификатор самой записи журнала. Он может использоваться для дедупликации, корреляции или ссылки на конкретные действия при расследованиях.