deepwzh的技术笔记
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • 云原生
  • Helm
  • Etcd
  • harbor
  • 学习资料
  • Fass
  • argo

    • argo
    • Argo cli 用法
  • Docker

    • Docker
    • docker 镜像打包
    • docker 镜像加速
    • 常用命令
    • 进阶 docker 资料
    • distribution/distribution
    • Docker
    • dockerfile 与镜像构建
  • K8s

    • K8s
    • 日志收集
    • 服务网格
    • 常用命令
    • 污点与容忍度
    • Kubectl
    • 应用发布
    • 存储
    • Cert-Manager
    • K8s Pod 生命周期与健康检查
    • 负载均衡器
    • 压力节点驱逐
    • Helm chart
    • 准入控制器

harbor

API

授权

Harbor API 2.0 的授权主要通过 Bearer Token 或 Basic 认证 实现。

方法一:使用 Bearer Token 认证

  1. 获取 JWT 令牌发送 POST 请求到 /v2.0/users/login,提供用户名和密码:

curl -X POST -H "Content-Type: application/json" -d '{"principal":"用户名", "password":"密码"}' https://harbor.example.com/v2.0/users/login

	响应示例:
	```json
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }
  1. 在请求中使用 Token 将获取的令牌放入 Authorization 头中:

curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." https://harbor.example.com/api/v2.0/projects


方法二:使用 Basic 认证

直接在每个请求中提供用户名和密码:

```bash
curl -u 用户名:密码 https://harbor.example.com/api/v2.0/projects

其他注意事项

• HTTPS 必需:确保使用 HTTPS,否则可能被拒绝。

• 权限控制:Harbor 基于角色(RBAC)管理权限,需在 UI 中配置用户/项目的权限。

• API 密钥(Harbor 2.2+):可在用户设置生成 API 密钥,使用方式:

curl -H "Authorization: Harbor-API-Key QVBJX0tFWDo6dXNlcm5hbWU6dG9rZW5oYXNo" https://harbor.example.com/api/v2.0/projects
Prev
Etcd
Next
学习资料