对比 Harbor 与 ACR 企业版在权限模型上的差异

解读

国内云原生面试中,镜像仓库的权限模型是高频考点。Harbor 作为 CNCF 毕业项目,常被企业私有化部署;ACR 企业版(阿里云容器镜像服务)则是国内公有云事实标准。两者均支持 RBAC,但落地细节、账号体系、鉴权链路与合规审计能力差异显著。面试官想借此考察候选人对多租户隔离、最小权限、云厂商 IAM 集成、企业级审计四大维度的深度理解,以及能否在混合云场景下给出选型建议。

知识点

  1. RBAC 粒度:Harbor 以“项目”为一级命名空间,角色仅五类(项目管理员、开发者、访客等);ACR 企业版支持“命名空间-仓库-版本”三级授权,可细粒度到镜像版本级。
  2. 身份源:Harbor 内置本地 DB、OIDC、LDAP 三种,不支持云厂商主账号体系;ACR 企业版直接对接阿里云 RAM,子账号、角色、用户组、STS 临时凭证一键映射,无需额外同步。
  3. 鉴权链路:Harbor 在 Docker Distribution 原生存根鉴权之上加一层 Core 服务,Token 为 JWT 格式,默认 30 min 过期;ACR 企业版走阿里云统一 STS,支持 STS 临时密钥 15 min~36 h 可配,且对 VPC 内网请求可启用“免密拉取”(基于实例 RAM 角色),Pod 级别无需 imagePullSecret。
  4. 资源隔离:Harbor 项目之间完全隔离,但无配额硬控,需外部脚本;ACR 企业版在命名空间级提供镜像数量、存储容量、公网出流量三维度配额,超配直接拒绝推送。
  5. 安全策略:Harbor 通过“项目策略”统一管控签名、漏洞扫描、不可变规则;ACR 企业版除支持上述能力外,额外集成云安全中心,可基于镜像漏洞等级动态阻断拉取,并与 ACK 发布流水线联动,实现“扫描不通过则拒绝部署”。
  6. 审计与合规:Harbor 审计日志存 PostgreSQL,字段固定,无防篡改机制;ACR 企业版日志直投递阿里云 SLS,支持 180 天锁区存储,满足等保三级、ISO 27001对原始日志不可抵赖的要求,且可基于日志做实时告警与溯源
  7. 跨云场景:Harbor 可通过复制策略同步到任意符合 Docker Registry V2 协议的端点,同步凭据独立管理;ACR 企业版提供“实例间同步”,但目标仅限阿里云账号下的其他 ACR 实例,走内网高速通道,鉴权自动继承 RAM,无需额外 Secret,但牺牲了多云灵活性。

答案

“Harbor 与 ACR 企业版在权限模型上的差异可归纳为四点:
第一,授权粒度。Harbor 以项目为最小单元,角色固定五类;ACR 企业版支持命名空间-仓库-版本三级授权,可绑定到 RAM 子账号或 STS 临时角色,实现版本级最小权限
第二,身份体系。Harbor 需独立配置 LDAP/OIDC,与云账号割裂;ACR 企业版原生集成阿里云 RAM,子账号、用户组、角色一键映射,免密拉取能力让 ACK/ECI 集群无需 imagePullSecret,降低凭证泄露风险。
第三,安全策略执行点。Harbor 的漏洞扫描与签名策略在项目级统一配置,仅告警不强制;ACR 企业版通过云安全中心在拉取阶段实时拦截,并与 ACK 部署策略联动,高危漏洞直接阻断生产发布
第四,审计合规。Harbor 审计日志本地存储,无防篡改;ACR 企业版日志直传 SLS,180 天锁区+数字水印,满足国内等保与金融云合规要求,且支持实时审计告警。
综上,若企业已深度使用阿里云,ACR 企业版在权限精细度、免密链路与合规审计上更具优势;若需多云中立、离线交付或二次开发,Harbor 的开源与可定制性不可替代。”

拓展思考

  1. 混合云场景下,如何让 Harbor 与 ACR 企业版共用同一套身份源?可在 Harbor 前加阿里云 IDaaS 做 OIDC 代理,统一由 RAM 签发 JWT,实现单点登录与权限映射。
  2. 面对跨国数据合规(如 GDPR、中国数据出境评估),ACR 企业版提供跨境同步白名单加密传输专属通道,Harbor 则需自建 Region 级实例并配置镜像级加签+OCI 索引复制,面试可结合数据分类分级策略展开。
  3. 未来 OCI 1.1 将引入Referrer API,Harbor 社区已提交 PR 支持镜像签名与 SBOM 的独立存储;ACR 企业版预计 Q3 跟进,届时可讨论如何在 CI/CD 中基于 SBOM 进行供应链风险评分,把权限模型从“谁能访问”升级为“什么成分可进入生产”。