Обсудить задачу

DikLabСтатьибезопасность

Статья · безопасность · боты

Доступы для бота: шесть проверок за десять минут и три правила выдачи

7 минбезопасностьботы

Боту открыли одну таблицу, а право он получил на все таблицы аккаунта. Шесть проверок того, что уже роздано, и три правила, по которым выдавать доступ боту: отдельный аккаунт, права только на нужное, отзыв в один клик.

Поставить это мне

Содержание

В чём фокус

Доступ выдают за две минуты и не вспоминают о нём годами. Боту открыли одну таблицу, а право он получил на все таблицы аккаунта. Речь не о паролях: пароль может быть железный, а сервис всё равно оформлен на почту бывшего подрядчика. Речь о списке тех, кому вы уже открыли дверь, в любом сервисе, где нажимали «разрешить»: почта, таблицы, CRM, магазин, реклама. Ниже шесть проверок того, что уже роздано, и три правила для того, что вы будете выдавать боту дальше.

Откуда берётся лишний доступ

Исполнитель просит широкий доступ, потому что так всё собирается, по моей оценке, за две минуты. Узкий надо настраивать руками, а это около лишнего часа, и тратить его никто не хочет.

С таблицами Google это видно по документации. Право, которое называется spreadsheets, Google описывает так: смотреть, менять, создавать и удалять все ваши таблицы (в оригинале «all your Google Sheets spreadsheets»). Узкое право тоже есть: только файлы, с которыми вы работаете через это приложение. Google сам рекомендует узкое (страница прав для таблиц, обновлена 03.09.2026). Но если бот запросил широкое, кнопки «только вот эту» в окне, где вы нажимаете «разрешить», нет.

С почтой так же. Подключили помощника разбирать входящие и выдали ему право читать всю переписку. Права на одну папку или один ярлык в списке прав почты Google нет (документация обновлена 10.09.2026). Папку, которую вы имели в виду, там выбрать негде.

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

Плюс права, которые стоят по умолчанию: вы их не выдавали, и сказать про них никто не обязан. У меня так было в базе моего продукта, нашёл 1 июня 2026 года. Каждой новой функции база по умолчанию открывает вызов всем, включая посетителя без входа, пока право не отобрать. В документации Supabase так и написано: вызвать функцию по умолчанию может любая роль, в том числе анонимная. И когда функцию пересоздают, право выдаётся заново, отбирать его надо снова.

Второй случай, 20 сентября 2026 года, в другом моём боте. Правила доступа на таблицах стояли и выглядели надёжно. А функция, которая работает с правами владельца базы, принимала номер чужого пользователя и отдавала его данные мимо этих правил. Нашла это автоматическая проверка кода. Поэтому смотреть надо на то, что выдано на самом деле, а не на то, что выглядит закрытым.

Что понадобится

  • Список сервисов, где вы нажимали «разрешить»: почта, таблицы, CRM, магазин, реклама
  • Вход в настройки каждого сервиса под своей учётной записью
  • Десять минут
  • Исполнитель не нужен. В этом и смысл: проверка проходится без него

Шесть проверок

  1. На чьём аккаунте всё живёт

    Откройте владельца сервиса. Если там почта исполнителя, а не компании, это не ваш сервис: вы в нём гость.

  2. Какие права выданы на самом деле

    Не какие обещали на словах, а что написано в списке. Обычно там «читать всё», хотя речь шла про одну папку.

  3. Что включилось по умолчанию

    Часть прав стоит сразу, вы их не выдавали. Сообщать про них никто не обязан, поэтому смотрите глазами.

  4. Отзывается ли доступ в один клик

    Найдите кнопку отзыва заранее. Если её нет и нужна переписка с исполнителем, доступ у вас не под контролем.

  5. Кто ещё есть в аккаунте

    Список людей и приложений целиком. Там обычно живут те, кто уволился, и сервисы, которые пробовали один раз.

  6. Что останется, когда исполнитель уйдёт

    Проверьте на одном сервисе, сможете ли вы зайти без него. Если нет, это выяснится в худший день, а не сегодня.

Панель из шести строк-индикаторов, верхняя горит оранжевым. Надпись: проверка 2, какие права выданы на самом деле. Не какие обещали на словах, а что написано в списке.
Слайд карусели «Шесть проверок», 11.08.2026

В аккаунте Google проверки 2, 4 и 5 (в части приложений) делаются на одной странице. По справке Google на 14.10.2026: страница связанных приложений в аккаунте, раздел «Доступ к аккаунту Google», дальше приложение и «Подробнее». Там видно, какой доступ у приложения есть, и там же кнопка «Закрыть доступ».

