Ключ доступа к API — это строка символов, предъявив которую, любая программа получает право делать в вашей системе то, что вы этому ключу разрешили. Разрешают ему обычно всё, потому что так быстрее запускается интеграция. Хранится он чаще всего в переписке с подрядчиком и в поле настроек сценария открытым текстом, а срока жизни у него нет. Такая связка живёт в компании годами и обнаруживается ровно в двух ситуациях: при аудите и после инцидента.

Разница между «есть порядок» и «нет порядка» здесь измеряется в деньгах и в часах. Утечка одного ключа, выпущенного отдельно под одну интеграцию и с урезанными правами, обходится в 8 100 ₽ и двадцать минут простоя. Утечка общего ключа с полными правами — в 37 200 ₽ и остановку всех шести интеграций, потому что менять его придётся везде одновременно, а понять, что успели прочитать, будет нечем.

Разберём по порядку: чем ключ отличается от пароля, куда расползаются его копии, как выглядит на практике «отдельный ключ с минимальными правами», сколько занимает плановая смена, что делать в первый час после утечки и что из этого должно быть записано в договоре с подрядчиком.

Ключ — не пароль, и это не придирка к словам

Что это значитКлюч доступа (токен)

Строка символов, которую программа предъявляет вместо логина и пароля. Система по ней узнаёт, кто обращается, и проверяет, что этому обращению разрешено. Ключ выдаётся не человеку, а конкретной интеграции, и в отличие от пароля предъявляется автоматически десятки тысяч раз в месяц без участия людей.

Отличий от пароля три, и все три работают против вас. Первое: пароль вводит человек, ключ предъявляет программа, поэтому по нему не видно, кто именно сейчас за клавиатурой, — обращение с чужого компьютера выглядит точно так же, как обращение вашего сценария. Второе: у ключа нет второго фактора. Подтверждения по СМС, приложения-аутентификатора и вопроса «это точно вы» здесь не существует: предъявил строку — получил доступ. Третье: у ключа по умолчанию нет срока жизни. Пароль сотрудника рано или поздно меняется по регламенту, а ключ, выданный в 2023 году, работает и сегодня, если его никто не отозвал.

Из этих трёх свойств следует практическое правило, которое стоит проговорить прямо: ключ нельзя пересылать в мессенджере, по почте и диктовать по телефону. Не потому что канал ненадёжен сам по себе, а потому что после отправки вы теряете контроль над числом копий и не узнаете, сколько их существует. Отправленный ключ надо считать скомпрометированным: правильный порядок — выпустить новый, передать его через хранилище секретов и отозвать тот, который прошёл по переписке.

Куда расползаются копии ключа

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

  • Поле настройки сценария или интеграции. Единственная копия, о которой все знают. Если она вписана открытым текстом, а не подставляется ссылкой на хранилище, она автоматически попадает в две следующие строки списка.
  • Журнал прогонов площадки. Тело запроса сохраняется целиком, а ключ едет в теле или в заголовке запроса. Значит, он лежит в журнале ровно столько, сколько площадка хранит журналы, — на массовых тарифах это 7–30 дней, и вы этим сроком не управляете.
  • Экспорт сценария. Файл выгрузки содержит настройки узлов вместе с вписанными в них значениями. Сотрудник, выгрузивший копию «на всякий случай» перед увольнением, уносит с собой действующий доступ к вашим системам.
  • Переписка с подрядчиком. Первая передача ключа почти всегда идёт через мессенджер или почту. Эта переписка не удаляется, синхронизируется на личные устройства и переживает и проект, и договор.
  • Резервные копии и рабочие ноутбуки. Копия настроек в бэкапе, черновик в заметках, скриншот в папке «на память». Эти копии не отзываются вместе с ключом — они просто перестают работать в момент, когда его сменили, и это единственная причина менять ключи по расписанию.
карта связейavtorizaciya-i-klyuchi-dostupa-v-integraciyah--01
Карта: путь ключа от выдачи в системе до пяти мест, где остаются его копии

