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

Включите Amazon S3

Cloudflare Logpush поддерживает отправку журналов напрямую в Amazon S3 через панель управления Cloudflare или API. Клиентам, использующим регионы AWS GovCloud, следует использовать наш S3-совместимая конечная точка а не конечная точка Amazon S3.

Управление через панель управления Cloudflare

  1. На панели управления Cloudflare перейдите к разделу Logpush на уровне аккаунта или домена (также называемого зоной).

    Для аккаунта: Перейдите в Logpush ↗

    Для домена (также называемого зоной): Перейдите в Logpush ↗

  2. В зависимости от выбора вам доступны наборы данных уровня аккаунта и наборы данных, привязанные к зоне, соответственно.

  3. Выберите Создание задания Logpush.

  1. В Выберите пункт назначения, выберите Amazon S3.

  2. Введите или выберите следующую информацию о получателе:

    • Бакет - Имя бакета S3
    • Путь - расположение бакета внутри контейнера хранилища
    • Распределяйте журналы по ежедневным подпапкам (рекомендуется)
    • Регион бакета
    • Если ваша политика требует Серверное шифрование AWS SSE-S3 AES256 ↗.
    • Для Предоставьте Cloudflare доступ для загрузки файлов в ваш бакет, убедитесь, что у вашего bucket есть политика ↗ (если вы ещё не добавили его):
      • Скопируйте политику JSON, затем перейдите к своему бакету в консоли Amazon S3 и вставьте политику в Разрешения > Политика бакета и выберите Save.

Когда вы закончите вводить данные получателя, выберите Продолжение.

  1. Для подтверждения владения Cloudflare отправит файл в указанное вами место назначения. Чтобы найти токен, выберите Открыто кнопку в Обзор вкладке файла подтверждения владения, затем вставьте его в панель управления Cloudflare, чтобы подтвердить доступ к бакету. Введите Токен владения и выберите Продолжение.

  2. Выберите набор данных для отправки в хранилище.

  3. На следующем шаге настройте задание Logpush:

    • Введите Название задания.
    • В разделе Если журналы соответствуют, вы можете выбрать, какие события включить в журналы или исключить из них. См. Фильтры с дополнительной информацией. Эта опция доступна не для всех наборов данных.
    • В Отправьте следующие поля, вы можете либо отправлять в хранилище назначения все журналы, либо выбирать, какие журналы отправлять.
  4. В Advanced Options, вы можете:

    • Выберите формат полей отметки времени в своих журналах (RFC3339 (по умолчанию), Unix, или UnixNano).
    • Выберите частота сэмплирования для ваших журналов или отправлять случайно выбранный процент журналов.
    • Включите скрытие данных для CVE-2021-44228. Эта опция заменит каждое вхождение ${ с x{.
  5. Выберите Отправить после того как настройка задания Logpush завершена.

Создание бакета S3 и получение доступа к нему

Cloudflare использует Amazon Identity and Access Management (IAM) для получения доступа к вашему бакету S3. Пользователю IAM Cloudflare необходимо PutObject разрешение для бакета.

Журналы записываются в этот бакет как объекты, сжатые gzip, с использованием S3 Access Control List (ACL) Bucket-owner-full-control разрешение.

Для примера предположим, что вы хотите хранить журналы в бакете burritobot, в logs каталоге. В этом случае URL-адрес S3 будет s3://burritobot/logs.

Убедитесь Log Share разрешения включены, прежде чем пытаться читать или настраивать задание Logpush. Дополнительные сведения см. в Раздел Roles.


Чтобы включить Logpush для Amazon S3:

  1. Создайте бакет S3. См. инструкции от Amazon ↗.

  2. Отредактируйте политику ниже и вставьте её в S3 > Бакет > Разрешения > Политика бакета, заменив Resource значение на путь к своему бакету. AWS Principal принадлежит Cloudflare, и его нельзя изменять.

{
	"Id": "<POLICY_ID>",
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "Stmt1506627150918",
			"Action": ["s3:PutObject"],
			"Effect": "Allow",
			"Resource": "arn:aws:s3:::burritobot/logs/*",
			"Principal": {
				"AWS": ["arn:aws:iam::391854517948:user/cloudflare-logpush"]
			}
		}
	]
}