Harbor-核心功能

作为云原生制品仓库服务,Harbor的核心功能是存储和管理
Artifact。Harbor允许用户用命令行工具对容器镜像及其他Artifact进行
推送和拉取,并提供了图形管理界面帮助用户查阅和删除这些
Artifact。在Harbor 2.0版本中,除容器镜像外,Harbor对符合OCI规范
的Helm Chart、CNAB、OPA Bundle等都提供了更多的支持。另外,
Harbor为管理员提供了丰富的管理功能,特别是作为开源软件,随着
版本的迭代,很多社区用户的反馈和贡献被吸收进来以便更好地适应
企业应用场景。本节将对Harbor的主要管理功能做简要介绍。

1.访问控制

访问控制是多个用户使用同一个仓库存储Artifact时的基本需求,
也是Harbor早期版本提供的主要功能之一。Harbor 提供了“项目”
(project)的概念,每个项目都对应一个和项目名相同的命名空间
(namespace)来保存Artifact,各个命名空间都是彼此独立的授权单
元,将 Artifact 隔离开来。当使用 Docker 等命令行工具向Harbor推送
和拉取镜像等Artifact时,这个命名空间也是URI的一个组成部分。用
户要对项目中的Artifact进行读写,就首先要被管理员添加为项目的成
员,具体的权限由成员的角色决定。加入项目的成员可以有以下角
色。
◎ 项目管理员(project admin):管理项目成员,删除项目,管
理项目级的策略,读写、删除Artifact及项目中的其他资源。
◎ 项目维护人员(master):管理项目级的策略,读写、删除
Artifact及项目中的其他资源。注意:在Harbor 2.0的后续版本中,该角
色的英文名将改为maintainer,中文翻译不变。
◎ 开发者(developer):读写Artifact及项目中的其他资源。
◎ 访客(guest):对Artifact及项目中的其他资源有读权限。
◎ 受限访客(limited guest):仅用于拉取Artifact,对项目中的
其他资源如操作日志(log)没有读权限。

如果用户user1需要推送以上golang 镜像(Tag为1.14)到Harbor仓
库,则需要由管理员在管理控制台上将其加为development项目的成
员,并赋予开发者及以上的角色。这种管理思路也适用于其他OCI
Artifact,如当用户使用Helm推送Helm Chart时,也要求用户在项目下
有相应的权限。
“项目”是Harbor里一个重要的概念,既被当作命名空间对资源进
行隔离,也作为管理单元,管理员可以在它上面创建和添加批量删
除、安全控制等策略来管理项目中的Artifact。一般来说,由Harbor的
系统管理员创建项目,并根据实际情况将普通用户作为成员添加到不
同的项目中。普通用户在使用Harbor时,都根据自己的权限在被授权
的项目中进行各种操作。
在第5章中会对访问控制及授权模型进行更详细的介绍。

2.镜像签名

镜像在本质上是软件的封装形式,从安全角度来看,开发人员在
部署镜像前需要保证镜像内容的完整性(integrity)。也就是说,这个
镜像必须是软件的提供者创建、打包并推送的,在这个过程中镜像并
没有被篡改。为了解决这个问题,Docker提供了内容信任的功能
(Docker Content Trust,DCT),帮助镜像发布者在推送镜像时自动
进行签名,并在必要时自动生成密钥。镜像的签名会被存储在Notary
服务中。Notary是由Docker公司基于TUF(The Update Framework)更
新框架开发的,通过对不同层次的信息进行签名,可以抵御中间人攻
击、重放攻击等恶意行为,保证软件分发的可靠性。
Harbor作为镜像仓库,也通过与Notary集成提供了对内容信任的
支持。

3.镜像扫描

容器镜像打包了代码、软件及其所需的运行环境,已发布的软件
及其依赖的库都可能存在安全漏洞。有安全漏洞的镜像被部署在开发
或生产系统中时,有可能被恶意利用或攻击,造成系统性风险,甚至
发生数据泄露等灾难性后果。之前也有研究显示,即使是Docker Hub
上的官方镜像,平均也有上百个不同等级的安全漏洞,足见容器镜像
在带来方便的同时存在很多安全隐患。
为了帮助用户减少这种风险,Harbor 项目与一些安全服务商制定
了一套扫描适配器(Scanner Adapter)的标准API,其中包含如何描述
自己支持的Artifact类型、与仓库的认证方式,以及触发扫描、查询报
告等功能。Harbor可以通过调用这些API驱动扫描器对仓库中的
Artifact进行扫描,并得到统一格式的包含详细通用漏洞披露
(Common Vulnerabilities Exposures,CVE)列表的报告。只要扫描器
的开发者实现了这套API,就可以在保证网络连通的前提下,由Harbor
管理员添加多个扫描器,在项目视图下选择扫描器并发起扫描任务,
得到详细的报告并保存在Harbor的数据库中。

此外,Harbor允许项目的管理员以项目级别设置安全策略,保证
只有经过扫描而且没有高危安全漏洞的Artifact才可以被成功拉取和部
署。

安全漏洞的发现和公布是一个动态的过程,相同版本的软件会随
着时间的推移报出越来越多的安全漏洞。一般而言,安全漏洞扫描器
每隔一段时间就需要下载并导入最新的漏洞数据包中。推荐管理员定
期对Harbor中的镜像及Artifact反复进行扫描,以确保及时发现漏洞并
安装安全补丁。在这个过程中还存在一种特殊情况:在扫描某个
Artifact时发现了新的安全漏洞,由于安全策略的设置导致它无法被部
署,包含漏洞的相应软件对于整个系统很重要,而针对这个漏洞的补
丁还需要一定时间才会发布。在这种情况下,为了不影响系统上线,
Harbor允许管理员设置白名单,即在确认安全风险可控的前提下,在
应用安全策略时故意跳过某些特定的CVE,以便Artifact被正常部署。

4.高级管理功能

除了以上基本功能,Harbor在版本迭代中还根据社区反馈,为管
理员及用户提供了很多高级管理功能以支持更加复杂的使用场景,包
括Artifact复制策略、存储配额管理、Tag保留策略(Artifact保留策
略)和垃圾回收等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值