共用方式為


將映像從容器登錄提取至不同 Microsoft Entra 租用戶中的 AKS 叢集

在某些情況下,您的 Azure AKS 叢集可能位於一個 Microsoft Entra 租用戶中,而您的 Azure 容器登錄可能位於不同租用戶中。 此文章將逐步解說使用從容器登錄中提取的 AKS 服務主體認證,來啟用跨租用戶驗證的步驟。

注意

當叢集和容器登錄位於不同租用戶時,您無法連結登錄並使用 AKS 受控識別進行驗證。

案例概觀

這個範例假設:

  • AKS 叢集位於租用戶 A 中,而 Azure 容器登錄位於租用戶 B 中。
  • AKS 叢集在租用戶 A 中設定了服務主體驗證。深入了解如何建立和使用您的 AKS 叢集的服務主體

您至少需要 AKS 叢集訂用帳戶中的參與者角色,以及容器登錄訂用帳戶中的擁有者角色。

您可以使用下列步驟:

  • 租用戶 A 中建立新的多租用戶應用程式 (服務主體)。
  • 租用戶 B 中佈建應用程式。
  • 設定服務主體,以從租用戶 B 中的登錄提取
  • 更新租用戶 A 中的 AKS 叢集,以使用新的服務主體進行驗證

逐步指示

步驟 1:建立多租用戶 Microsoft Entra 應用程式

  1. 租用戶 A 中登入 Azure 入口網站

  2. 搜尋並選取 Microsoft Entra ID

  3. 在 [管理] 底下,選取 [應用程式註冊] > [+ 新增註冊]

  4. 在 [支援的帳戶類型] 中,選取 [任何組織目錄中的帳戶]

  5. 在 [重新導向 URI] 中,輸入 https://www.microsoft.com

  6. 選取註冊

  7. 在 [概觀] 頁面上,記下 [應用程式 (用戶端) 識別碼]。 您將會在步驟 2 和步驟 4 中加以使用。

    Service principal application ID

  8. 在 [憑證與秘密] 的 [用戶端密碼] 下,選取 [+ 新增用戶端密碼]

  9. 輸入 [描述] (例如「密碼」),然後選取 [新增]

  10. 在 [用戶端密碼] 中,記下用戶端密碼的值。 您可以加以使用來更新步驟 4 中 AKS 叢集的服務主體。

    Configure client secret

步驟 2:在 ACR 租用戶中佈建服務主體

  1. 租用戶 B 中使用系統管理員帳戶開啟下列連結。在指出的地方,插入租用戶 B 的識別碼及多租用戶應用程式的應用程式識別碼 (用戶端識別碼)。

    https://login.microsoftonline.com/<Tenant B ID>/oauth2/authorize?client_id=<Multitenant application ID>&response_type=code&redirect_uri=<redirect url>
    
  2. 選取 [代表您的組織同意],然後選取 [接受]

    Grant tenant access to application

步驟 3:授與服務主體從登錄提取的權限

租用戶 B 中,將 AcrPull 角色指派給服務主體,範圍設定為目標容器登錄。 您可以使用 Azure 入口網站或其他 Azure 工具來指派角色。 如需使用 Azure CLI 的範例步驟,請參閱使用服務主體進行 Azure Container Registry 驗證

Assign acrpull role to multitenant app

步驟 4:使用 Microsoft Entra 應用程式祕密來更新 AKS

使用在步驟 1 中收集到的多租用戶應用程式 (用戶端) 識別碼和用戶端密碼,來更新 AKS 服務主體認證

更新服務主體可能需要幾分鐘的時間。

下一步