Ключи Вайбкода: какие бывают и как не потерять данные
Ключ Вайбкода открывает программе доступ к данным вашего портала. Он ведёт себя как пароль, только без второго фактора, поэтому к нему применимы те же правила, что к любому секрету в разработке.
Три типа ключей
Личный ключ работает от имени одного сотрудника. Им пользуются скрипты, дашборды и боты, которым не нужно открываться внутри интерфейса портала. Ключ приложения с авторизацией нужен решениям, которые встраиваются в Битрикс24: вкладка в карточке сделки, страница в левом меню, виджет. Менеджмент-ключ отвечает только за администрирование платформы и к сделкам или задачам не обращается вовсе.
Выбор ключа определяет, что получится из приложения. Если взять личный ключ и попросить агента встроить результат в карточку сделки, он либо обойдёт задачу неудобным способом, либо упрётся в ошибку прав на последнем шаге.
Режим только для чтения
У ключа есть режим доступа: чтение и запись либо только чтение. По умолчанию включено первое. Для отчётов, сводок и дашбордов второй режим безопаснее: приложение покажет данные, но не изменит их, даже если агент ошибётся в методе. Попытка записи вернёт явную ошибку, по которой сразу видно причину.
Мы советуем начинать с режима чтения на любом сценарии, где запись не является целью. Перевести ключ в полный доступ можно в его карточке за несколько секунд, а разбирать последствия массового обновления сделок придётся долго.
Права
При создании ключа отмечаются разделы, к которым он получает доступ. Отмечать всё подряд не стоит: приложение для задач не должно иметь доступ к CRM, а дашборд по сделкам к файлам на диске. Чем уже права, тем меньше масштаб проблемы, если ключ утечёт или агент напишет код с ошибкой.
Права ключа не отменяют прав сотрудника в портале, они накладываются поверх. Поэтому приложение, собранное администратором, у менеджера может показывать пустой экран, и это не ошибка, а ровно то поведение, которого вы хотите от системы доступа.
Как хранить и что делать при утечке
Ключ показывается один раз при создании. Передавайте его только в тот инструмент и проект, где собирается приложение. Не вставляйте в примеры кода, скриншоты, переписку и уж тем более в публичные репозитории: автоматические сканеры находят такие строки за минуты.
Если ключ всё-таки утёк, порядок простой: создать новый, переключить на него приложение, отключить старый. Удалять коммит бессмысленно: исходить нужно из того, что ключ уже прочитан. Заодно посмотрите в журнале кабинета, какие вызовы выполнялись этим ключом: там видно, успели ли им воспользоваться.
Как собрать первое приложение, описали в инструкции Как собрать первое приложение для Битрикс24 в Вайбкоде.
Частые вопросы
Можно ли передать ключ подрядчику?
Технически да, но лучше выдать подрядчику собственный ключ с ограниченными правами. Когда над приложением работают несколько человек, каждый использует свой ключ, и передавать чужой не требуется.
Что делать, если ключ попал в репозиторий?
Создайте новый ключ и отключите старый. Чистка истории коммитов не помогает: считать ключ могли до того, как вы его удалили.
Кто может создавать ключи?
Это определяют настройки Вайбкода и настройки безопасности Битрикс24. Если вы не администратор и создание закрыто, из кабинета платформы отправляется заявка на доступ.