OpenShift 4 之 配置基于Red Hat SSO的Identity Providers

文章目录

  • 安装并配置Red Hat SSO环境
    • 安装Red Hat SSO
    • 创建Realm
    • 创建用户
    • 创建Client
  • 为OpenShift创建和配置Identity Providers
    • 获取openshift-ingress-operator项目的证书
    • 创建基于Red Hat SSO的Identity Provider
  • 测试验证

安装并配置Red Hat SSO环境

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

安装Red Hat SSO

  1. 用集群管理员登录,然后进入OpenShift的Developer视图的“+Add”菜单。
  2. 在页面右侧的Project中Creat一个名为sso-app-demo的项目。
  3. 在右侧进入下图中“From Catalog”区域。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第1张图片
  4. 在Type中选中Template,然后查找“Single Sign-On”关键字,在找到的结果中进入“Red Hat Single Sign-On 7.3 + MySQL (Persistent)”。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第2张图片
  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 之 配置基于Red Hat SSO的Identity Providers_第3张图片

创建Realm

  1. 点击上图中sso应用的Route就进入Red Hat SINGLE SIGN ON的欢迎页面,然后点击Administation Console链接就来到登录页面,用admin/admin登录。
  2. 在菜单区中点击Master右侧的下拉,然后点击Add realm。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第4张图片
  3. 在Add realm界面中设置Name为OpenShift,然后点击Create按钮。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第5张图片
  4. 此时页面会显示新建的OpenShift Realm的General信息,然后点击Endpoints后面框中的“OpenID Endpoint Configuration”链接。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第6张图片
  5. 在新弹出的页面中找到"issuer"后面的字符创"https://sso-sso-app-demo.apps.cluster-anhui-582d.anhui-582d.example.opentlc.com/auth/realms/OpenShift",这就是就是后面在配置Identity Providers会用到的“Issuer URL”。
    在这里插入图片描述

创建用户

  1. 点击左侧菜单中的Users链接,然后再找到“Add user”按钮点击进入。
  2. 在“Add user”页面中将Username设为test-user ,然后点击Save按钮。
  3. 此时进入Credentials标签,先设置testuser用户对应的密码,然后关闭Temporary选项,最后点击Reset Password按钮,并在弹出窗口中确认修改密码。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第7张图片

创建Client

  1. 通过左侧菜单进入Clients的配置页面,然后在Clients页面中点击右侧的Create按钮。
  2. 在Add Client界面中设置Client ID为openshift-demo,然后点击Save。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第8张图片
  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 之 配置基于Red Hat SSO的Identity Providers_第9张图片

为OpenShift创建和配置Identity Providers

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

  1. 用集群管理员进入OpenShift的Administrator视图,然后找到名为openshift-ingress-operator的项目,通过左侧菜单进入该项目的Workloads -> Secrets。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第10张图片
  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 之 配置基于Red Hat SSO的Identity Providers_第11张图片
  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 之 配置基于Red Hat SSO的Identity Providers_第12张图片
  5. 继续在该页面的下方,为“CA File”设为以前保存的route.ca.crt文件。最后点击Add按钮。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第13张图片

测试验证

  1. 退出OpenShift控制台,然后重新登录OpenShift控制台。确认此时登录页面已经显示出有2个Identity Provider。点击下图中的openid。OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第14张图片
  2. 用testuser和对应的密码登录。OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第15张图片
  3. 查看testuser下的OpenShift Console。由于是新建用户,所以看不到项目。
  4. (此步需在OpenShift 4.3及以上版本环境)重新使用passwd_provider和集群管理员身份登录OpenShift Console。然后进入“User Management” -> Users,确认可以看到我们在Red Hat SSO中创建的testuser用户。
    OpenShift 4 之 配置基于Red Hat SSO的Identity Providers_第16张图片

你可能感兴趣的:(安全,OpenShift,4)