第一章 LDAP认证

image
在上图中,LDAP Client指各种需要身份认证的软件,例如Apache、Proftpd和Samba等。LDAP Sever指的是实现LDAP协议的软件,例如OpenLDAP等。LDAP Directory Services指的是OpenLDAP的数据存储,如关系型数据库(MySQL)或查询效率更高的嵌入式数据库(BerkeleyDB),甚至是平面文本数据库(—个txt的文本文件)。可见,OpenLDAP软件只是LDAP协议的一种实现形式,并不包括后台数据库存储。但在很多时候管理员经常将LDAP Server和DataStorage放在同一台服务器,这样就产生了人们通常所说的“LDAP数据库”。虽然后台数据库(backend)可以是多种多样,但LDAP协议还规定了数据的存储方式。LDAP数据库是树状结构的,与DNS类似,如下图所示:
image
在上图中,以这种方式存储数据最大的一个好处就是查询速度快,LDAP数据库专门对读操作进行了优化, OpenLDAP配合Berkeley DB可使其读操作的效率得到很大提高。LDAP数据库的树状结构的另一个好处是便于分布式的管理。

第二章 Harbor用户模型

用户模型

Harbor登录用户有管理员和普通用户两种类型
管理员模型:

1
2
3
4
5
6
7
8
9
dn: uid=wangdj104,ou=admin,cn=devops-dev-gitlab,dc=jichen,dc=chinaunicom
cn:: 546L6YGT5rGf #加密后的用户全名 此为王..
employeetype: admin #标志为管理员
mail: 1138523117@qq.com #邮箱必填
objectclass: inetOrgPerson
objectclass: top
sn:: 546L #加密后的用户姓 此为王
uid: wangdj104
userpassword: {MD5}DyoNF/7H+m7ndqjlKtr12w== #md5加密后的用户密码 此为111111

普通用户模型:

1
2
3
4
5
6
7
8
9
dn: uid=zhangj1143,ou=users,cn=devops-dev-gitlab,dc=jichen,dc=chinaunicom
cn:: 5byg5Yab #加密后的用户全名 此为张..
employeetype: user #标志为普通用户
mail: 23659874@qq.com #邮箱必填
objectclass: inetOrgPerson
objectclass: top
sn:: 5byg #加密后的用户姓 此为张
uid: zhangj1143
userpassword: {MD5}DyoNF/7H+m7ndqjlKtr12w== #md5加密后的用户密码 此为111111

用户模型的建立

ldap环境搭建好后,登录界面化管理工具phpldapadmin后,显示如下。然后开始导入用户组和用户。
image
1)增加基础dn(相当于集团)

1
2
3
4
5
dn: dc=jichen,dc=chinaunicom
dc: jichen
o: jichen #以上三项需和上图保持一致
objectclass: dcObject
objectclass: organization

image
2)导入组(cn,相当于分公司)

1
2
3
4
5
dn: cn=devops-dev- gitlab,dc=jichen,dc=chinaunicom
cn: devops-dev-gitlab #设置的组名称
gidnumber: 500 #可设其它值
objectclass: posixGroup
objectclass: top

image
image
3)导入组织单元(ou,相当于部门)

1
2
3
4
5
6
7
8
9
dn: ou=admin,cn=devops-dev-gitlab,dc=jichen,dc=chinaunicom
objectclass: organizationalUnit
objectclass: top
ou: admin #管理部门

dn: ou=users,cn=devops-dev-gitlab,dc=jichen,dc=chinaunicom
objectclass: organizationalUnit
objectclass: top
ou: users #普通用户

image
image
4)导入员工

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
dn: uid=wangdj104,ou=admin,cn=devops-dev-gitlab,dc=jichen,dc=chinaunicom
cn:: 546L6YGT5rGf #加密后的用户全名 此为王道江
employeetype: admin #标志为管理员
mail: 1138523117@qq.com #邮箱必填
objectclass: inetOrgPerson
objectclass: top
sn:: 546L #加密后的用户姓 此为王
uid: wangdj104
userpassword: {MD5}DyoNF/7H+m7ndqjlKtr12w== #md5加密后的用户密码 此为111111

dn: uid=zhangj1143,ou=users,cn=devops-dev-gitlab,dc=jichen,dc=chinaunicom
cn:: 5byg5Yab #加密后的用户全名 此为王道江
employeetype: user #标志为普通用户
mail: 23659874@qq.com #邮箱必填
objectclass: inetOrgPerson
objectclass: top
sn:: 5byg #加密后的用户姓 此为张
uid: zhangj1143
userpassword: {MD5}DyoNF/7H+m7ndqjlKtr12w== #md5加密后的用户密码 此为111111

