作为Percona云团队的一员,我跑了雷竞技下载官网很多Kubernetes和我们的数据库雷竞技下载官网Percona运营商对MongoDB在特定的。我们大多数人感到满意,而小而整洁的基础设施,这是容易控制和操作。然而,组织的自然增长带来很多挑战解决,特别是在上下文的访问管理。我们都在那里,每一个新的账户需要特定于平台的努力增加基础设施支持的运营成本。这样的负担可以解决基于ldap的像OpenLDAP软件,微软活动目录,等等,作为真理的来源认证/授权过程。让我们深入的细节雷竞技下载官网MongoDB Percona分布由Kubernetes运营商管理可以连接到LDAP服务器。
环境
我们的场景是基于OpenLDAP服务器的集成和MongoDB Percona分布和相应的Kubernetes算子。雷竞技下载官网我们要保持尽可能简单的设置因此没有复杂域关系将被罗列在这。
OpenLDAP
在OpenLDAP一边可以使用以下设置:
|
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
|
0-雷竞技下载官网percona-ous<年代pan class="crayon-o">。
ldif
:| -
dn
:ou =雷竞技下载官网 perconadba
,dc = ldap<年代pan class="crayon-o">,dc =当地
对象类
:organizationalUnit
欧
:p雷竞技下载官网erconadba
1-雷竞技下载官网percona-users<年代pan class="crayon-o">。
ldif
:| -
dn
:uid =雷竞技下载官网 percona
,ou 雷竞技下载官网= perconadba<年代pan class="crayon-o">,dc = ldap<年代pan class="crayon-o">,dc =当地
对象类
:上
对象类
:账户
对象类
:posixAccount
对象类
:shadowAccount
cn
:p雷竞技下载官网ercona
uid
:p雷竞技下载官网ercona
uidNumber
:1100
gid号
:100
homeDirectory
:/home/p雷竞技下载官网ercona
loginShell
:/bin/bash
gecos
:p雷竞技下载官网ercona
userPassword
:
{地下室<年代pan class="crayon-o">}x
shadowLastChange
:1
shadowMax
:1
shadowWarning
:1
2-group-cn<年代pan class="crayon-o">。
ldif
:| -
dn
:cn = admin
,ou 雷竞技下载官网= perconadba<年代pan class="crayon-o">,dc = ldap<年代pan class="crayon-o">,dc =当地
cn
:管理
对象类
:groupOfUniqueNames)
对象类
:上
欧
:p雷竞技下载官网erconadba
uniqueMember
:uid =雷竞技下载官网 percona
,ou 雷竞技下载官网= perconadba<年代pan class="crayon-o">,dc = ldap<年代pan class="crayon-o">,dc =当地
|
同时,应该创建一个只读用户database-issued用户查找。
如果一切都正确,下面的命令应该工作
|
1
|
美元
ldappasswd
- - - - - -
年代
雷竞技下载官网
- - - - - -
D
“cn = admin, dc = ldap, dc =当地”
- - - - - -
w
密码
- - - - - -
x
“uid 雷竞技下载官网= percona, ou = perconadba, dc = ldap, dc =当地”
|
数据库
雷竞技下载官网MongoDB Percona运营商将在Kubernetes做所有的工作。您可以使用任何受支持的平台系统需求。
为了得到MongoDB与OpenLDAP我们需要配置:
- Mongod
- 内部mongodb的作用
至于mongod你可以使用下面的配置代码片段:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
安全
:
授权
:
“启用”
ldap
:
authz
:
queryTemplate
:
“{USER} memberOf ?基地”
服务器
:
“openldap”
transportSecurity
:
没有一个
绑定
:
queryUser
:
“cn =只读的,dc = ldap, dc =当地”
queryPassword
:
“密码”
userToDNMapping
:
”<年代pan class="crayon-sy">(
{
匹配
:
“(+)”
,
ldapQuery
:
“OU 雷竞技下载官网= perconadba, DC = ldap, DC =地方? ?子? (uid = {0})”
}
]”
setParameter
:
authenticationMechanisms
:
“平原,SCRAM-SHA-1”
|
的内部代码片段是另一篇博文的主题,。基本上,我们提供mongod ldap-specific参数像ldap服务器的域名(“服务器”),明确查找用户,域规则等。
把本地机器上的代码片段,创建Kubernetes秘密对象命名的MongoDB集群名称在Kuberne雷竞技下载官网tes安装MongoDB Percona服务器。<年代pan style="font-weight: 400;">
|
1
|
美元
kubectl
创建
秘密
通用的
<
your_cluster_name
>
- - - - - -
rs0
- - - - - -
mongod
- - -
从
- - - - - -
文件
=
mongod
. conf
=
<
路径
- - - - - -
来
- - - - - -
mongod
- - - - - -
ldap
- - - - - -
配置
>
|
雷竞技下载官网MongoDB Percona算子是能够通过自定义配置从这些Kubernetes对象:自定义资源,ConfigMap,秘密。因为我们要使用一些安全敏感信息,我们找错Kubernetes秘密。
下一步是启动MongoDB集群中所描述的在Kuberne雷竞技下载官网tes安装MongoDB Percona服务器。
在成功完成步骤的医生,我们要继续在MongoDB设置LDAP用户的角色。让我们以管理员身份登录到MongoDB和执行:
|
1
2
3
4
5
6
7
8
|
var
管理
=
db
.getSiblingDB
(
“admin”
)
管理
.createRole
(
{
角色
:
“ou 雷竞技下载官网= perconadba, dc = ldap, dc =当地”
,
特权
:
(
]
,
角色
:
(
“userAdminAnyDatabase”
]
}
)
|
现在我们的雷竞技下载官网用户创建在OpenLDAP能够以管理员身份登录到MongoDB。请替换< mongodb-rs-endpoint >使用有效的复制设置域名。
|
1
|
美元
蒙戈
- - -
用户名
雷竞技下载官网
- - -
密码
“雷竞技下载官网percona”
- - -
authenticationMechanism
“普通”
- - -
authenticationDatabase
“外部美元”
- - -
主机
<
mongodb
- - - - - -
rs
- - - - - -
端点
>
- - -
港口
27017年
|
限制
雷竞技下载官网Percona运营商仅供MongoDB支持加密MongoDB和LDAP服务器之间传输此刻写这篇博客。我们会尽力把这种特性在未来,同时随时使用它在安全轻松的场景。
结论
这个博客描述只有一个可能的情况下在一个巨大的各种可能的组合。相当简单,把讨论的话题不像TLS安全运输设置中,目录设计,等等。我们鼓励你尝试MongoDB LDAP集成描述的概念,开发环境设置,等等。,安全问题就不那么苛刻。不要犹豫带来更多的复杂性与复杂的目录结构,用户特权计划,等等。如果你发现你自己的配置与社区有趣和值得分享,请访问我们的雷竞技下载官网Percona社区论坛。我们将高兴地检查您的结果。
玩得开心雷竞技下载官网Percona运营商对MongoDB!





