AWS托管AD配置

具体创建过程不再赘述, 这里使用我之前创建好的一个AD, 主要是记录下来AD的两个DNS地址, 可以从控制台中查看到
在这里插入图片描述

EC2实例配置

先使用Amazon Linux 2 AMI启动一台新的实例, 主要的服务都在这台实例上完成, SSH连上以后进行下面操作

# 懒得装docker了, 直接本地装mariadb
sudo amazon-linux-extras install mariadb10.5
# 开启mariadb服务
sudo systemctl enable mariadb --now
# 设置root密码
sudo mysqladmin -u root password abc123
# 创建数据库
mysql -uroot -p
MariaDB [(none)]> create database Yearning;
# 下载Yearning最新release
wget https://github.com/cookieY/Yearning/releases/download/2.3.5/Yearning-2.3.5-linux-amd64.zip
# 解压
unzip Yearning-2.3.5-linux-amd64.zip -d yearning
# 修改配置文件密码改成abc123, 修改SecretKey(增强安全)
cd yearning
vim conf.toml
# 初始化数据库
./Yearning install
# 初始化成功! 用户名: admin 密码:Yearning_admin
# 启动Yearning平台, 默认跑在8000端口
./Yearning run

客户端访问测试一下
在这里插入图片描述
使用用户名: admin 密码:Yearning_admin登录发现失败, 检查数据库发现account表里面是空的

MariaDB [Yearning]> select * from core_accounts;
Empty set (0.000 sec)

先停了服务, 重新手工执行插入admin用户的SQL

MariaDB [Yearning]> INSERT INTO `core_accounts` (`username`,`password`,`rule`,`department`,`real_name`,`email`) VALUES ('admin','pbkdf2_sha256$120000$4goE1vXjrYy9$GeImPV3gFpwuTq2EwImxFeceHG/YrN21/Mmk6itu4/U=','super','DBA','','')

Query OK, 1 row affected (0.001 sec)

再重启服务后登录成功, 看来最好还是用MySQL吧, MariaDB默认的encoding跟MySQL还是不太一样, 可能导致出现兼容问题.
在这里插入图片描述
到这里Yearning平台算是先支棱起来了, 接下来开始处理实例跟aws托管AD的连通

# 修改系统DNS
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 末尾添加:
DNS1=172.31.0.105
DNS2=172.31.44.2
# 重启network让DNS生效
sudo systemctl restart network
# ping一下AD域名解析成功
PING ad.alian.fun (172.31.44.2) 56(84) bytes of data.
64 bytes from ad.alian.fun (172.31.44.2): icmp_seq=1 ttl=128 time=0.761 ms

# 安装ldap客户端测试工具
sudo yum install openldap-clients -y
# 测试实例到AD的ldap服务, 注意-D后面使用的是托管AD默认的管理员账号admin
ldapsearch -x -L -h ad.alian.fun -D admin -w mypassword -b "DC=ad,DC=alian,DC=fun" cn
# 可以正确拿到一大堆AD里面的返回信息说明ldap连通成功

接下来回到Yearning的Web管理后台配置LDAP

服务地址url: ad.alian.fun:389
[不启用ldaps]
LDAP管理员DN: CN=Admin,OU=Users,OU=ALIAN,DC=ad,DC=alian,DC=fun
LDAP管理员密码: mypassword
LDAP_Search filter: (&(objectClass=organizationalPerson)(sAMAccountName=%s))
LDAP_SCBASE: DC=ad,DC=alian,DC=fun

在这里插入图片描述
测试成功后记得翻到页面底部点击保存按钮
在这里插入图片描述
退出admin登录后使用AD中的普通用户登录, 记得勾选上ldap登录选项
在这里插入图片描述
登录成功!
在这里插入图片描述
再切换用admin账户登录后台管理用户, 可以看到AD里面登录过的用户已经加到了系统中
在这里插入图片描述

附录: AD中的缩写

DN = Distinguish Name
CN = Common Name
OU = Organizational Unit
DC = Domain Component

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