image
image

用户权限的管理

使用上述建立的用户登录harbor,页面如下:
image
image
image
修改其权限为管理员,使用admin账号登录harbor
image
image
再次登录wangdj104账户,可以有更多的权限
image

第三章 安装Berkeley DB

Berkeley DB(BDB)是OpenLDAP后台数据库的默认配置,因此在安装OpenLDAP之前应先安装BDB
安装包下载链接: https://pan.baidu.com/s/12TvaQRXADay2OvtiVOcLBg 提取码: khgw
image

1
2
3
4
cd db-5.3.28/build_unix/
../dist/configure -prefix=/usr/local/BerkeleyDB(最好是装在此目录下,否则安装ldap时会报lib是一个目录的错误)
make
make install

第四章 OpenLDAP安装

linux搭建开源ldap服务器方法参考博文:
https://blog.csdn.net/u010783533/article/details/88572697
https://blog.csdn.net/developerinit/article/details/77170569
https://blog.csdn.net/muriyue6/article/details/82845523
https://www.cnblogs.com/MYSQLZOUQI/p/4840965.html

Idap安装

ldap是统一认证服务,它的优点是存储用户认证等不经常改变的信息,有清晰的组织结构。本文使用的是openldap-2.4.47.tgz。
安装包下载链接:ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release
(1)开始前需设置编译参数,如下所示

1
2
3
export CPPFLAGS="-I/usr/local/BerkeleyDB/include"
export LDFLAGS="-L/usr/local/BerkeleyDB/lib"
export LD_LIBRARY_PATH="/usr/local/BerkeleyDB/lib"

(2)

1
./configure --prefix=/home/deployer/idap/ldap

(3)

1
make depend

Make depend是一种makefile的规则,通过扫描各个目录下的所有C/C++ 代码,从而判断出文件之间的依赖关系,如a.cc文件中调用了b.h(如以形势include<b.h>),如果之后a.cc文件被改动,那 么只需要重新编译a.cc文件,不需要编译b.h文件。否则所有的文件都需要重新编译
(4)

1
2
3
make
make test(需要一段时间,可选操作)
make install

安装完成后:etc目录显示的是配置文件,bin目录显示的ldap的客户端工具,sbin目录显示的是服务器相关执行文件,libexec下是ldap服务启动程序,.ldif是ldap特定的文件格式,这种格式的文件用于ldap数据的添加。
image

配置Idap

(1)设置LDAP使用的Schema
编辑slapd.conf

1
vim /home/deployer/idap/ldap/etc/openldap

在文件中找到如下语句。

1
include  /home/deployer/idap/ldap/etc/schema/core.schema

在该语句的后面添加以下语句。

1
2
3
4
5
6
7
8
include /home/deployer/idap/ldap/etc/openldap/schema/corba.schema
include /home/deployer/idap/ldap/etc/openldap/schema/cosine.schema
include /home/deployer/idap/ldap/etc/openldap/schema/dyngroup.schema
include /home/deployer/idap/ldap/etc/openldap/schema/inetorgperson.schema
include /home/deployer/idap/ldap/etc/openldap/schema/java.schema
include /home/deployer/idap/ldap/etc/openldap/schema/misc.schema
include /home/deployer/idap/ldap/etc/openldap/schema/nis.schema
include /home/deployer/idap/ldap/etc/openldap/schema/openldap.schema

(2)为目录树设置后缀
在slapd.conf文件中找到如下语句:
suffix “dc=my-domain, dc=com”
将其改为如下内容。
suffix “dc=my-test, dc=chinaunicom”

(3)为LDAP服务器管理员设置DN
在slapd.conf文件中找到如下语句:
rootdn “cn=Manager, dc=my-domain, dc = com”
将其改为如下内容。
rootdn “cn=Manager, dc=my-test, dc = chinaunicom”

(4)为LDAP服务器管理员设置口令
1)生成加密密码:

1
2
3
4
5
cd /home/deployer/idap/ldap/sbin
[root@localhost sbin] # ./slappasswd
New password:
Re-enter new password:
{SSHA}YARtaZb0fjq3B2gJuflulDS7vezL7O1p

2)设置管理员密码
在slapd.conf文件中找到如下语句:
rootpw secret
将其改为如下内容。
rootpw {SSHA}YARtaZb0fjq3B2gJuflulDS7vezL7O1p
(5)初始化OpenLDAP(可选)

1
2
[root@instance-0pk09gjj /]# cd /home/deployer/idap/ldap/var/openldap-data/
[root@instance-0pk09gjj openldap-data]# cp DB_CONFIG.example DB_CONFIG

