4. Harbor 基础配置:管理员初始化、项目创建、用户管理、角色权限模型
在配置制品保留策略与清理窗口之前,必须完成 Harbor 实例的基础配置。本章将系统讲解从管理员首次登录、项目与用户创建,到 Harbor 角色权限模型的完整流程。这些配置是后续所有策略生效的前提,也是企业级制品管理的基础设施。
4.1 管理员初始化与系统配置
Harbor 安装完成后,首次访问需通过 https://<harbor_host> 进入 Web 控制台。默认管理员账户为 admin,初始密码在 harbor.yml 的 harbor_admin_password 字段中定义。首次登录后,建议立即执行以下初始化操作:
- 修改默认密码:进入「系统管理 → 用户管理」,选择 admin 账户,点击「修改密码」,设置符合企业密码策略的强密码。
- 配置认证模式:在「系统管理 → 认证设置」中,可选择 本地数据库认证(默认)或集成 LDAP/AD、OIDC 等外部认证源。企业环境推荐使用 LDAP 统一管理。
- 设置基础 URL:在「系统管理 → 配置管理」中,填写 Harbor 实例的访问地址,该地址将用于制品推送、拉取及 Webhook 回调。
- 配置邮件服务器:用于密码找回、项目邀请等通知功能。需填写 SMTP 服务器地址、端口、账号及发件人地址。
最佳实践: 初始化完成后,立即创建一个非 admin 的日常管理账户,并启用 两步验证(2FA) 以增强管理员账户安全性。admin 账户仅用于紧急维护。
4.2 项目创建与类型选择
Harbor 中的 项目(Project) 是制品仓库的逻辑隔离单元,所有镜像、Chart 等制品都必须归属于某个项目。创建项目时需选择以下两种类型:
| 项目类型 | 访问权限 | 适用场景 | 镜像拉取是否需要认证 |
|---|---|---|---|
| 公开(Public) | 所有用户(含未登录)可拉取 | 开源项目、公共基础镜像 | 否 |
| 私有(Private) | 仅项目成员可拉取 | 企业业务镜像、敏感制品 | 是 |
创建项目时,还需配置以下关键属性:
- 存储配额(Storage Quota):限制项目可占用的最大存储空间,防止单个项目耗尽集群磁盘。
- 代理缓存(Proxy Cache):启用后,Harbor 可作为 Docker Hub、Quay.io 等上游仓库的缓存代理,加速拉取并节省带宽。
- 自动清理策略:可在项目创建时直接关联保留策略(后续章节详述),实现创建即治理。
操作示例: 创建名为
production-app 的私有项目,设置存储配额为 50GB,启用代理缓存指向 Docker Hub。该项目的制品将自动继承后续配置的保留规则。
4.3 用户管理与认证集成
Harbor 支持两种用户管理方式:本地用户 和 外部认证用户。企业环境中,通常以 LDAP/AD 作为用户源,Harbor 仅做角色映射。
4.3.1 本地用户创建
- 进入「系统管理 → 用户管理」,点击「创建用户」。
- 填写用户名、邮箱、全名及密码。密码需满足复杂度要求(至少 8 位,含大小写字母和数字)。
- 创建后,用户默认无任何项目权限,需由项目管理员手动添加至项目并分配角色。
4.3.2 LDAP/AD 集成配置
在「系统管理 → 认证设置」中,选择 LDAP 模式并填写以下参数:
| 参数 | 说明 | 示例值 |
|---|---|---|
| LDAP URL | LDAP 服务器地址及端口 | ldaps://ldap.company.com:636 |
| Base DN | 用户搜索的根目录 | dc=company,dc=com |
| User Filter | 过滤有效用户的 LDAP 查询 | (objectClass=person) |
| UID | 用于匹配 Harbor 用户名的属性 | sAMAccountName |
| Group Filter | (可选)过滤组,用于组同步 | (objectClass=group) |
注意: 切换认证模式后,现有本地用户仍可登录,但新用户将只能通过 LDAP 认证。建议在非生产环境验证 LDAP 配置无误后再切换。
4.4 角色权限模型详解
Harbor 采用 基于角色的访问控制(RBAC) 模型,权限作用域分为 系统级 和 项目级。理解角色模型是设计保留策略权限的基础。
4.4.1 系统级角色
| 角色 | 权限范围 | 典型职责 |
|---|---|---|
| 系统管理员 | 全局配置、用户管理、所有项目 | 系统运维、策略全局配置 |
| 系统只读用户 | 查看系统配置、项目列表 | 审计、监控 |
4.4.2 项目级角色
| 角色 | 拉取镜像 | 推送镜像 | 删除制品 | 管理成员 | 配置策略 |
|---|---|---|---|---|---|
| 项目管理员 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 维护者 | ✓ | ✓ | ✓ | ✗ | ✓ |
| 开发者 | ✓ | ✓ | ✗ | ✗ | ✗ |
| 访客 | ✓ | ✗ | ✗ | ✗ | ✗ |
| 受限访客 | ✓(仅公开项目) | ✗ | ✗ | ✗ | ✗ |
权限与保留策略的关系: 只有 项目管理员 和 维护者 角色可以创建、编辑或删除项目的保留策略。开发者虽然可以推送制品,但无法修改清理规则,这确保了策略的集中管控。
4.5 Harbor 角色权限模型架构图
下图展示了 Harbor 从系统管理员到项目成员的角色层级关系,以及各角色在项目中的权限边界:
4.6 项目成员管理操作流程
将用户加入项目并分配角色是日常管理中最频繁的操作。以下为标准流程:
- 进入项目:在 Harbor 主界面点击目标项目名称。
- 选择「成员」标签页:点击顶部导航栏的「成员」。
- 添加成员:点击「添加成员」,输入用户名(本地用户)或 LDAP 组名。
- 分配角色:从下拉列表中选择角色(项目管理员/维护者/开发者/访客/受限访客)。
- 确认提交:点击「确定」完成添加。成员即刻获得对应权限。
批量管理技巧: 当项目成员较多时,建议通过 LDAP 组同步 功能,将 AD 组直接映射为 Harbor 项目角色。例如,将
CN=DevTeam,OU=Groups,DC=company,DC=com 映射为「开发者」角色,组内成员自动继承权限,无需逐个添加。
4.7 基础配置与保留策略的关联
完成上述基础配置后,Harbor 已具备运行条件。这些配置与后续的保留策略存在以下关键关联:
- 项目类型决定策略作用范围:保留策略是基于项目配置的,私有项目的策略仅影响授权用户。
- 角色权限控制策略操作:只有项目管理员和维护者可以创建/修改保留规则,开发者只能查看。
- 存储配额与保留策略协同:保留策略负责清理过期制品,存储配额作为安全阀,防止策略失效时磁盘写满。
- 认证集成影响策略审计:通过 LDAP 集成的用户,其操作记录可追溯到 AD 账号,便于合规审计。
课前思考: 假设你作为系统管理员,需要为开发团队(20人)和测试团队(15人)分别创建项目,并确保开发人员只能推送制品,测试人员只能拉取。同时,两个项目的保留策略需要由你统一配置。请思考:你应该创建几个项目?为每个角色分配什么权限?答案将在下一章揭晓。