Gerrit/NoteDB 用户管理
Gerrit/NoteDB User Management
我正在切换我们用来验证对 Gerrit 的访问的 LDAP 后端。
当用户通过 LDAP 登录时,会在 Gerrit 中创建一个本地帐户。我们是 Gerrit 的 运行 2.15 版,因此我们的本地用户帐户已从 SQL 数据库迁移到 NoteDB。
我们基础设施的变化意味着一旦切换了 LDAP 后端,用户登录将在 Gerrit 中显示为新用户,因此将生成一个新的本地帐户。因此,我们需要在迁移前后对现有本地帐户执行大量管理任务。
REST API 公开了我们需要的一些功能,但是似乎缺少两个关键元素:
- 似乎无法通过 API 检索所有本地帐户的列表(这样我就可以循环执行我需要完成的管理任务)。 /accounts/ 端点坚持指定查询过滤器,这似乎不包括简单指定 'all' 或 '*' 的方法。相反,我不得不尝试考虑一个可以可靠地 return 所有帐户的搜索过滤器 - 我还没有成功。
- 似乎无法删除帐户。迁移完成后,我需要删除旧帐户,但没有关于 API 或任何其他删除旧帐户的方法的记录。
有没有人找到可以分享的这些任务的解决方案?
我得出的结论是,我的问题的答案是:
(以下示例中的“/a/”正在访问管理端点,因此需要基本身份验证并且用户具有适当的权限)
正在检索所有帐户
无法在单个查询中执行此操作,但是结合以下结果:
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
我正在切换我们用来验证对 Gerrit 的访问的 LDAP 后端。
当用户通过 LDAP 登录时,会在 Gerrit 中创建一个本地帐户。我们是 Gerrit 的 运行 2.15 版,因此我们的本地用户帐户已从 SQL 数据库迁移到 NoteDB。
我们基础设施的变化意味着一旦切换了 LDAP 后端,用户登录将在 Gerrit 中显示为新用户,因此将生成一个新的本地帐户。因此,我们需要在迁移前后对现有本地帐户执行大量管理任务。
REST API 公开了我们需要的一些功能,但是似乎缺少两个关键元素:
- 似乎无法通过 API 检索所有本地帐户的列表(这样我就可以循环执行我需要完成的管理任务)。 /accounts/ 端点坚持指定查询过滤器,这似乎不包括简单指定 'all' 或 '*' 的方法。相反,我不得不尝试考虑一个可以可靠地 return 所有帐户的搜索过滤器 - 我还没有成功。
- 似乎无法删除帐户。迁移完成后,我需要删除旧帐户,但没有关于 API 或任何其他删除旧帐户的方法的记录。
有没有人找到可以分享的这些任务的解决方案?
我得出的结论是,我的问题的答案是:
(以下示例中的“/a/”正在访问管理端点,因此需要基本身份验证并且用户具有适当的权限)
正在检索所有帐户
无法在单个查询中执行此操作,但是结合以下结果:
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