(6)启动LDAP服务器
要启动LDAP服务器,只需执行以下命令。

1
nohup /home/deployer/idap/ldap/libexec/slapd -f /home/deployer/idap/ldap/etc/openldap/slapd.conf -d 255 &

然后执行以下命令确保sland进程启动成功。执行结果如下所示,显示“|-slapd”表示LDAP服务器已经成功启动。

1
2
[root@localhost ~]# pstree|grep "slapd"
|-slapd -----{slapd}/

(7)创建一个ldif文件

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost bin]# cd /home/deployer/idap/ldap/etc/openldap
[root@localhost bin]# vim /home/deployer/idap/ldap/etc/openldap/example.ldif
[root@localhost bin]# cat /home/deployer/idap/ldap/etc/openldap/example.ldif
dn:dc=my-test,dc=chinaunicom
objectclass:dcObject
objectclass:organization
dc:my-test
o:my-test,Inc.

dn:ou=Harbor,dc=my-test,dc=chinaunicom
objectclass:organizationalUnit
ou:Harbor

(8) 添加添加ldif文件

1
/home/deployer/idap/ldap/bin/ldapadd -x -D 'cn=Manager,dc=my-test,dc=chinaunicom' -W -f /home/deployer/idap/ldap/etc/openldap/example.ldif

image
image

第五章 phpLDAPadmin安装配置

安装博客:http://blog.sina.com.cn/s/blog_681e31a20102vqdc.html
安装包下载链接:https://pan.baidu.com/s/1fEu-CENRJ5ja8knHQzyuZw 提取码: fgij
image

安装Apache

下载apache版本httpd-2.2.26.tar.gz,并下载相关的支持组件包 apr-1.5.0.tar.gz, apr-util-1.5.3.tar.gz
(1)解压apache及相关组件包源码

1
2
3
# tar -zxvf  httpd-2.2.26.tar.gz
# tar -zxvf apr-1.5.0.tar.gz
# tar -zxvf apr-util-1.5.3.tar.gz

(2)安装apr

1
2
3
4
# cd  apr-1.5.0
# ./configure --prefix=/usr/local/apr
# make
# make install

(3)安装apr-util

1
2
3
4
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make
# make install

(4)安装apache

1
2
3
4
5
#cd  httpd-2.2.26
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
//安装到指定目录,so开启动态模块支持,rewrite开启地址重写。
# make;
#make install

安装php5

(1) 安装libxml2
获取php支持组件libxml2-2.7.8.tar.gz
安装如下:

1
2
3
4
5
#tar -zxvf  libxml2-2.7.8.tar.gz
#cd libxml2-2.7.8
#./configure --prefix=/usr/local/libxml2
#make
#make install

安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib、man和share五个目录。在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上”–with-libxml-dir=/usr/ local/libxml2”选项,用于指定安装libxml2库文件的位置。
(2) 安装php5

1
2
3
4
5
6
7
8
# tar -zxvf  php-5.6.0.tar.gz
# cd php-5.6.0
# ./configure --prefix=/usr/local/php5 \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-ldap=/home/deployer/idap/ldap \
--with-config-file-path=/usr/local/php5 \
--with-libxml-dir=/usr/local/libxml2 \
--with-gettext

//指定安装目录,跟apache融合,指定配置文件位置,启用ldap支持(必须的),启用 gettext支持(必须要启用的支持)
注:出现以下信息则配置环境成功(./configure),才可继续输入安装命令make和make install。
image

1
2
3
4
   make
make install
cp php.ini-development /usr/local/php5/php.ini
//把配置文件拷贝过去,编辑它,在适当位置添加include_path = /usr/local/php5/lib/php

配置Apache

(1) 配置apache主文件httpd.conf
有三个地方需要修改

1
vim /usr/local/apache/conf/httpd.conf

image
image
image

(2) 配置apache支持php

1
vim /usr/local/apache/conf/httpd.conf

在AddType application/x-gzip .gz .tgz 下添加如下内容
image
在DirectoryIndex index.html 后添加如下内容
image

测试Apche +PHP安装是否成功

启动apache,命令行输入

1
2
cd /usr/local/apache/bin
./apachectl start

在浏览器输入IP : http://192.168.117.132,显示如下则成功安装apache
image

安装配置phpLDAPadmin

(1)安装phpldapadmin

1
2
3
4
tar zxvf phpldapadmin-1.2.3.tgz
mv phpldapadmin-1.2.3 /usr/local/phpldapadmin
cd /usr/local/phpldapadmin/config
cp config.php.example config.php

