OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Pro

安装并配置Red Hat SSO环境

环境要求:OpenShift 4.2及其式样版本。

安装Red Hat SSO

1. 用集群管理员登录,然后进入OpenShift的Developer视图的“+Add”菜单。

2. 在页面右侧的Project中Creat一个名为sso-app-demo的项目。

3. 在右侧进入下图中“From Catalog”区域。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

4. 找到“Red Hat Single Sign-On 7.3 + MySQL (Persistent)”,然后点击进入。

5. 在安装提示中点击“Instantiate Template”,然后将“RH-SSO Administrator Username”和“RH_SSO Administrator Password”都设置为admin,然后点击Create。

6. 当Red Hat Single Sign-On模板安装完后,在Topology中看到sso应用和sso-mysql数据库为以下状态。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

创建Realm

7. 点击上图中sso应用的Route就进入Red Hat SINGLE SIGN ON的欢迎页面,然后点击Administation Console链接就来到登录页面,用admin/admin登录。

8. 在菜单区中点击Master右侧的下拉,然后点击Add realm。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

9. 在Add realm界面中设置Name为OpenShift,然后点击Create按钮。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

10. 此时页面会显示新建的OpenShift Realm的General信息,然后点击Endpoints后面框中的“OpenID Endpoint Configuration”链接。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

11. 在新弹出的页面中找到"issuer"后面的字符创"https://sso-sso-app-demo.apps.cluster-anhui-582d.anhui-582d.example.opentlc.com/auth/realms/OpenShift",这就是就是后面在配置Identity Providers会用到的“**Issuer URL**”。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

创建用户

1. 点击左侧菜单中的Users链接,然后再找到“Add user”按钮点击进入。

2. 在“Add user”页面中将Username设为test-user ,然后点击Save按钮。

3. 此时进入Credentials标签,先设置testuser用户对应的密码,然后关闭Temporary选项,最后点击Reset Password按钮,并在弹出窗口中确认修改密码。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

创建Client

1. 通过左侧菜单进入Clients的配置页面,然后在Clients页面中点击右侧的Create按钮。

2. 在Add Client界面中设置Client ID为openshift-demo,然后点击Save。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

3. 在openshift-demo的Settings页面中先将“Access Type”改为confendial,再将“Valid Redirect URs”设为“https://oauth-openshift.apps.cluster-anhui-582d.anhui-582d.example.opentlc.com/*”。最后Savel按钮。

4. 此时会在openshift-demo的配置页面中出现一个新的Credentials标签。我们进入Credentials页面,然后复制**Secret**后面的字符串。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

为OpenShift创建和配置Identity Providers

获取openshift-ingress-operator项目的证书

1. 用集群管理员进入OpenShift的Administrator视图,然后找到名为openshift-ingress-operator的项目,通过左侧菜单进入该项目的Workloads -> Secrets。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

2. 在上图的右侧找到**router_ca**一行,然后点击进入。

3. 在名为router-ca的配置页面中找到Data区域,然后复制“tls.crt”下面的字符串(证书字符创)并保存到名为“**route.ca.crt**”的文本文件。

创建基于Red Hat SSO的Identity Provider

1. 进入OpenShift Console左侧的Administration菜单,然后点击进入Cluster Setting页面。

2. 在Cluster Settings页面中进入Global Configuration标签,然后在右侧找到**OAuth**链接进入即可。

3. 在以下界面中点击Add下拉,然后选择“OpenID Connect”。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

4. 在“Add Indentity Provider:OpenID Connect”配置界面中为“Client ID”设为以前在Red Hat SSO中创建的openshift-demo;将“Client Secret”设为以前复制的Secret字符串;将“Issurer URL”设为以前找到的Issurer字符串"https://sso-sso-app-demo.apps.cluster-anhui-582d.anhui-582d.example.opentlc.com/auth/realms/OpenShift"。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

5. 继续在该页面的下方,为“CA File”设为以前保存的route.ca.crt文件。最后点击Add按钮。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

测试验证

1. 退出OpenShift控制台,然后重新登录OpenShift控制台。确认此时登录页面已经显示出有2个Identity Provider。点击下图中的openid。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

2. 用testuser和对应的密码登录。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider

3. 查看testuser下的OpenShift Console。由于是新建用户,所以看不到项目。

4. (此步需在OpenShift 4.3及以上版本环境)重新使用passwd_provider和集群管理员身份登录OpenShift Console。然后进入“User Management” -> Users,确认可以看到我们在Red Hat SSO中创建的testuser用户。

OpenShift 4 HOL (14) - 配置基于RedHat SSO的Identity Provider


分享到:


相關文章: