(十三)VMware Harbor 身份验证模式

霸气de小男生 提交于 2020-11-21 23:56:59

VMware Harbor 修改Harbor仓库admin用户

参考:https://blog.csdn.net/qq_40460909 https://blog.csdn.net/qq_40460909/article/details/90212254


 

一 前言

Harbor有2个认证方式:db_auth , ldap 

 

auth_mode:使用的身份验证类型。默认情况下,它是db_auth,即凭据存储在数据库中。对于LDAP身份验证,请将其设置为ldap_auth。

 

二  数据库(db_auth)---PostgreSQL

用户存储在本地数据库中。

用户可以在此模式下在Harbor中自行注册。要禁用用户自行注册,可以在安装的时候初始配置,或则管理员禁用此功能。禁用自注册后,系统管理员可以将用户添加到Harbor。

注册或添加新用户时,用户名和电子邮件在Harbor系统中必须是唯一的。密码必须至少包含8个字符,包含1个小写字母,1个大写字母和1个数字字符。

2.1 登陆数据库:

 

2.2 找到harbor的数据库,并进入容器

 

docker exec -it  DB容器ID

 

2.3 登陆登陆postgresql 

psql -U postgres -h postgresql -p 5432

密码在harbor.yml中,没改的话是root123

三  常用数据库操作(postgresql)

常用操作

\l                        #列出所有数据库
\c   dbname      #切换数据库
\d                      #列出当前数据库的所有表

\q                      #退出数据库

四  查看用户信息

Step 1: 切换到registry 数据库

 

\c registry

 

Step 2: 列出当前数据库所有表

 

Step 3: 用户信息在 harbor_user 中,查看用户信息

select * from harbor_user;

五 更改admin用户

\c registry

\d

select * from harbor_user;                             #查询表数据

###下面sql是更改用户信息

update harbor_user set username='QfdajasPPqcxz' where user_id=1;              #更改admin用户名为QfdajasPPqcxz

update harbor_user set sysadmin_flag='f' where user_id=1;                              #更改admin用户为普通权限

###下面sql是直接删除admin用户

update harbor_user set deleted='t' where user_id=1;                                         #删除admin用户

\q           #退出数据库

exit         #退出容器

因为有外键约束的原因不能直接删除这个用户,所有直接update。

harbor_user 表结构

六 ldap  LDAP / Active Directory(ldap_auth)

在此身份验证模式下,凭据存储在外部LDAP或AD服务器中的用户可以直接登录到Harbor。

由于用户由LDAP或AD管理,因此在LDAP / AD身份验证模式下不支持自行注册,删除用户,更改密码和重置密码。

 

强调:harbor默认链接的是db_auth,如果想使用ldap_auth,

1,在默认情况下第一次登陆的时候在页面的设置里将认证方式改为ldap_auth,一定要将各个配置设置正确;

2,想使用ldap_auth的话,也可以在最初设置认证模式的时候设置为ldap模式,选项设置不正确可以在UI页面设置。

提醒:不管你设置为哪一种模式,只要用户中添加了除管理员的其他用户之后,认证模式就不能再更改;

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!