创建项目机器人账号

Harbor 允许您使用项目机器人账号来自动化项目的运行操作,包括:

Project permission candidates

项目机器人账号使用密钥向您的 Harbor 实例进行身份验证,允许您通过 OCI 客户端或 Harbor API 连接到您的 Harbor 实例以自动化任务。机器人账号无法登录到 Harbor 界面。

项目机器人账号只能在其创建的项目内执行操作,但是,Harbor v2.2 引入了系统管理员除了创建项目机器人账号之外,还可以创建系统机器人账号的能力,系统机器人账号可以自动化跨多个项目的任务。阅读更多关于 系统级别机器人账号 的信息。

Harbor 2.2 对项目机器人账号引入了更改,这些更改会影响在 v2.2 之前版本的 Harbor 中创建的现有机器人账号。阅读更多关于 旧版机器人账号 的信息。

查看项目机器人账号

  1. 使用至少具有项目管理员权限的账号登录到 Harbor 界面。
  2. 转到 项目,选择一个项目,然后选择 机器人账号

Project robot accounts page

此页面列出了项目中所有可用的项目机器人账号。该表列出了每个机器人账号的以下信息:

  • 机器人账号的名称。这由为您的 Harbor 实例配置的机器人账号前缀、项目名称以及创建机器人账号时分配的名称派生而来。机器人账号名称遵循格式 <prefix><project_name>+<account_name>。如果您在此页面上使用搜索功能,则只需搜索不带前缀的账号名称。
  • 启用状态显示账号是启用还是停用。
  • 单击 权限 下拉列表以查看授予机器人账号的权限。
  • 创建时间显示机器人账号的创建时间。
  • 项目机器人账号到期的时间。这是根据创建时间和创建项目机器人账号时设置的到期时间计算得出的。
  • 项目机器人账号的描述。

您只能从此页面查看项目机器人账号。Harbor 管理员还可以在 系统机器人账号 页面上查看系统机器人账号信息。

添加机器人账号

  1. 使用至少具有项目管理员权限的账号登录到 Harbor 界面。

  2. 转到 项目,选择一个项目,然后选择 机器人账号

  3. 单击 新建机器人账号

  4. 输入此机器人账号的名称和可选描述。

  5. 设置此机器人账号的到期时间,如果您想创建永不过期的机器人账号,也可以选中 永不过期 复选框。

  6. 转到下一步以授予机器人账号权限。您可以参考 权限参考 为此机器人账号分配项目权限的组合。您可以使用 全选取消全选 按钮快速添加或删除机器人账号的所有权限。

    推送仓库 权限必须与 拉取仓库 权限一起分配。您不能单独分配推送仓库权限。

    Add a robot account step 1
    Add a robot account step 2

  7. 单击 完成

  8. 在确认窗口中,单击 导出到文件 将访问令牌下载为 JSON 文件,或单击剪贴板图标将其内容复制到剪贴板。

    copy_robot_account_token

    Harbor 不存储机器人密钥令牌,因此您必须下载密钥或将其内容复制并粘贴到文本文件中。创建机器人账号后,无法从 Harbor 获取密钥,但是,您可以在创建机器人账号后刷新密钥。

    新的机器人项目账号在项目机器人账号列表中显示为 <prefix><project_name>+<account_name>。前缀由您的 Harbor 管理员设置,并且对于所有机器人账号都相同。阅读更多关于 机器人账号前缀 的信息。

    New robot account

编辑、停用或删除项目机器人账号

您可以编辑、停用或删除项目机器人账号。

  1. 从项目的 机器人账号 页面,选中您要更新的机器人账号旁边的复选框。
  2. 选择 操作,然后选择 编辑停用删除

Deactivate or delete a robot account

刷新项目机器人账号密钥

您可以在创建机器人账号后刷新其密钥,以防您需要新的密钥。

  1. 从管理员 机器人账号 页面,选中您要更新的机器人账号旁边的复选框。

  2. 选择 操作,然后选择 刷新密钥

  3. 默认情况下,Harbor 将随机生成一个新的密钥,或者您可以选择启用手动重置密钥并输入 新密钥,然后输入 确认密钥。可选地,您可以通过单击眼睛图标查看密钥。

    Refresh project robot account secret

  4. 单击 刷新。如果您随机创建了密钥,请下载密钥 JSON 文件或复制并粘贴其内容。

使用项目机器人账号进行身份验证

要在自动化流程中使用机器人账号,例如,使用 docker login 并提供机器人账号的凭据。

docker login <harbor_address>
Username: <prefix><project_name>+<account_name>
Password: <secret>

旧版机器人账号

在 Harbor v2.2 之前创建的机器人账号被视为旧版机器人账号,并在 Harbor v2.2 及更高版本的界面中显示 旧版 标签。

旧版机器人账号功能在 Harbor 2.2 中仍然可用,但在 Harbor 的未来版本中将被删除。强烈建议您在升级到 Harbor v2.2 后,将旧版机器人账号重新创建为项目或系统机器人账号。请注意,目前没有将旧版机器人账号迁移到新格式的方法,您必须创建一个新账号。

旧版机器人账号功能

  • 您可以使用 Docker 和 Helm CLI 执行操作。旧版机器人账号无法登录到 Harbor 界面。
  • 您无法编辑旧版机器人账号。您只能停用或删除旧版机器人账号。
  • 可用的旧版机器人账号权限仅限于推送和拉取制品,以及推送或拉取 Helm Chart。
  • 旧版机器人账号使用 JWT 进行身份验证。您无法刷新或检索旧版机器人账号 JWT 身份验证令牌。
  • 旧版机器人账号名称使用前缀 robot$,例如 robot$<account_name>