← Cloudflare Logs / logs / logpush / logpush-job / enable-destinations
Включите Amazon S3
Cloudflare Logpush поддерживает отправку журналов напрямую в Amazon S3 через панель управления Cloudflare или API. Клиентам, использующим регионы AWS GovCloud, следует использовать наш S3-совместимая конечная точка а не конечная точка Amazon S3.
Управление через панель управления Cloudflare
-
На панели управления Cloudflare перейдите к разделу Logpush на уровне аккаунта или домена (также называемого зоной).
Для аккаунта: Перейдите в Logpush ↗
Для домена (также называемого зоной): Перейдите в Logpush ↗
-
В зависимости от выбора вам доступны наборы данных уровня аккаунта и наборы данных, привязанные к зоне, соответственно.
-
Выберите Создание задания Logpush.
-
В Выберите пункт назначения, выберите Amazon S3.
-
Введите или выберите следующую информацию о получателе:
- Бакет - Имя бакета S3
- Путь - расположение бакета внутри контейнера хранилища
- Распределяйте журналы по ежедневным подпапкам (рекомендуется)
- Регион бакета
- Если ваша политика требует Серверное шифрование AWS SSE-S3 AES256 ↗.
- Для Предоставьте Cloudflare доступ для загрузки файлов в ваш бакет, убедитесь, что у вашего bucket есть политика ↗ (если вы ещё не добавили его):
- Скопируйте политику JSON, затем перейдите к своему бакету в консоли Amazon S3 и вставьте политику в Разрешения > Политика бакета и выберите Save.
Когда вы закончите вводить данные получателя, выберите Продолжение.
-
Для подтверждения владения Cloudflare отправит файл в указанное вами место назначения. Чтобы найти токен, выберите Открыто кнопку в Обзор вкладке файла подтверждения владения, затем вставьте его в панель управления Cloudflare, чтобы подтвердить доступ к бакету. Введите Токен владения и выберите Продолжение.
-
Выберите набор данных для отправки в хранилище.
-
На следующем шаге настройте задание Logpush:
- Введите Название задания.
- В разделе Если журналы соответствуют, вы можете выбрать, какие события включить в журналы или исключить из них. См. Фильтры с дополнительной информацией. Эта опция доступна не для всех наборов данных.
- В Отправьте следующие поля, вы можете либо отправлять в хранилище назначения все журналы, либо выбирать, какие журналы отправлять.
-
В Advanced Options, вы можете:
- Выберите формат полей отметки времени в своих журналах (
RFC3339(по умолчанию),Unix, илиUnixNano). - Выберите частота сэмплирования для ваших журналов или отправлять случайно выбранный процент журналов.
- Включите скрытие данных для
CVE-2021-44228. Эта опция заменит каждое вхождение${сx{.
- Выберите формат полей отметки времени в своих журналах (
-
Выберите Отправить после того как настройка задания 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:
-
Создайте бакет S3. См. инструкции от Amazon ↗.
-
Отредактируйте политику ниже и вставьте её в S3 > Бакет > Разрешения > Политика бакета, заменив
Resourceзначение на путь к своему бакету.AWSPrincipalпринадлежит 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"]
}
}
]
}