OpenShift 4 - 从 FreeIPA/RHIdM 向 RHSSO 同步用户和组
创始人
2024-03-18 02:41:43

《OpenShift / RHEL / DevSecOps / Ansible 汇总目录》
说明:本文已经在 OpenShift 4.11 环境中验证

文章目录

  • 安装 FreeIPA/RHIdM
  • 在 FreeIPA/RHIdM 中添加用户和组
  • 从 FreeIPA/RHIdM 向 RHSSO 同步用户和组
  • 参考

红帽 RHIdM 基于开源项目 FreeIPA,其内部提供 LDAP 功能可用来存储用户信息。本文将在 OpenShift 环境中配置从 FreeIPA/RHIdM 向 RHSSO 同步用户和组的配置数据。

说明:请先根据《OpenShift 4 - 利用 RHSSO 实现应用认证和访问授权》一文完成 kustomize 和 RHSSO 安装,并在 RHSSO 中完成创建用户和组的操作。

安装 FreeIPA/RHIdM

  1. 执行命令安装 kustomize 环境。
$ mkdir ~/kustomize && cd ~/kustomize
$ curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"  | bash
$ PATH=$PATH:~/kustomize
  1. 执行命令在 OpenShift 新建的项目 ipa 中先安装 freeipa 的 Template,然后在基于Template 部署容器环境。
$ oc new-project ipa
$ IMG=quay.io/freeipa/freeipa-openshift-container:latest
$ IMG_BASE=${IMG}$ git clone https://github.com/freeipa/freeipa-openshift-container.git && cd freeipa-openshift-container/
$ kustomize build deploy/admin | oc create -f -$ make template-create
$ make template-new-app
  1. 查看 freeipa 中的日志。注意 BaseDN 的内容,在后面会用到。
$ oc logs pod/freeipa -c init-container -f
...
[   ***] A start job is running for Configur… first start (6min 13s / no limit)
This program will set up IPA client.
Version 4.9.8Using existing certificate '/etc/ipa/ca.crt'.
Client hostname: ipa.apps.cluster-72c7x.72c7x.sandbox2951.opentlc.com
Realm: APPS.CLUSTER-72C7X.72C7X.SANDBOX2951.OPENTLC.COM
DNS Domain: apps.cluster-72c7x.72c7x.sandbox2951.opentlc.com
IPA Server: ipa.apps.cluster-72c7x.72c7x.sandbox2951.opentlc.com
BaseDN: dc=apps,dc=cluster-72c7x,dc=72c7x,dc=sandbox2951,dc=opentlc,dc=com
...
  1. 查看 freeipa 的运行状态直到 Running。
$ oc get pod freeipa -n ipa
NAME      READY   STATUS    RESTARTS   AGE
freeipa   1/1     Running   0          6m36s
  1. 查看 freeipa 的访问地址和 admin 用户的登录密码,然后访问管理控制台。
$ oc get route freeipa -o jsonpath='{.spec.host}' -n ipa
ipa.apps.cluster-72c7x.72c7x.sandbox2951.opentlc.com
$ oc get secret freeipa -n ipa -o go-template --template="{{.data.IPA_ADMIN_PASSWORD|base64decode}}"
Z6bzS-G1zrD-4UPqV-gfJ0m

在这里插入图片描述

在 FreeIPA/RHIdM 中添加用户和组

  1. 在 FreeIPA/RHIdM 控制台的 “身份” - “用户” 中添加一个用户。
    在这里插入图片描述
  2. 配置新用户登录名 - robert,名 - Robert,姓 - Garcia,并设置密码。
    在这里插入图片描述
  3. 在控制台的 “身份”-“用户组” 中添加一个组,组名 - special_staff,组类型 - 非POSIX。
    在这里插入图片描述
  4. 进入 robert 用户,进入到 “用户组”,点击“添加”。
    在这里插入图片描述
  5. 将 special_staff 组从左侧加到右侧区域。
    在这里插入图片描述

从 FreeIPA/RHIdM 向 RHSSO 同步用户和组

  1. 执行命令获取名为 freeipa 的 Secret 中 IPA_DM_PASSWORD 对应的内容。
$ oc get secret freeipa -n ipa -o go-template --template="{{.data.IPA_DM_PASSWORD|base64decode}}"
r2BVq-C8Bk6-qyiX5-Z_dzN
  1. 在 RHSSO 控制台中点击 User Federation 菜单,然后在右侧选择 ldap。
    在这里插入图片描述
  2. 在 Ldap 页面中按照以下配置设置。其中 cn=users,cn=accounts,dc=apps,dc=cluster-72c7x,dc=72c7x,dc=sandbox2951,dc=opentlc,dc=com 部分的后面是前面安装过程获得的 BaseDN,而 Bind Credential 为前面获得的 IPA_DM_PASSWORD 内容。
配置
Connection URLldap://freeipa-ldap.ipa.svc.cluster.local:389
Users DNcn=users,cn=accounts,dc=apps,dc=cluster-72c7x,dc=72c7x,dc=sandbox2951,dc=opentlc,dc=com
Bind DNcn=Directory Manager
Bind Credentialr2BVq-C8Bk6-qyiX5-Z_dzN

在这里插入图片描述

  1. 在 Save 后可以看到成功导入的提示:
    Success! Sync of users finished successfully. 1 imported users, 0 updated users
  2. 进入 Ldap 的 Mappers,然后点击 Create。
    在这里插入图片描述
  3. 按照下表设置 Gourp 配置。其中 cn=groups,cn=accounts,dc=apps,dc=cluster-72c7x,dc=72c7x,dc=sandbox2951,dc=opentlc,dc=com 部分的后面是前面安装过程获得的 BaseDN。
配置
LDAP Groups DNcn=groups,cn=accounts,dc=apps,dc=cluster-72c7x,dc=72c7x,dc=sandbox2951,dc=opentlc,dc=com
LDAP Filter(cn=special_staff)
ModeLDAP_ONLY
User Groups Retrieve StrategyGET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE
Groups Path/staff

在这里插入图片描述

  1. 按在 Save 后可以看到成功导入的提示:
    Success! Data synced successfully. 1 imported groups, 0 updated groups, 0 removed groups
  2. 在 RHSSO 的 Users 和 Groups 中可以看到从 FreeIPA/RHIdM 同步过来的用户和组。
    在这里插入图片描述
    在这里插入图片描述

参考

https://olleb.com/rhsso-workshop/federation.html

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...