我们如何在不更改凭据的情况下从 Harbor 数据库启用过期的机器人帐户?

问题描述

我们在组织中使用 Harbor 作为 Docker 存储库。为了通过 Jenkins CI/CD 或 K8S 部署推送/拉取 docker 镜像,我们创建了一个机器人帐户。

此机器人帐户已过期,我们希望在不更改其凭据的情况下延长过期时间。我们尝试通过将到期日期更改为 robot修改 Harbor registry 架构中的 -1 表。但是,此更改仅反映在 Harbor UI 中,但凭据仍然无效。在尝试通过 Harbor Robot 凭据登录时,我们遇到以下错误消息:

unauthorized: unauthorized to access repository: abc-def/pqr

Harbor UI 上的更新变化

Updated change on the Harbor UI:

Harbor DB 中的此更改应参考哪些表?

已引用的链接

海港版 - 2.0

解决方法

来自 Harbor Github Repo 贡献者的更新:

这是由 v2.2 引入的机器人 v2 支持的,您可以升级到此版本并创建一些新的机器人帐户(v2)。

对于robotv1,因为它封装在JWT令牌中,所以无法更新到期日期。

顺便说一句,不建议出于任何原因直接更新数据库,因为这可能会导致一些意外行为。

参考:https://github.com/goharbor/harbor/issues/15051