Документация LMS версия 0.1.0

Документация/Для агентов/Ключ с узкими правами

Написано наполовину

Ключ с узкими правами

Одна вещь на этой странице важнее всех остальных, поэтому она первая.

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

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

Сужение до курса — бесплатно #

У ключа нет своего языка прав: ключ — такой же субъект, как человек, и права у него те же самые, что у роли. Проверяет их та же функция.

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

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

След в журнале #

Действие, выполненное агентом, помечается в журнале как выполненное агентом, а не человеком. Не «система изменила доступ», а «интеграция N от имени человека M».

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

Что видно про ключ потом #

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

Значение ключа показывается один раз, при создании: в базе хранится только хеш. Потеряли — заведите новый и отзовите старый.

Префиксы lms_live_ и lms_test_ не для красоты: случайно закоммиченный ключ опознаётся сканером секретов и отзывается до того, как им воспользуются.

Состояние #

Реестра ключей в продукте ещё нет — он появится вместе с API. Правила выше приняты и не изменятся; экрана, на котором ключ заводится, пока не существует.

Следить — в Обновлениях.

Эта страница в Markdown