Карта потоков. Слева узел «Система-источник: выдача ключа». От него сплошная стрелка «передача» вправо к центральному узлу «Интеграция». От «Интеграции» вверх сплошная стрелка «обращение с ключом в заголовке» обратно к системе-источнику, подписанная «десятки тысяч раз в месяц, автоматически». От узла «Интеграция» вниз расходятся пять пунктирных стрелок к узлам-копиям: «Поле настройки сценария», «Журнал прогонов, 7–30 дней», «Файл экспорта сценария», «Переписка с подрядчиком», «Резервные копии и ноутбуки». Рядом с каждой пунктирной стрелкой значок замка: закрытый только у первой, у остальных четырёх открытый. Внизу подпись: «Отзыв ключа обесценивает все пять копий разом — это и есть смысл ротации». Чертёжный стиль, подписи по-русски.

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

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

Отдельный ключ на каждую интеграцию с минимальными правами

Практика «один ключ на всё» экономит десять минут при запуске и стоит нескольких часов при любом инциденте. Правильная схема выглядит скучно: у каждой интеграции свой ключ, у каждого ключа — понятное имя и урезанный набор прав.

Один общий ключ с полными правамиОтдельный ключ на интеграцию с урезанными правами
Что видно в журнале системыВсе обращения от одного имени: кто что сделал, установить нельзяКаждое обращение подписано именем интеграции
Что даёт утечкаПолный доступ ко всем данным и ко всем действиямДоступ к тому, что нужно одной интеграции, — обычно чтение двух-трёх справочников
Что происходит при сменеОстанавливаются все интеграции сразу, менять надо везде одновременноОстанавливается одна интеграция на время перевода, обычно на 20 минут
Уход сотрудника или подрядчикаОтозвать нельзя, не остановив работу компанииОтзывается ключ конкретного подрядчика, остальное работает
Сколько занимает настройка10 минут один раз20–30 минут на интеграцию, разово

«Минимальные права» на практике означают четыре ограничения, и все четыре задаются на стороне системы-источника, а не в сценарии. Первое — только нужные объекты: если интеграция читает заказы и контрагентов, доступ к кадровым документам и банковским выпискам ей не нужен. Второе — только нужные действия: подавляющее большинство интеграций читают и не пишут, а право записи выдаётся по умолчанию. Третье — ограничение по адресам, откуда принимаются обращения, если система это умеет. Четвёртое — запрет интерактивного входа для учётной записи обмена: под ней нельзя зайти в интерфейс руками.

Имя ключа — отдельная мелочь, которая экономит часы при разборе. Не «Интеграция» и не «API», а «Обмен_сайт_заказы_чтение» или «Подрядчик_Иванов_до_2026-12-31». По такому имени через год понятно, что отзывать и что при этом сломается. Общие правила хранения секретов трёх разных классов и выбор хранилища мы разбирали отдельно — где хранить пароли и ключи компании; здесь речь только о ключах интеграций.

Плановая смена: регламент на 20 минут в квартал

Смена ключей по расписанию нужна не потому, что вы кому-то не доверяете, а потому что копии, перечисленные выше, невозможно собрать и уничтожить. Единственный способ их обесценить — заменить сам ключ. Регламент занимает 20 минут раз в квартал и состоит из четырёх шагов.

  1. 1
    Шаг 1. Открыть список ключей в каждой системе-источнике

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

  2. 2
    Шаг 2. Отозвать всё, что не опознано

    Ключ, назначение которого никто не может назвать, отзывается. Если что-то сломается, вы узнаете об этом в тот же день и восстановите за десять минут; если не сломается — вы только что закрыли доступ, о котором не знали. Это самый выгодный шаг всего регламента.

  3. 3
    Шаг 3. Сменить ключи, которым больше года, — с перекрытием

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

  4. 4
    Шаг 4. Записать дату следующей проверки

    В календарь, а не в память. Плюс отдельное правило-исключение: ключ подрядчика отзывается не по расписанию, а в день окончания работ, и это условие пишется в договор заранее одной строкой.

схема процессаavtorizaciya-i-klyuchi-dostupa-v-integraciyah--02
Схема смены ключа с перекрытием: новый выпускается до отзыва старого, обмен не прерывается

Схема из двух горизонтальных дорожек на общей шкале времени в 20 минут. Верхняя дорожка «Правильно»: четыре последовательных блока — «Выпустить новый ключ», «Перевести интеграцию на новый», «Проверить по журналу, что обращения идут с новым», «Отозвать старый». Под дорожкой сплошная полоса «обмен работает» без разрывов, с коротким сужением на втором блоке и подписью «пауза 20 минут». Нижняя дорожка «Неправильно»: два блока — «Отозвать старый», «Выпустить новый и перевести». Под ней полоса «обмен работает» с широким разрывом, помеченным «заявки не доезжают, обнаруживается по жалобам». Справа общая подпись: «регламент — 20 минут в квартал, подготовка — 27 000 ₽ разово». Чертёжный стиль, подписи по-русски.

Отзыв идёт последним действием — обратный порядок обрывает обмен и находится по потерянным заявкам

Стоимость всей подготовки — 27 000 ₽ разово: девять часов работы на разделение общего ключа на отдельные, урезание прав и включение журнала обращений. Поддержание — 20 минут в квартал, около 1 500 ₽ в год по полной стоимости часа сотрудника. Ниже видно, с чем это сравнивается.

Утечка: первый час и как понять, что ключом пользовались

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

  1. 1Выпустить новый ключ и перевести на него интеграцию. Именно в этом порядке, а не «сначала отозвать». Отзыв до перевода останавливает процесс, а вам сейчас нужна не тишина, а контроль.
  2. 2Отозвать скомпрометированный ключ. С этого момента все существующие копии — в переписке, в экспорте, в журнале, на ноутбуке — превращаются в бесполезные строки. Это и есть главное действие, остальные нужны для оценки ущерба.
  3. 3Поднять журнал обращений по этому ключу за максимально доступный период. Здесь выясняется, пользовался им кто-то посторонний или нет. Без журнала этот шаг невыполним, и дальше приходится исходить из худшего.
  4. 4Оценить, что именно можно было прочитать этим ключом. Если права были урезаны — список короткий и конкретный. Если ключ был общий с полными правами — список равен всему содержимому системы, и это ровно та разница, ради которой права урезают.
  5. 5Проверить, не проходили ли через ключ персональные данные. Если да, включается отдельный контур: фиксация факта, оценка объёма и уведомление в Роскомнадзор в течение 24 часов, с последующим уведомлением о результатах разбирательства.
  6. 6Записать, откуда взялась утечка, и закрыть этот путь. Иначе через квартал вы повторите весь список заново — только уже с другим ключом.

Понять, что ключом уже пользовались посторонние, можно по четырём признакам в журнале обращений — и все четыре видны только при включённом журнале, поэтому его и включают заранее.

  • Обращения с адресов, которых нет в вашем списке. Самый прямой признак. Ваша интеграция ходит с одного-двух известных адресов, и всё остальное подлежит объяснению.
  • Обращения в нерабочее время. Если сценарий работает по расписанию с 8 до 20, обращение в 03:40 не бывает случайным. Исключение — ночные регламентные выгрузки, о которых вы знаете.
  • Вызовы методов, которых ваша интеграция не делает. Интеграция читает заказы за сутки; в журнале видна выгрузка всего справочника контрагентов целиком. Это не сбой, это чужой интерес.
  • Всплеск числа обращений. Обычный день — 900 обращений, в среду было 40 000. Массовая выгрузка выглядит именно так, и она же обычно упирается в лимит, что становится первым заметным симптомом.
Утечка одного ключа: два сценария на компании с шестью интеграциями
Порядок есть — выпуск нового ключа и перевод интеграции: 1 час3 000 ₽
Порядок есть — разбор журнала обращений за период: 1,5 часа4 500 ₽
Порядок есть — простой одной интеграции 20 минутоколо 600 ₽
Порядка нет — поиск всех мест, где прописан общий ключ: 4 часа12 000 ₽
Порядка нет — перевод шести интеграций с перекрытием: 6 часов18 000 ₽
Порядка нет — простой шести интеграций, суммарно 4 часа × 1 800 ₽7 200 ₽
Итого8 100 ₽ против 37 200 ₽ — и во втором случае объём утечки установить нечем: журнала нет

Подготовка стоит 27 000 ₽ и окупается одной предотвращённой утечкой почти полностью, а второй — с запасом. Но считать её надо не по этой арифметике: основная цена утечки не в часах разбора, а в том, что именно утекло. Минимальный штраф за утечку персональных данных от тысячи субъектов по КоАП в редакции с 30 мая 2025 года составляет 3 000 000 ₽, и на этом фоне разница между 8 100 и 37 200 ₽ перестаёт быть главной цифрой в разговоре.

этапыavtorizaciya-i-klyuchi-dostupa-v-integraciyah--03
Первый час после утечки ключа: шесть шагов по минутам с точкой отзыва ключа

Горизонтальная лента времени на 60 минут с шестью засечками. 0–20 минут: «Выпустить новый ключ и перевести интеграцию». 20-я минута: жирная вертикальная отметка «Отзыв скомпрометированного ключа» с подписью «все копии обесценены». 20–50 минут: «Разбор журнала обращений за доступный период». 50–55: «Оценка, что можно было прочитать этим ключом» с двумя вариантами в скобках: «права урезаны — короткий список» и «права полные — вся система». 55–58: «Проверка: проходили ли персональные данные». 58–60: «Запись причины утечки и закрытие пути». Под лентой отдельная полоса-примечание: «если персональные данные проходили — уведомление в Роскомнадзор в течение 24 часов». Чертёжный стиль, подписи по-русски.

Ключ отзывают вторым шагом, а не первым — сначала интеграция переезжает на новый

Подрядчик, 152-ФЗ и шесть вопросов

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

  • Перечень данных и действий. Не «данные клиентов», а конкретно: телефон, имя, адрес доставки; действия — чтение и передача, без хранения. Чем уже перечень, тем меньше поверхность ответственности у обеих сторон.
  • Где физически находятся серверы. Локализация баз персональных данных в России — базовое требование, а не пожелание. У облачной площадки это проверяется по документам, а не по фразе на сайте.
  • Срок хранения журналов у подрядчика и у площадки — числом. Именно журналы прогонов чаще всего оказываются теневой копией вашей клиентской базы: тело запроса сохраняется целиком, и через полгода их накапливается больше, чем в самой CRM.
  • Обязанность уведомить вас об инциденте — с указанием времени. У вас есть 24 часа на первое уведомление в Роскомнадзор, и это время начинает идти не с того момента, когда вам сообщили. Если подрядчик обязан уведомить «в разумный срок», вы этот срок не выдержите.
  • Порядок возврата и уничтожения доступов при завершении работ. Отзыв ключей в день окончания, письменное подтверждение удаления копий, отсутствие остаточных доступов в системах.

И шесть коротких вопросов, которые владелец задаёт подрядчику на первой встрече. Ответы на них дают о будущем проекте больше, чем портфолио: где вы будете хранить наш ключ; будет ли у каждой интеграции свой ключ и с какими правами; попадает ли ключ в журналы и в экспорт настроек; кто у вас имеет доступ к нашим ключам и как это ограничено; что вы делаете при увольнении своего сотрудника, у которого был доступ; как оформляется отзыв доступов в день окончания работ. Формулировки для договора по этим и другим спорным местам мы собрали в материале про требования к интеграции.

Когда этим можно не заниматься

Разделение ключей, урезание прав и квартальный регламент стоят 27 000 ₽ и внимания. Три случая, в которых это избыточно, и один, в котором нельзя откладывать ни на день.

  • Одна интеграция и один подрядчик. Разделять нечего: ключ и так один, права урезаются за десять минут, а регламент сводится к календарному напоминанию. Полноценный порядок здесь начинается с третьей интеграции.
  • Через интеграцию не идут персональные данные и деньги. Сценарий, который складывает публичные курсы валют в таблицу, не заслуживает квартального регламента. Стоимость порядка должна быть меньше стоимости того, что он защищает.
  • Система-источник не умеет выдавать отдельные ключи с разными правами. Такое встречается у старых систем и у части отраслевого ПО. Тогда работает обходной путь: доступ к системе получает только ваш промежуточный слой, а внешние интеграции ходят к нему, а не к ней. Это дороже, но восстанавливает управляемость.
  • Откладывать нельзя, если хотя бы один действующий ключ выпущен на человека, а не на интеграцию. Такой ключ перестанет работать в день, когда человек уйдёт и его учётную запись заблокируют по кадровому регламенту, — и до этого дня он остаётся его личным доступом к вашим данным. Это чинится в первую очередь и занимает пару часов.

Пароль защищает вход. Ключ — это уже открытая дверь, и весь вопрос в том, насколько она узкая.