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

安裝並配置Red Hat SSO環境

環境要求:OpenShift 4.2及其式樣版本。

安裝Red Hat SSO

  1. 用集羣管理員登錄,然後進入OpenShift的Developer視圖的“+Add”菜單。
  2. 在頁面右側的Project中Creat一個名爲sso-app-demo的項目。
  3. 在右側進入下圖中“From Catalog”區域。
    在這裏插入圖片描述
  4. 在Type中選中Template,然後查找“Single Sign-On”關鍵字,在找到的結果中進入“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數據庫爲以下狀態。
    在這裏插入圖片描述

創建Realm

  1. 點擊上圖中sso應用的Route就進入Red Hat SINGLE SIGN ON的歡迎頁面,然後點擊Administation Console鏈接就來到登錄頁面,用admin/admin登錄。
  2. 在菜單區中點擊Master右側的下拉,然後點擊Add realm。
    在這裏插入圖片描述
  3. 在Add realm界面中設置Name爲OpenShift,然後點擊Create按鈕。
    在這裏插入圖片描述
  4. 此時頁面會顯示新建的OpenShift Realm的General信息,然後點擊Endpoints後面框中的“OpenID Endpoint Configuration”鏈接。
    在這裏插入圖片描述
  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按鈕,並在彈出窗口中確認修改密碼。
    在這裏插入圖片描述

創建Client

  1. 通過左側菜單進入Clients的配置頁面,然後在Clients頁面中點擊右側的Create按鈕。
  2. 在Add Client界面中設置Client ID爲openshift-demo,然後點擊Save。
    在這裏插入圖片描述
  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創建和配置Identity Providers

獲取openshift-ingress-operator項目的證書

  1. 用集羣管理員進入OpenShift的Administrator視圖,然後找到名爲openshift-ingress-operator的項目,通過左側菜單進入該項目的Workloads -> Secrets。
    在這裏插入圖片描述
  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”。
    在這裏插入圖片描述
  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"。
    在這裏插入圖片描述
  5. 繼續在該頁面的下方,爲“CA File”設爲以前保存的route.ca.crt文件。最後點擊Add按鈕。
    在這裏插入圖片描述

測試驗證

  1. 退出OpenShift控制檯,然後重新登錄OpenShift控制檯。確認此時登錄頁面已經顯示出有2個Identity Provider。點擊下圖中的openid。在這裏插入圖片描述
  2. 用testuser和對應的密碼登錄。在這裏插入圖片描述
  3. 查看testuser下的OpenShift Console。由於是新建用戶,所以看不到項目。
  4. (此步需在OpenShift 4.3及以上版本環境)重新使用passwd_provider和集羣管理員身份登錄OpenShift Console。然後進入“User Management” -> Users,確認可以看到我們在Red Hat SSO中創建的testuser用戶。
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章