openldapadmin的安装很简单,只需要解压,然后移动到相应的目录就可以了。默认情况下phpldapadmin自带了一个示例配置文件config.php.example,对该文件稍做修改,就可以使用了。
(2)配置config.conf

1
vim  config.php

image
注:上面的array(’’)里面需要跟之前oepnldap的配置文件slapd.conf里的suffix的值一致
image
注:登陆的账号和密码设置为空,则网页弹出需要手动输入(账号为slapd.conf的rootdn,密码是rootpw);若想绑定账号,则绑定密码项绑定与否都可以
(3)建立phpldapadmin虚拟目录及设置用户认证。
在httpd.conf文件末添加下图所示内容,建立虚拟目录
image
设置admin密码

1
2
3
 mkdir -p /etc/apach2
cd /etc/apach2
/usr/local/apache/bin/htpasswd -c php_ldap_admin_pwd admin

(4)配置phpLDAPadmin使用中文
1)编辑文件/usr/local/phpldapadmin/config/config.php,修改语句:
// $config->custom->appearance[‘language’] = ‘auto’;
将“//”注释符号去处,并将语句改为:
$config-> custom->appearance[‘language’] = ‘zh_CN’;
2)使用下列的命令转换phpLDAPadmin语言文件的编码。

1
2
iconv -f gbk -t utf8 /usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.mo > /usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.new.po
msgfmt -o /usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.mo /usr/ local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.new.po

(5)启动phpldapadmin
保存上述httpd.conf文件,重启Apache服务

1
2
cd /usr/local/apache/bin
./apachectl restart

浏览器输入:http://192.21.11.132/phpldapadmin/进行访问。如下图
image
image
注:在建立phpldapadmin虚拟目录及设置用户认证后,在浏览器打开phpldapadmin出现下图错误,phpldapadmin/lib/functions.php 是下载安装包的文件,不应有错。在官网查了下(http://sourceforge.net/u/nihilisticz/phpldapadmin/ci/7e53dab990748c546b79f0610c3a7a58431e9ebc/ ),原来是软件版本更新,几个文件都需要修改,照着上面依次修改了lib/PageRender.php、lib/ds_ldap.php、 lib/ds_ldap.php 、lib/functions.php 、lib\TemplateRender.php 里面的函数及相应代码,最后运行成功。
image

第六章 Harbor集成LDAP

默认配置文件在harbor.cfg,我们可以先不添加配置,直接在harbor web界面进行配置,也可两者同时设置。

LDAP账号生成

Openldap是一个统一的账户管理工具,只进行用户的管理,不进行权限的管理,权限管理在各自的组件中进行。
搭建phpldapadmin界面化管理工具,创建组、组织单元、账户:
1) 创建一个组
点击dc=my-test,dc=chinaunicom-》创建一个子条目-》默认-》posixGroup-》RDN选择cn,cn框填写组名-》创建对象,本例为devops-dev-harbor;
2) 创建一个组织单元ou
点击cn=devops-dev-harbor-》创建一个子条目-》默认-》organizationalUnit-》RDN选择ou,ou框填写单元名-》创建对象
3) 创建一个用户
点击ou=users-》创建一个子条目-》默认-》inetOrgPerson-》RDN选择User Name(uid)-》cn框填写用户名,sn框填写中文名,设置密码,User Name
image
vim harbor.cfg
image
再harbor界面设置认证方式为ldap
image
另外,harbor1.6版本,还可以进行组的管理。
image
然后点击组管理。新增组
image
image
配置完成后,即可使用创建的账户登录harbor
image
注意:初次使用ldap的账户登录harbor后,认证模式就不可更改了。并且在用户管理中,可以看到刚刚登录的ldap用户(admin用户下)

权限设置

Openldap创建的用户是普通的用户,若想将该用户设置成管理员,需要登录harbor的超级管理员(admin)进行设置。
image
普通用户的页面如下:
image

第七章 Sonarqube集成ldap

参考博客
https://blog.csdn.net/neufeng2010/article/details/99655942
https://blog.csdn.net/BeauXie/article/details/81157330
https://blog.csdn.net/qq_21816375/article/details/80787993

安装启动sonarqube服务

安装包下载地址:https://www.sonarqube.org/downloads/。
版本要求7.2.1以上

修改sonar配置文件sonar.properties

1
$ vim /home/deployer/sonarqube-7.2.1/conf/sonar.properties

修改如下(请将具体信息按照自己的LDAP服务器信息进行修改):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# LDAP CONFIGURATION

# Enable the LDAP feature
sonar.security.realm=LDAP //取消注释

# Set to true when connecting to a LDAP server using a case-insensitive setup.
# sonar.authenticator.downcase=true