Проверка 6 — тот же вопрос, что седьмой пункт из чек-листа до оплаты автоматизации: кто владелец после запуска.

Что значит каждый результат

Проверка не прошла — что это значит
ПроверкаЧто должно бытьЕсли не так
На чьём аккаунтеПочта компанииПочта исполнителя: это не ваш сервис, вы в нём гость
Права на самом делеВ списке то, о чём договаривались«Читать всё» вместо одной папки: обещали одно, выдали другое
По умолчаниюВы знаете про каждое включённое правоПрава, которых вы не выдавали, и о них никто не сообщил
Отзыв в один кликКнопка отзыва найденаНужна переписка с исполнителем: доступ не под контролем
Кто ещё в аккаунтеТолько те, кто работает сейчасУволившиеся и сервисы, которые пробовали один раз
Без исполнителяВы зашли в сервис самиНе зашли: это выяснится в худший день

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

Три правила, когда выдаёте доступ боту

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

Отдельный аккаунт для бота, а не ваш. Это проверка 1, сделанная заранее: вы сами решаете, на чьём аккаунте живёт бот, и это не ваш личный.

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

Отзыв одним кликом, проверенный заранее. Это проверка 4. Найдите кнопку, которой закрывается доступ бота, до того как он начал работать.

Бот будет работать с теми правами, которые вы выдадите ему сегодня, не задумываясь. Если бота ещё только заказываете, начните с трёх вопросов до заказа. Что из ответственности остаётся на вас, разобрано в статье «Что бот за вас не сделает».

Чек-лист, который можно унести

Чек-лист · ревизия доступов
РЕВИЗИЯ: сервис __________

1. Владелец аккаунта: __________ (моя почта / почта исполнителя)
2. Права в списке: __________
3. Включено по умолчанию: __________
4. Кнопка отзыва найдена: да / нет
5. Лишние люди и приложения: __________
6. Вхожу без исполнителя: да / нет

ПЕРЕД ВЫДАЧЕЙ ДОСТУПА БОТУ:
[ ] отдельный аккаунт, а не мой
[ ] только нужные права
[ ] отзыв в один клик

Чтобы не споткнуться

Проверять пароли вместо прав.

Пароль может быть железный, а сервис всё равно оформлен на чужую почту. Шесть проверок про то, кому вход уже открыт.

Верить словам «доступ только к одной папке».

Смотрите список прав. «Доступ к одной папке» на деле бывает всей почтой целиком.

Проверить один раз.

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

Оставить шестую проверку на потом.

Сможете ли вы зайти в свой сервис без исполнителя, выясняется либо сегодня за минуту, либо в худший возможный день.

Частые вопросы

Исполнитель говорит, что узкий доступ сделать нельзя.
Можно, но его настраивают руками, по моей оценке это около лишнего часа работы. У таблиц Google, например, узкое право прямо описано в документации. Вопрос в том, кто платит за этот час, и решать его лучше до подключения.
У меня нет технических знаний. Справлюсь?
Ни один пункт их не требует. Нужно открыть настройки сервиса и посмотреть глазами, что там стоит.
Что делать с лишними доступами, которые нашлись?
Закрыть то, чем не пользуетесь. Перед тем как закрыть рабочий доступ, пройдите шестую проверку: сможете ли вы зайти в сервис без исполнителя.

Источники

  1. Google for Developers — Choose Google Sheets API scopesПраво на все таблицы и узкое право на отдельные файлы, рекомендованное Google. Обновлена 03.09.2026
  2. Google for Developers — Choose Gmail API scopesПрава почты Google: права на одну папку или ярлык в списке нет. Обновлена 10.09.2026
  3. Google for Developers — OAuth 2.0 Scopes for Google APIsПолный список прав всех сервисов Google. Обновлена 14.09.2026
  4. Справка Google — Как управлять связями между аккаунтом Google и приложениями других разработчиковГде посмотреть доступ стороннего приложения и закрыть его. Сверено 14.10.2026
  5. Supabase Docs — Database FunctionsПо умолчанию функцию может вызвать любая роль, в том числе анонимная; функция с правами владельца может отдать строки, которые вызывающему читать нельзя
  6. PostgreSQL — CREATE FUNCTIONПри замене функции её права не меняются; удалённая и созданная заново функция — новый объект

Пишу об этом в канале

Короткие разборы и то, что не дотянуло до отдельного материала.