Кратко
- Первая редакция AAuth Budgets от 28 сентября предлагает жёсткий предел потребления для отдельного токена авторизации; применять его должен сервис, предоставляющий платный ресурс.
- Когда токены действуют одновременно, их лимиты складываются. Сервер человека должен учитывать все выданные суммы, а неизвестное потребление не может считать нулевым.
Представим два задания агентам, выполняемых в одном сервисе. Каждому выдан токен с условным лимитом в десять денежных единиц. Сервис аккуратно останавливает оба токена на их отметке. Итоговый счёт при этом может достигнуть двадцати. Если владелец счёта хотел разрешить только десять в целом, ошибка возникла до первого вызова сервиса: выдавшая сторона дважды использовала один и тот же доступный остаток. Нарушать лимит отдельного токена для этого не требуется.
Именно различие между локальным запретом и общей суммой делает интересным документ, опубликованный Dick Hardt 28 сентября 2026 года. AAuth Budgets — индивидуальный Internet-Draft, который сам называет себя исследовательским. Указанное в нём намерение двигаться по Standards Track не означает, что документ стал стандартом: Datatracker IETF показывает состояние I-D Exists, не закрепляя за ним RFC-поток. Это не свидетельство принятия рабочей группой, готовой нормы или массового внедрения. Проект расширяет другой черновик протокола AAuth. Агент просит бюджет, ресурс объявляет единицу измерения и возможный объём, сервер человека и при необходимости сервер доступа могут уменьшить запрос, после чего выданная величина попадает в токен. Ресурс считает расход; более высокий личный предел остаётся у сервера человека и в токен не включается.
Для одного токена проект предлагает действительно жёсткий предел. Сумма уже оплачиваемого потребления и резервов под незавершённые запросы не должна превышать разрешённый объём даже при параллельных вызовах. Но цена ответа модели может стать известной лишь после генерации. Поэтому перед началом платного запроса ресурс должен определить конечный максимум — по ограничению вывода в запросе или опубликованному значению по умолчанию. Он резервирует максимум, выполняет операцию, фиксирует действительную цену и освобождает разницу. Такой порядок иногда отклонит запрос, реальная цена которого оказалась бы ниже остатка.
Агент может повторить его с меньшей верхней границей. Это сознательная цена предварительного контроля вместо позднего предупреждения о перерасходе.
Сервис ведёт и учёт на уровне человека, однако этот учёт не превращается во второй произвольно придуманный лимит. Сервис не знает личного потолка, который хранит выдавшая сторона. Сервер человека должен суммировать действующие назначения и не превышать собственное обещание. Проект прямо описывает последствия: n одновременных токенов по X создают разрешённую экспозицию до nX на время их действия. Это условная арифметика прав, а не сообщение о случившемся ущербе. Если агент передаёт работу другому агенту, автоматического «дочернего бюджета», списываемого с родительского токена, проект не вводит. Новое разрешение снова требует места в общей сумме.
Проблема не заканчивается истечением срока токена. Агент может оборвать работу, обновить разрешение, не предъявив старое повторно, или потерять связь. Выдавший сервер тогда знает размер выделенного лимита, но не фактический расход. Проект требует временно считать весь неизвестный объём израсходованным. Полученная при следующем запросе запись о расходе — лишь срез для конкретного токена, который ещё может продолжать работу. Сводные показания ресурса, полные до момента as_of, позволяют закрыть назначения, срок которых уже истёк. Подтверждённый отзыв разрешения у ресурса может приблизить этот момент. Если отзыв не поддерживается или результат неизвестен, отпускать резерв сразу нельзя. Уже начатая операция может завершиться и быть оплачена. Команда «остановить» не равна возврату денег.
Другие границы столь же существенны. Бюджет отвечает на вопрос «сколько», а не «что разрешено»: дешёвое необратимое действие всё равно требует соответствующих полномочий. Токен с бюджетом сам по себе не выбирает один из нескольких платёжных аккаунтов человека у ресурса. Предлагаемый заголовок AAuth-Budget сообщает агенту цену запроса и остаток, помогая выбирать размер следующего вызова, но по умолчанию не подписан и не является источником права. Подпись ответа со счётчиком рекомендуется, но не обязательна; она закрепляет заявление ресурса, а не доказывает честность его измерений. Упомянутые в проекте реализации описаны самими участниками и здесь независимо не проверены. Если вычисления агента оплачивает его собственный провайдер без сервера человека в этой цепочке, расширение вообще не применяется.
Поэтому проверяемым результатом должен стать не красивый круговой индикатор для одного агента, а список всех ещё действующих токенов, суммы резервов по ним, свежесть сводного измерения и конкретный итог попытки отзыва. Без этой картины отдельные запреты могут быть безупречны, а общее обещание человеку — нет.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров

