Gerrit/NoteDB Управление пользователями

Я нахожусь в процессе переключения бэкэнда LDAP, который мы используем для аутентификации доступа к Gerrit.

Когда пользователь входит в систему через LDAP, в Gerrit создается локальная учетная запись. Мы работаем с версией 2.15 Gerrit, и поэтому наши локальные учетные записи пользователей перенесены из базы данных SQL в NoteDB.

Изменения в нашей инфраструктуре означают, что после переключения бэкэнда LDAP логины пользователей появятся в Gerrit как новые пользователи и, следовательно, будет создана новая локальная учетная запись. В результате нам потребуется выполнить ряд административных задач для существующих локальных учетных записей до и после миграции.

REST API предоставляет некоторые из необходимых нам функций, однако два ключевых элемента отсутствуют:

  • Кажется, что нет никакого способа получить список всех локальных учетных записей через API (так что я мог бы затем выполнить итерацию для выполнения административных задач, которые мне нужно выполнить). Конечная точка /account / настаивает на том, чтобы был задан фильтр запроса, который, по-видимому, не включает способ простого указания "all" или "*". Вместо этого мне приходится искать поисковый фильтр, который будет надежно возвращать все учетные записи - мне пока не удалось.
  • Кажется, нет никакого способа удалить учетную запись. После завершения миграции мне нужно удалить старые учетные записи, но ничего не задокументировано для API или любого другого метода удаления старых учетных записей.

Кто-нибудь нашел решение для любой из этих задач, которые они могли бы разделить?

0 ответов

Я пришел к выводу, что ответы на мои вопросы были:

('/ a /' в приведенных ниже примерах обращается к административной конечной точке, поэтому требуется базовый Auth, а пользователь имеет соответствующие разрешения)

Получение всех учетных записей

Невозможно сделать это в одном запросе, однако объединяя результаты:

GET /a/accounts?q=is:active&n=<number larger than the number of users>
GET /a/accounts?q=is:inactive&n=<number larger than the number of users>

эффективно даст то же самое.

Удаление аккаунта

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

DELETE /a/accounts/<account_id>/active
Другие вопросы по тегам