OpenShift 4 HOL (14) - 配置基於RedHat 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 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


分享到:


相關文章: