設定 Azure Red Hat OpenShift 4 叢集的 Microsoft Entra 驗證 (入口網站)

如果您選擇在本機安裝和使用 CLI,本教學課程會要求您執行 Azure CLI 2.6.0 版或更新版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱 安裝 Azure CLI

開始之前

建構叢集的 OAuth 回呼 URL ,並記下它。 請務必以資源組名取代 aro-rg,並以叢集的名稱取代 aro-cluster

注意

AAD OAuth 回呼 URL 中的區段應該符合您稍後將設定的 OAuth 識別提供者名稱。

domain=$(az aro show -g aro-rg -n aro-cluster --query clusterProfile.domain -o tsv)
location=$(az aro show -g aro-rg -n aro-cluster --query location -o tsv)
echo "OAuth callback URL: https://oauth-openshift.apps.$domain.$location.aroapp.io/oauth2callback/AAD"

建立 Microsoft Entra 應用程式以進行驗證

登入 Azure 入口網站,並流覽至 [應用程式註冊] 刀鋒視窗,然後按兩下 [新增註冊] 以建立新的應用程式。

提供應用程式的名稱,例如 aro-azuread-auth,並使用您稍早擷取的 OAuth 回呼 URL 值填入 重新導向 URI

New application registration

流覽至 [ 憑證和秘密 ],然後按兩下 [ 新增客戶端密碼 ],然後填入詳細數據。 記下機碼值,因為您將在稍後的階段使用它。 您將無法再次擷取它。

Create a secret

流覽至 [ 概觀 ],並記下 應用程式 (用戶端) 識別碼目錄 (租使用者) 識別碼。 您將在稍後階段需要它們。

Retrieve Application (client) and Directory (tenant) IDs

設定選擇性宣告

應用程式開發人員可以在其 Microsoft Entra 應用程式中使用 選擇性宣告 ,以指定要在傳送至應用程式之令牌中的宣告。

您可以使用選擇性宣告來:

  • 選取要包含在應用程式之權杖中的額外宣告。
  • 變更 Microsoft Entra ID 在令牌中傳回之特定宣告的行為。
  • 新增和存取應用程式的自訂宣告。

我們將設定 OpenShift 以使用 email 宣告,並切換回來 upn 設定慣用的用戶名稱,方法是將 新增 upn 為 Microsoft Entra ID 所傳回的標識碼令牌的一部分。

流覽至 [ 令牌設定 ],然後按兩下 [ 新增選擇性宣告]。 選取 [ 標識符 ], 然後檢查電子郵件upn 宣告。

Screenshot that shows the email and upn claims that were added.

將使用者和群組指派給叢集 (選擇性)

根據預設,在 Microsoft Entra 租用戶中註冊的應用程式可供成功驗證的租使用者所有使用者使用。 Microsoft Entra ID 可讓租用戶系統管理員和開發人員將應用程式限制為租使用者中的一組特定使用者或安全組。

請遵循 Microsoft Entra 檔上的指示, 將使用者和群組指派給應用程式

設定 OpenShift OpenID 驗證

擷取認證 kubeadmin 。 執行下列命令來尋找用戶的密碼 kubeadmin

az aro list-credentials \
  --name aro-cluster \
  --resource-group aro-rg

下列範例輸出顯示密碼將會在 中 kubeadminPassword

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

您可以執行下列命令來尋找叢集控制台 URL,其看起來會像這樣 https://console-openshift-console.apps.<random>.<region>.aroapp.io/

 az aro show \
    --name aro-cluster \
    --resource-group aro-rg \
    --query "consoleProfile.url" -o tsv

在瀏覽器中啟動主控台 URL,並使用 kubeadmin 認證登入。

流覽至 [管理員 istration],按兩下 [叢集 設定],然後選取 [組態] 索引卷標。捲動以選取 [OAuth]。

向下卷動以選取 [識別提供者] 下的 [新增],然後選取 [OpenID 連線]。 Select OpenID Connect from the Identity Providers dropdown

將名稱填入為 Microsoft Entra ID用戶端識別碼 作為 應用程式識別碼客戶端密碼。 簽發 者 URL 的格式如下: https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0。 將佔位元元取代為您稍早擷取的租用戶標識碼。

Fill in OAuth details

向下捲動至 [宣告] 區段,並更新 [慣用的用戶名稱] 以使用 upn 宣告中的值

Fill in claims details

透過 Microsoft Entra 識別碼確認登入

如果您現在註銷 OpenShift Web 控制台並嘗試再次登入,您將會看到使用 Microsoft Entra ID 登入的新選項。 您可能需要等候幾分鐘。

Login screen with Microsoft Entra option

注意

如果您遇到「AADSTS50011:要求中指定的重新導向 URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx 不符合已設定的重新導向 URI」之類的錯誤,您可以在重新導向 URI 未正確設定時遵循疑難解答指南 Azure AD (OIDC) 登入失敗,以解決此問題。