Rancher 系列文章-Rancher 对接 Active Directory 实战
概述
只要是个公司,基本上都有邮箱和 AD(Active Directory). 在 AD 里,已经有了:
- 用户
- 账号密码
- 邮箱
- 用户组
- 组织架构
所以对于一些仅限于本公司一定范围内人员使用的管理或后台或运营运维类系统,其实是非常适合对接 AD 来进行认证、分组,以及根据分组来进行权限分配的。
对于 Rancher,假设使用者只会有这么几类:
- 管理员:运维部门
- 项目管理员: 项目负责人
- 使用者: 开发
- 只读用户: 其他人员
那么就可以直接对接 AD 来实现认证、登录、分组、授权。
️Reference:
这使 Rancher 管理员可以对外部用户系统中的用户和组进行集群和项目的访问控制,同时允许最终用户在登录 Rancher UI 时使用其 Active Directory 凭据进行身份验证。
AD 账号申请
首先必须从邮箱管理员或 AD 管理员那申请一个新的 AD 用户,以用作 Rancher 的服务账户。此用户需要的权限是:
- 可以搜索、读取(只读即可) AD 域下的用户和组,及其属性 (比如至少要有 运维部门/开发部门/项目部门相关 OU 下的权限)
配置步骤
详细的步骤直接查看这里:对接 Active Directory | Rancher 文档
这里结合个人的实践说一些实用技巧:
AD 服务器参数
- 服务帐户 (service account) 用户名:就是 AD 管理员提供给你的 CN, 这里可能会给到你这样的一个串:
CN=RancherSA,OU=ApplicationAccount,DC=example,DC=com
, 那么就只需要填写RancherSA
就好了。 - 用户搜索库:如果 运维部门/开发部门/项目部门 都在 IT 部之下,IT 部的 OU 是:
OU=ITDepartment,DC=example,DC=com
, 那么就填写这个。 - 用户组搜索库:这里折腾了很久,你一定要规划清楚要根据什么维度来划分用户组,并且该用户组对应的
objectClass
是什么,而且该objectClass
一定要有member
这样的属性和用户来关联。
关于用户组的确认,我使用 JXplorer 来进行详细的分析和查看,具体如下:
JXplorer
这里我使用 AD Client - JXplorer
登录截图如下:
关于用户组,当初是想直接使用组织架构来作为用户组,组织架构的信息如下:
objectClass: organizationalUnit
- 虽然从下图来看,组织架构 和 用户是有层次关系的,但是,在其属性中,
member
却为空!
所以,这个是不能用作用户组的.
如果用了这个,并根据用户组来配置权限,那么权限是无法通过用户组来映射到具体的用户的。
第二个选项,是想用邮件组 (mail group)作为用户组,邮件组的信息如下:
objectClass: group
member
和用户 (objectClass: person
) 是关联的。如下图:
如上,那么是可以将邮件组 (mail group)作为用户组。而且注意,邮件组是位于另外一个 OU 的,具体为:OU=Mail Group,DC=example,DC=com
综上,用户组搜索库最终为:OU=Mail Group,DC=example,DC=com
配置用户
这里还是通过 JXplorer, 点击具体的一个人,查看其属性信息,示例如下图:
- 对象类:
person
或user
都可以 - 用户名属性:
name
或cn
都可以 - 登录属性:一般都为
sAMAccountName
, 如果想要使用邮箱登录,就是userPrincipalName
- 搜索属性:
sAMAccountName|sn|giverName
(默认值)(可以通过使用管道 (“|”) 符号分隔属性来指定多个属性。) - 用户启用属性:
userAccountControl
(默认值)
配置组
- 对象类:
group
(邮件组) - 名称属性:
name
- 用户组成员属性:
distinguishedName
(默认值) - 用户组成员映射属性:
member
- 用户组域名属性:
name
测试身份验证
这里填写管理员账号对应的 AD 账号。验证成功该 AD 账号直接就是管理员级别的权限.
授权组
至此,就可以根据用户组来进行授权,如下图:
集群级别授权
可以根据用户组来对集群级别进行授权,如下图:
项目级别授权
可以根据用户组来对项目级别进行授权,如下图:
系列文章
️参考文档
三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.
Rancher 系列文章-Rancher 对接 Active Directory 实战的更多相关文章
- windows server 2012 AD 活动目录部署系列(七)Active Directory 的授权还原
域内所有的域控制器都有一个内容相同的Active Directory,而且 Active Directory 的内容是动态平衡的,也就是说任何一个域控制器修改了 Active Directory,其他 ...
- install Active Directory域控制器
设置Active Directory域控制器 正如我们在网络与系统配置专题文章中所提到的那样,我们已将两部服务器设置为对应于内部域“intdomain.com”的Active Directory域控制 ...
- SharePoint 2013技巧分享系列 - Active Directory同步显示用户照片
为了保持通讯信息的一致性,需要设置SharePoint,Exchange, Lync等信息同步更新显示,例如,员工头像信息. 本文介绍如何在SharePoint 2013中同步显示Active Dir ...
- 【Flutter 实战】17篇动画系列文章带你走进自定义动画
老孟导读:Flutter 动画系列文章分为三部分:基础原理和核心概念.系统动画组件.8篇自定义动画案例,共17篇. 动画核心概念 在开发App的过程中,自定义动画必不可少,Flutter 中想要自定义 ...
- Velero系列文章(四):使用Velero进行生产迁移实战
概述 目的 通过 velero 工具, 实现以下整体目标: 特定 namespace 在B A两个集群间做迁移; 具体目标为: 在B A集群上创建 velero (包括 restic ) 备份 B集群 ...
- Active Directory网域
Active Directory网域 3.1Windows网络的管理方式 3.1.1工作组模式 工作组由一组用网络连接在一起的计算机组成,他们将计算机内的资源共享给用户访问.工作组网络也被称为“对等式 ...
- Windows Azure Active Directory (1) 前言 - 基于声明的验证和授权
<Windows Azure Platform 系列文章目录> 在我们介绍整套系统架构之前,我们需要首先定义一些基本的概念. 用户及其属性: 用户值得是要使用某项服务的个体.用户一般都有一 ...
- Windows Azure Active Directory (2) Windows Azure AD基础
<Windows Azure Platform 系列文章目录> Windows Azure AD (WAAD)是Windows Azure提供的一个REST风格的服务,为您的云服务提供了身 ...
- Windows Azure Active Directory (3) China Azure AD增加新用户
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 本文是对笔者之前的文档:Windows Azure Active ...
- Windows Azure Active Directory (4) China Azure AD Self Password Reset
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 在开始本章内容之前,请读者熟悉笔者之前写的文档: Windows ...
随机推荐
- GAN的两种训练方式,以及梯度求导问题——detch(),retain_graph
http://t.zoukankan.com/LXP-Never-p-13951578.html detach():截断node反向传播的梯度流,将某个node变成不需要梯度的Varibale,因此当 ...
- mysql零基础-1
数据库概述 为什么要使用数据库 持久化 DB:数据库 DBMS:数据库管理系统 SQL:结构化查询语言 数据库与数据库管理系统关系 数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一 ...
- C++11:初始化列表
在老版本的C++中,我们可以比较方便得对结构体.数组等对象利用{}进行初始化,而类变量的初始化则取决于构造函数的形式,例如: struct A { int a, b, c; }; class Foo ...
- 关于SSD硬盘
2月份,看到Netac的SSD硬盘便宜,入手一个720G的,把原来的三星250G换掉,有时感觉机器会卡,一直没注意,最近更新一个英睿达的MX系列500G放电脑里用,毕竟杂牌做主硬盘不放心.就把Neta ...
- idea警告 breakpoints dramatically slow down
idea启动项目提示的黄色警告 , 其实就是有地方断点之后 , 影响项目运行速 打开断点管理 , 查看具体是哪个影响了 , 断点不需要了及时取消
- Docker+jenkins 运行 python 自动化
一.实现思路 在 Linux 服务器安装 docker 创建 jenkins 容器 根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境) 运行新的 python 容器,执行 ...
- C/C++ 顺序表的初始化、添加、插入、删除(删除顺序表中指定的所有元素)
#include <iostream> #include <stdlib.h> #define MAX_SIZE 100 using namespace std; typede ...
- xlsx合并单元格简单介绍
在使用xlsx导出excel表格的时候,有时候我们需要将某些表格进行合并,该如何做呢,代码如下: import XLSX from 'xlsx'; // ... // xlsxData 是 Excel ...
- VMware安装Rocky Linux8服务器系统并执行优化,包括修改安装镜像源、ssh免密等等
1. https://blog.csdn.net/DCTANT/article/details/125430461?utm_medium=distribute.pc_relevant.none-tas ...
- conda Installing on Linux - 搬运
转自:Installing on Linux - conda 23.1.0 documentation Installing on Linux Download the installer: Min ...