← Cloudflare One / cloudflare-one / insights / network-visibility / diagnostics
Buckets
Прежде чем вы сможете начать полный пакет захват необходимо настроить бакет облачного хранилища, в который Cloudflare сможет записывать захваченные данные трафика. Настройка бакета не требуется для выборочных захватов пакетов: они завершаются мгновенно и могут быть загружены напрямую через API.
Вы можете настроить бакет Amazon S3 или Google Cloud Platform для использования в качестве цели. Вы также можете использовать R2 как цель через API.
Настройте бакет
Узнайте, как настроить бакет для использования с полными захватами пакетов.
- В Cloudflare One ↗ панель управления, перейдите в Network visibility > Диагностика.
- Выберите Buckets вкладка > Добавьте бакет.
- Выберите сервис для бакета и выберите Далее.
- Введите информацию о бакете для вашего поставщика услуг.
- Когда закончите, выберите Далее.
Подтвердить владение шаг Настройка бакета отображает.
Прежде чем вы сможете начать использовать bucket, необходимо сначала включить назначения. Выполните шаги настройки назначения для вашего провайдера, а затем вернитесь сюда, чтобы подтвердить владение.
См. Amazon S3 или Google Cloud Storage документацию и выполните шаги для конкретных сервисов.
Далее проверьте бакет и подтвердите владение им.
Проверьте бакет
После первоначальной настройки бакета нужно подтвердить доступ к нему с помощью проверки владения. Это не позволяет Cloudflare записывать данные захвата в бакет, который вам не принадлежит. После подтверждения бакета вы можете начать использовать его для сбора полных захватов пакетов.
- Из раздела Подтвердить владение шаг Настройка бакета, найдите Токен подтверждения владения поле.
- Найдите файл проверки владения, который Cloudflare разместил в вашем бакете, скопируйте его содержимое и введите его в Токен подтверждения владения поле.
- Когда закончите, выберите Создание. Захваты пакетов странице отображается.
Buckets вкладка отображает список бакетов, связанных с вашим аккаунтом. См. Статус столбец, чтобы увидеть статус настройки вашего бакета.
bucket поле должно содержать URI бакета. Для Amazon S3 это bucket поле имеет форму s3://<bucket-name>/<directory>?region=<bucket-region>, а для Google Cloud Storage формат такой: gs://<bucket-name>/<directory>.
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps/ownership \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"destination_conf": "'${bucket}'"
}'Ответ содержит "filename" параметр, который содержит содержимое ownership-challenge текст. Найдите файл в своем бакете и скопируйте его содержимое.
{
"result": {
"id": "cc20c2d6c62e11ecbe646b173af3b6b9",
"status": "pending",
"submitted": "2022-04-22T18:54:13.397413Z",
"validated": "",
"destination_conf": "gs://bucket-test", // Ensure you use a bucket that you created and registered in the Cloudflare dashboard.
"filename": "ownership-challenge-1234.txt"
},
"success": true,
"errors": [],
"messages": []
}Проверьте бакет, вставив скопированный текст в ownership_text ниже:
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps/ownership/validate \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"destination_conf": "'${bucket}'",
"ownership_challenge": "'${ownership_text}'"
}'{
"result": {
"id": "cc20c2d6c62e11ecbe646b173af3b6b9",
"status": "success",
"submitted": "2022-04-22T18:54:13.397413Z",
"validated": "2022-04-27T14:54:46.440548Z",
"destination_conf": "gs://<bucket-name>", // Ensure you use a bucket that you created and registered in the Cloudflare dashboard
"filename": "ownership-challenge-1234.txt"
},
"success": true,
"errors": [],
"messages": []
}Если status показывает success, бакет настроен и готов к использованию.
Статус bucket отображает один из следующих вариантов:
- Успешно: Бакет полностью подтверждён и готов к использованию.
- Ожидает: Отклик на проверочный запрос отправлен, но верификация ещё не завершена. Верификация бакета может занять от пяти до десяти минут.
- Сбой: Не удалось проверить бакет. Если это произошло, убедитесь, что у Cloudflare есть доступ на запись к вашему бакету и что вы отправили правильное содержимое файла проверки владения.
Список настроенных бакетов
Просмотр списка всех buckets, настроенных в вашем аккаунте.
- В Cloudflare One ↗ панель управления, перейдите в Insights > Network visibility > Диагностика.
- Выберите Buckets на вкладке.
Отобразится список бакетов, связанных с вашим аккаунтом.
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps/ownership \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"{
"result": [
{
"id": "9a993aa6c58711ec89d3037647342e63",
"status": "success",
"submitted": "2022-04-26T16:58:24.550762Z",
"validated": "2022-04-26T17:01:18.426458Z",
"destination_conf": "s3://test-bucket?region=us-east-1",
"filename": "ownership-challenge-1234.txt"
}
],
"success": true,
"errors": [],
"messages": []
}Чтобы узнать, как собирать захваты пакетов, см. Сбор захватов пакетов.
R2
Также можно использовать Cloudflare R2 как место хранения для перехваченных пакетов. Настройка бакета R2 доступна только через API.
Создать бакет и API-токен
-
На панели управления Cloudflare перейдите к разделу R2 страницу.
Перейдите в Обзор ↗ -
Выберите Создание бакета.
-
Введите название бакета > Создание бакета.
-
Перейдите на страницу R2 Overview и выберите Управление API-токенами R2.
-
Выберите Создать API-токен.
-
В Разрешения, выберите Object Read & Write. Также обязательно выберите Применить только к отдельным бакетам, и выберите в раскрывающемся меню бакет, который вы создали для PCAP.
-
Выберите Создать API-токен.
-
Убедитесь, что вы скопировали Secret Access Key и Access Key ID значения: они понадобятся вам на следующем шаге.
Создать первоначальный запрос
Создайте первоначальный запрос к R2:
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/pcaps/ownership \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"destination_conf": "r2://<BUCKET_NAME>?account-id=<ACCOUNT_ID>&access-key-id=<R2_ACCESS_KEY_ID>&secret-access-key=<R2_SECRET_ACCESS_KEY>"
}' ответ имеет "filename" параметр с именем файла, который Cloudflare записал в ваш бакет R2. Его нужно скачать для следующего шага. Пример:
{
"errors": [],
"messages": [],
"result": {
"destination_conf": "<YOUR_R2_BUCKET>",
"filename": "ownership-challenge-9883874ecac311ec8475433579a6bf5f.txt",
"id": "9883874ecac311ec8475433579a6bf5f",
"status": "success",
"submitted": "2020-01-01T08:00:00Z",
"validated": "2020-01-01T08:00:00Z"
},
"success": true
}Проверить владение бакетом
См. Проверьте бакет инструкции по API, где подробно описан весь процесс проверить ваш бакет R2. При указании назначения R2 для этой проверки исключите секретный ключ и ключ доступа из URL-адреса.