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