# URL of the LDAP server. Note that if you are using ldaps, then you should install the server certificate into the Java truststore.
ldap.url=ldap://192.168.117.132:389 //取消注释,填写实际ldap服务器地址

# Bind DN is the username of an LDAP user to connect (or bind) with. Leave this blank for anonymous access to the LDAP directory (optional)
ldap.bindDn=cn=Manager,dc=my-test,dc=chinaunicom //取消注释,填写实际ldap服务器基础DN

# Bind Password is the password of the user to connect with. Leave this blank for anonymous access to the LDAP directory (optional)
ldap.bindPassword=111111 //取消注释,填写实际ldap服务器基础DN密码

# Possible values: simple | CRAM-MD5 | DIGEST-MD5 | GSSAPI See http://java.sun.com/products/jndi/tutorial/ldap/security/auth.html (default: simple)
ldap.authentication=simple //取消注释

启动并查看启动日志
./sonar.sh console(可以实时查看sonarqube的启动日志)
如果报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Running SonarQube...
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
jvm 1 |
jvm 1 | 2019.08.19 07:44:17 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /home/deployer/sonarqube-7.2.1/temp
jvm 1 | 2019.08.19 07:44:17 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on /192.168.117.130:44172
jvm 1 | 2019.08.19 07:44:17 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/home/deployer/sonarqube-7.2.1/elasticsearch]: /home/deployer/sonarqube-7.2.1/elasticsearch/bin/elasticsearch -Epath.conf=/home/deployer/sonarqube-7.2.1/temp/conf/es
jvm 1 | 2019.08.19 07:44:17 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
jvm 1 | 2019.08.19 07:44:17 INFO app[][o.e.p.PluginsService] no modules loaded
jvm 1 | 2019.08.19 07:44:17 INFO app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
jvm 1 | 2019.08.19 07:44:19 WARN app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 1
jvm 1 | 2019.08.19 07:44:19 INFO app[][o.s.a.SchedulerImpl] Process [es] is stopped
jvm 1 | 2019.08.19 07:44:19 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped

出现上述错误原因是不能用root用户启动es
创建sonarUser用户并赋权

1
2
3
4
5
6
7
8
[root@i-vzdytl5t linux-x86-64]# adduser sonarUser
[root@i-vzdytl5t linux-x86-64]# passwd sonarUser
Changing password for user sonarUser.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@i-vzdytl5t linux-x86-64]# chown -R sonarUser:sonarUser sonarqube-7.2.1

再次启动sonarqube,若出现下图错误
image
删除sonarqube-7.2.1/temp目录下的所有文件即可
如果出现下述错误
image
切换到root用户,编辑limits.conf添加如下内容

1
2
3
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536

切换到root用户,编辑sysctl.conf

1
2
3
vim /etc/sysctl.conf
在文件最后添加一行
vm.max_map_count=262144

重新启动即可,出现下图即为成功安装了集成LDAP的sonarqube
image
打开sonar网址,输入LDAP中的用户名和密码后点击登录

汉化

点击界面上的Adminstration,然后选择Marketplace,在Plugins一栏,搜索Chinese Pack,然后点击insatll进行安装,如下所示:
image
安裝完成以后,点击页面上Restart按钮,重启服务器,如下图所示:
image
等待一会儿,重启完毕以后,会自动跳转到登录界面。输入admin/admin登录以后,便会看到汉化成功:
image
至此,SonarQube整合LDAP完成

第八章 Gitlab集成ldap

修改gitlab.rb文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
gitlab_rails['ldap_enabled'] = true

###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: '_your_ldap_server'
port: 389
uid: 'uid'
bind_dn: 'cn=Manager,dc=jichen,dc=chinaunicom'
password: '111111'
encryption: 'plain'
# "start_tls" or "simple_tls" or "plain"
# verify_certificates: true
# active_directory: true
allow_username_or_email_login: false
# lowercase_usernames: false
# block_auto_created_users: false
base: 'cn=devops-dev-gitlab,dc=jichen,dc=chinaunicom'
# user_filter: ''
# ## EE only
# group_base: ''
# admin_group: ''
# sync_ssh_keys: false
#
# secondary: # 'secondary' is the GitLab 'provider ID' of second LDAP server
# label: 'LDAP'
# host: '_your_ldap_server'
# port: 389
# uid: 'sAMAccountName'
# bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
# password: '_the_password_of_the_bind_user'
# encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
# verify_certificates: true
# active_directory: true
# allow_username_or_email_login: false
# lowercase_usernames: false
# block_auto_created_users: false
# base: ''
# user_filter: ''
# ## EE only
# group_base: ''
# admin_group: ''
# sync_ssh_keys: false
EOS