[{"data":1,"prerenderedAt":150},["ShallowReactive",2],{"$f59szkiazpkf8":3,"articles":47},{"slug":4,"title":5,"description":6,"date":7,"updated":7,"tags":8,"emoji":12,"minutes":13,"html":14,"headings":15},"cloudflare-api-klyuch","Cloudflare: API токен и Global API Key","Чем API токен отличается от Global API Key в Cloudflare, какие права нужны для DNS, как выглядят запросы и что делать при утечке ключа.","2026-10-01",[9,10,11],"cloudflare","api","безопасность","key",4,"\u003Ch2 id=\"korotko\">Коротко\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Для автоматизации берите API токен с минимальными правами. Global API Key открывает доступ ко всему аккаунту.\u003C\u002Fli>\n\u003Cli>Токен для управления DNS: права Zone, DNS, Edit и ограничение одной зоной.\u003C\u002Fli>\n\u003Cli>Токен передают в заголовке \u003Ccode>Authorization: Bearer\u003C\u002Fcode>, а Global API Key в паре \u003Ccode>X-Auth-Email\u003C\u002Fcode> и \u003Ccode>X-Auth-Key\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Если ключ утёк, сразу обновите или удалите токен, смените Global key и проверьте Audit Logs.\u003C\u002Fli>\n\u003Cli>Ключи не отправляют в чаты и не показывают на скриншотах.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"chem-oni-otlichayutsya\">Чем они отличаются\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>API токен.\u003C\u002Fstrong> Его можно ограничить по правам (например, только DNS), по зонам, по IP-адресам и по сроку действия. Токенов можно создать несколько под разные задачи и отозвать любой, не затронув остальные.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Global API Key.\u003C\u002Fstrong> Это устаревший способ: ключ один на пользователя, и, по документации Cloudflare, он имеет те же права, что и сам пользователь. Ограничить его нельзя. Cloudflare не рекомендует его новым клиентам и советует переходить на токены.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"gde-chto-sozdaetsya\">Где что создаётся\u003C\u002Fh2>\n\u003Cp>Токен:\u003C\u002Fp>\n\u003Col>\n\u003Cli>В панели откройте My Profile, API Tokens и нажмите Create Token.\u003C\u002Fli>\n\u003Cli>Выберите шаблон Edit zone DNS или задайте права вручную.\u003C\u002Fli>\n\u003Cli>В Permissions укажите Zone, DNS, Edit.\u003C\u002Fli>\n\u003Cli>В Zone Resources выберите Include, Specific zone и нужный домен.\u003C\u002Fli>\n\u003Cli>При желании задайте ограничение по IP и срок действия.\u003C\u002Fli>\n\u003Cli>Создайте токен и сразу сохраните его: значение показывается один раз.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Токены уровня аккаунта (Manage Account, Account API Tokens) не привязаны к конкретному человеку и лучше подходят для сервисов, если инструмент их поддерживает. Проверяются они другим запросом, он показан ниже.\u003C\u002Fp>\n\u003Cp>Global API Key находится в My Profile, API Tokens, в блоке API Keys, кнопка View. Открывайте его, только если инструмент не умеет работать с токенами.\u003C\u002Fp>\n\u003Ch2 id=\"kakie-prava-nuzhny-dlya-dns\">Какие права нужны для DNS\u003C\u002Fh2>\n\u003Cp>Обычно достаточно Zone, DNS, Edit для одной зоны. Некоторые инструменты дополнительно просят Zone, Zone, Read, чтобы найти зону по имени. Об этом написано в их инструкции. Не добавляйте права на всякий случай и не выбирайте All zones без причины.\u003C\u002Fp>\n\u003Ch2 id=\"kak-vyglyadyat-zaprosy\">Как выглядят запросы\u003C\u002Fh2>\n\u003Cp>Вместо реальных значений здесь стоят заглушки в угловых скобках.\u003C\u002Fp>\n\u003Cpre class=\"code\">\u003Ccode class=\"hljs language-bash\">\u003Cspan class=\"hljs-comment\"># API токен\u003C\u002Fspan>\ncurl \u003Cspan class=\"hljs-string\">&quot;https:\u002F\u002Fapi.cloudflare.com\u002Fclient\u002Fv4\u002Fzones\u002F&lt;ZONE_ID&gt;\u002Fdns_records&quot;\u003C\u002Fspan> \\\n  --header \u003Cspan class=\"hljs-string\">&quot;Authorization: Bearer &lt;API_TOKEN&gt;&quot;\u003C\u002Fspan>\n\n\u003Cspan class=\"hljs-comment\"># Global API Key\u003C\u002Fspan>\ncurl \u003Cspan class=\"hljs-string\">&quot;https:\u002F\u002Fapi.cloudflare.com\u002Fclient\u002Fv4\u002Fzones\u002F&lt;ZONE_ID&gt;\u002Fdns_records&quot;\u003C\u002Fspan> \\\n  --header \u003Cspan class=\"hljs-string\">&quot;X-Auth-Email: &lt;EMAIL&gt;&quot;\u003C\u002Fspan> \\\n  --header \u003Cspan class=\"hljs-string\">&quot;X-Auth-Key: &lt;GLOBAL_API_KEY&gt;&quot;\u003C\u002Fspan>\n\n\u003Cspan class=\"hljs-comment\"># проверка обычного токена\u003C\u002Fspan>\ncurl \u003Cspan class=\"hljs-string\">&quot;https:\u002F\u002Fapi.cloudflare.com\u002Fclient\u002Fv4\u002Fuser\u002Ftokens\u002Fverify&quot;\u003C\u002Fspan> \\\n  --header \u003Cspan class=\"hljs-string\">&quot;Authorization: Bearer &lt;API_TOKEN&gt;&quot;\u003C\u002Fspan>\n\n\u003Cspan class=\"hljs-comment\"># проверка токена уровня аккаунта\u003C\u002Fspan>\ncurl \u003Cspan class=\"hljs-string\">&quot;https:\u002F\u002Fapi.cloudflare.com\u002Fclient\u002Fv4\u002Faccounts\u002F&lt;ACCOUNT_ID&gt;\u002Ftokens\u002Fverify&quot;\u003C\u002Fspan> \\\n  --header \u003Cspan class=\"hljs-string\">&quot;Authorization: Bearer &lt;API_TOKEN&gt;&quot;\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"zone-id-i-account-id\">Zone ID и Account ID\u003C\u002Fh2>\n\u003Cp>Домен должен быть уже подключён к Cloudflare. Как это сделать, описано в статье \u003Ca href=\"\u002Farticles\u002Fcloudflare-dlya-domena\">как подключить домен к Cloudflare\u003C\u002Fa>. Zone ID найдёте так: откройте домен, страница Overview, блок API ближе к низу страницы. Там же указан Account ID. Это идентификаторы, а не пароли: доступа они сами по себе не дают, но публиковать их без нужды не стоит.\u003C\u002Fp>\n\u003Ch2 id=\"pochemu-instrument-s-global-key-riskovan\">Почему инструмент с Global key рискован\u003C\u002Fh2>\n\u003Cp>Сервис, которому вы отдали Global API Key, получает те же права, что и вы: может менять DNS всех доменов, удалять зоны и менять настройки аккаунта. Если сервис взломают или ключ утечёт, пострадает весь аккаунт, а не один домен.\u003C\u002Fp>\n\u003Cp>Как решить:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Инструмент поддерживает токены: создайте токен с минимальными правами.\u003C\u002Fli>\n\u003Cli>Работает только с Global key, как некоторые старые скрипты и панели: поищите обновление или замену. Если без него не обойтись, заведите отдельного пользователя Cloudflare с ограниченной ролью. По документации, ключ повторяет права пользователя, значит, у такого пользователя он тоже будет ограничен.\u003C\u002Fli>\n\u003Cli>Не передавайте ключи людям и сервисам, которым не доверяете полностью.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"esli-klyuch-utek\">Если ключ утёк\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Токен: My Profile, API Tokens, три точки рядом с токеном, Roll и подтверждение. Старое значение перестанет работать. Можно и просто удалить токен.\u003C\u002Fli>\n\u003Cli>Global API Key: в блоке API Keys нажмите Change.\u003C\u002Fli>\n\u003Cli>Откройте Manage Account, Audit Logs и посмотрите, что менялось за нужный период, кем и откуда. Лишние изменения отмените.\u003C\u002Fli>\n\u003Cli>Смените пароль, завершите чужие сессии и проверьте, что включена двухфакторная защита.\u003C\u002Fli>\n\u003Cli>Впишите новое значение в свои инструменты. Найдите, где ключ утёк (git, чат, скриншот, лог), и удалите его там. Само по себе удаление сообщения ключ не защищает, поэтому первые два шага обязательны.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"gde-hranit-i-chego-ne-delat\">Где хранить и чего не делать\u003C\u002Fh2>\n\u003Cp>Храните ключи в переменных окружения или менеджере секретов, а файлы с ними закрывайте правами \u003Ccode>chmod 600\u003C\u002Fcode>. Не отправляйте ключи в чаты, не коммитьте их в git и не показывайте на скриншотах и записях экрана. Если нужно показать ошибку, закройте значения.\u003C\u002Fp>\n\u003Ch2 id=\"esli-ne-poluchilos\">Если не получилось\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Ошибка авторизации: токен скопирован с пробелом или не полностью, либо его уже обновили. Проверьте его запросом verify из примера выше (для токена уровня аккаунта нужен адрес с Account ID).\u003C\u002Fli>\n\u003Cli>Ошибка доступа к зоне: в Zone Resources выбрана другая зона или не хватает права DNS, Edit.\u003C\u002Fli>\n\u003Cli>Запрос с Global key отклонён: проверьте email аккаунта в \u003Ccode>X-Auth-Email\u003C\u002Fcode> и то, что ключ не меняли.\u003C\u002Fli>\n\u003Cli>Токен с ограничением по IP не работает: запрос идёт с другого адреса, проверьте список разрешённых IP.\u003C\u002Fli>\n\u003C\u002Fol>\n",[16,20,23,26,29,32,35,38,41,44],{"id":17,"text":18,"level":19},"korotko","Коротко",2,{"id":21,"text":22,"level":19},"chem-oni-otlichayutsya","Чем они отличаются",{"id":24,"text":25,"level":19},"gde-chto-sozdaetsya","Где что создаётся",{"id":27,"text":28,"level":19},"kakie-prava-nuzhny-dlya-dns","Какие права нужны для DNS",{"id":30,"text":31,"level":19},"kak-vyglyadyat-zaprosy","Как выглядят запросы",{"id":33,"text":34,"level":19},"zone-id-i-account-id","Zone ID и Account ID",{"id":36,"text":37,"level":19},"pochemu-instrument-s-global-key-riskovan","Почему инструмент с Global key рискован",{"id":39,"text":40,"level":19},"esli-klyuch-utek","Если ключ утёк",{"id":42,"text":43,"level":19},"gde-hranit-i-chego-ne-delat","Где хранить и чего не делать",{"id":45,"text":46,"level":19},"esli-ne-poluchilos","Если не получилось",[48,57,66,75,84,94,101,106,115,126,134,136,142],{"slug":49,"title":50,"description":51,"date":7,"updated":7,"tags":52,"emoji":56,"minutes":13},"kak-vybrat-hosting","Как выбрать хостинг для сайта или бота","Чем отличаются виртуальный хостинг, VPS, облако и статический хостинг, сколько памяти нужно сайту и боту и что спросить у продавца.",[53,54,55],"хостинг","vps","сервер","server",{"slug":58,"title":59,"description":60,"date":7,"updated":7,"tags":61,"emoji":65,"minutes":13},"kak-zapustit-telegram-bota-na-servere","Как запустить Telegram бота на сервере","Polling или webhook, где взять токен и как его защитить, как запускать бота через systemd, pm2 или Docker и что делать при сбоях.",[62,63,55,64],"telegram","бот","webhook","bot",{"slug":67,"title":68,"description":69,"date":7,"updated":7,"tags":70,"emoji":74,"minutes":13},"kak-kupit-domen","Как и где купить домен","Какую зону выбрать, что проверить перед оплатой, чем регистратор отличается от перепродавца и как не потерять домен.",[71,72,73],"домен","регистратор","dns","domain",{"slug":76,"title":77,"description":78,"date":7,"updated":7,"tags":79,"emoji":83,"minutes":13},"kak-oplatit-zakaz-kriptovalutoy","Как оплатить заказ криптовалютой","Как оплатить счёт из бота на странице Heleket, выбрать валюту и сеть, отправить точную сумму, проверить ссылку и действовать при ошибке.",[80,81,82,11],"оплата","криптовалюта","heleket","pay",{"slug":85,"title":86,"description":87,"date":7,"updated":7,"tags":88,"emoji":92,"minutes":93},"kak-podgotovit-brif-dlya-sayta","Как подготовить бриф для сайта или бота","Что описать заранее, чтобы разработчик дал реалистичную оценку, от цели и аудитории до интеграций, срока и бюджета. Есть шаблон.",[89,90,63,91],"бриф","сайт","разработка","doc",3,{"slug":95,"title":96,"description":97,"date":7,"updated":7,"tags":98,"emoji":100,"minutes":13},"cloudflare-dlya-domena","Как подключить домен к Cloudflare","Как добавить домен в Cloudflare, сменить NS, выбрать режим SSL\u002FTLS и понять разницу между оранжевым и серым облаком.",[9,73,71,99],"ssl","cloud",{"slug":102,"title":103,"description":104,"date":7,"updated":7,"tags":105,"emoji":74,"minutes":13},"kak-privyazat-domen-k-hostu","Как привязать домен к хостингу","Что такое A-запись и NS, как подключить домен к хостингу или VPS и как проверить, что всё заработало.",[71,73,53],{"slug":107,"title":108,"description":109,"date":7,"updated":7,"tags":110,"emoji":114,"minutes":13},"kak-razvernut-sait-na-vps","Как развернуть сайт на VPS","Пошаговый путь для Ubuntu LTS от пользователя и SSH-ключа до Caddy с HTTPS, запуска через pm2, логов, обновлений и бэкапов.",[54,111,112,113],"ubuntu","node","caddy","rocket",{"slug":116,"title":117,"description":118,"date":7,"updated":7,"tags":119,"emoji":125,"minutes":13},"pochta-na-svoem-domene","Почта на своём домене: MX, SPF, DKIM, DMARC","Как подключить почту на своём домене, настроить MX, SPF, DKIM и DMARC, проверить доставку и понять, почему письма попадают в спам.",[120,121,122,123,124],"почта","mx","spf","dkim","dmarc","mail",{"slug":127,"title":128,"description":129,"date":7,"updated":7,"tags":130,"emoji":133,"minutes":13},"spamblok-telegram-chto-delat","Спамблок в Telegram: что это и что делать","Что такое ограничения аккаунта Telegram, как проверить статус через @SpamBot, как подать апелляцию и чего делать нельзя.",[62,131,132,11],"спамблок","аккаунт","help",{"slug":4,"title":5,"description":6,"date":7,"updated":7,"tags":135,"emoji":12,"minutes":13},[9,10,11],{"slug":137,"title":138,"description":139,"date":7,"updated":7,"tags":140,"emoji":73,"minutes":13},"dns-zapisi-prostymi-slovami","DNS записи простыми словами","Что означают записи A, AAAA, CNAME, MX, TXT, NS, SRV и CAA, что такое TTL и почему CNAME нельзя поставить на корень домена.",[73,71,141],"записи",{"slug":143,"title":144,"description":145,"date":7,"updated":7,"tags":146,"emoji":149,"minutes":93},"ssl-sertifikat-https","SSL сертификат и HTTPS: как включить","Что даёт сертификат, как включить HTTPS через панель хостинга, Let's Encrypt с certbot, Caddy или Cloudflare и как проверить результат.",[99,147,148,11],"https","сертификат","shield",1791314129059]