harbor: 1.6

默认配置文件在harbor.cfg,我们可以先不添加配置,直接在harbor web界面进行配置(harbor 1.6 如果db 启动失败提示postgresql 数据目录已存在,可在./common/config/db/env中

添加  PGDATA=/tmp )

首先需在harbor.cfg文件中更改认证模式为ldap

auth_mode = ldap_auth

配置完成,点击保存即可使用ldap 帐户登录harbor,但是项目权限无法通过ldap组去控制。

通过ldap组控制harbor权限,需满足一下条件:

a.支持导入ldap组(harbor版本需1.6及以上)

b.支持memberOf属性

#开启memberOf属性

创建memberof.ldif文件,导入该模块

dn: cn=module,cn=config
cn: module
objectClass: olcModuleList
objectclass: top
olcModuleLoad: memberof.la
olcModulePath: /usr/lib64/openldap dn: olcOverlay=memberof,olcDatabase={2}bdb,cn=config
objectclass: olcconfig
objectclass: olcMemberOf
objectclass: olcoverlayconfig
objectclass: top
olcoverlay: memberof

ldapadd -Y EXTERNAL -H ldapi:/// -f memberof.ldif #导入数据

创建用户和组进行测试

ou.ldif

dn: ou=Users,dc=ldap,dc=xxxxx,dc=net
objectClass: organizationalUnit
ou: Users dn: ou=Groups,dc=ldap,dc=xxxxx,dc=net
objectClass: organizationalUnit
ou: Groups

ldapadd  -D "cn=Manager,dc=ldap,dc=xxxxx,dc=net"  -W -f ou.ldif  #导入用户和组的ou

user.ldif

dn: uid=test,ou=Users,dc=ldap,dc=xxxxx,dc=net
objectClass: account
uid: test

ldapadd -D "cn=Manager,dc=ldap,dc=xxxxx,dc=net" -W -f user.ldif #导入用户

group.ldif

dn: cn=testgroup,ou=Groups,dc=ldap,dc=xxxxx,dc=net
objectClass: groupOfNames
cn: testgroup
member: uid=test,ou=Users,dc=ldap,dc=xxxxx,dc=net

ldapadd -D "cn=Manager,dc=ldap,dc=xxxxx,dc=net" -W -f group.ldif  #导入组

测试memberOf属性:ldapsearch -LL -Y EXTERNAL -H ldapi:/// "(uid=test)" -b dc=ldap,dc=xxxxx,dc=net memberof

返回显示test属于testgroup,则说明memberof属性配置成功 。

#添加ldap组到harbor project

点击项目-->选择Members, 添加GROUP

点击保存,使用此ldap组下账户登录harbor,查看是否拥有此项目权限。

登录验证成功,配置完成。

参考链接:

https://github.com/goharbor/harbor/blob/master/docs/manage_role_by_ldap_group.md

http://blog.51cto.com/jerry12356/1861620

ldap 集成harbor的更多相关文章

  1. ldap集成bitbucket

    confluence ldap配置跟jira ldap集成一样,请参考:https://www.cnblogs.com/imcati/p/9378668.html 需在 Global permissi ...

  2. ldap集成jenkins

    jenkins版本:2.5.3,ldap插件:1.15 jenkins ldap支持需要安装ldap plugin,强烈建议插件安装版本为1.15及以上(支持ldap 配置测试) 安装插件: 系统管理 ...

  3. ldap集成confluence

    confluence ldap配置跟jira ldap集成一样,请参考:https://www.cnblogs.com/imcati/p/9378668.html

  4. CAS与LDAP集成

    参考文献: CAS集成ldap:https://wiki.jasig.org/display/CASUM/LDAP CAS集成restful api:https://wiki.jasig.org/di ...

  5. Monocular 集成harbor helm 仓库

      harbor 已经支持了helm 仓库(使用chartmuseum),Monocular 是一个不错的helm 仓库可视化工具 测试Monocular集成harbor 私服功能 使用docker- ...

  6. apache+svn+ldap集成

    apache+svn搭建方式如下:http://www.cnblogs.com/uglyliu/p/6914056.html SVN和ldap集成,我用的方式只需要更改 /etc/http/conf. ...

  7. K8S集群集成harbor(1.9.3)服务并配置HTTPS

    一.简介 简介请参考:https://www.cnblogs.com/panwenbin-logs/p/10218099.html 二.安装Harbor主机环境及安装要求 主机环境: OS: Cent ...

  8. ldap集成grafana

    grafana版本: 5.0.3 grafana通过k8s方式安装,所以需将配置文件挂载过去. cat grafana-configmap.yaml apiVersion: v1 kind: Conf ...

  9. ldap集成x-pack

    ldap配置支持x-pack有两种格式: 1.  User Search Mode 2. User DN Templates Mode 由于第一种方式需要明文填入ldap管理员账号信息,我这边采用第二 ...

随机推荐

  1. NYOJ - 矩形嵌套(经典dp)

    矩形嵌套时间限制:3000 ms | 内存限制:65535 KB 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b< ...

  2. python 获取本机ip

    有的设备上,有host相关配置,或者网络环境特殊,导致从hostname获取ip不符合预期. 如下函数整合了多种获取ip的方式,大部分情况都可涵盖,一般情况下可以满足需求~ 核心是创建一个UDP协议下 ...

  3. ruby离线安装整理

    参考官方文档: https://rvm.io/rvm/offline 参考博客:https://blog.csdn.net/topswim/article/details/79260369 一.前提  ...

  4. GitLab使用公钥SSH key登录

    SSH key提供了一种与GitLab通信的方式,能够不输密码就进行版本控制 第一步,检查SSH key是否存在 如果存在则把SSH Key放到GitLab上,如果不存在则生成新的SSH Key,再放 ...

  5. thinkphp 多图片上传 单图片上传

    不管是单图片上传还是多图片上传都必须要引用这两个js 下载地址 链接:http://pan.baidu.com/s/1eStkUt0 密码:asvo <script src="Publ ...

  6. arcmap发布服务报错:“Faild to publish service”

    发布gp服务时,Analyze没有重大错误,但是发布结束时提示"Faild to publish service".让人很懵逼: 解决方法: 打开arcgis server man ...

  7. vc关于大文件读写

    http://blog.csdn.net/believefym/article/details/1162461 在做tcp发送大文件的问题时,怎么读取大文件,现在还没有这方面的需求,留作以后处理: 在 ...

  8. LeetCode 520 Detect Capital 解题报告

    题目要求 Given a word, you need to judge whether the usage of capitals in it is right or not. We define ...

  9. 解决秒杀活动高并发出现负库存(Redis)

    商城在秒杀活动开始时,同时有好多人来请求这个接口,即便做了判断库存逻辑,也难免防止库存出现超卖,造成损失 Django中的ORM本身就对数据库做了防范,但再过亿级访问也扛不住 下面利用Redis的过载 ...

  10. C++中vector使用详细说明 (转)

    转自:http://blog.chinaunix.net/uid-26000296-id-3785610.html http://www.cnblogs.com/mr-wid/archive/2013 ...