將映像從容器登錄提取至不同 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 應用程式
在租用戶 A 中登入 Azure 入口網站。
搜尋並選取 Microsoft Entra ID。
在 [管理] 底下,選取 [應用程式註冊] > [+ 新增註冊]。
在 [支援的帳戶類型] 中,選取 [任何組織目錄中的帳戶]。
在 [重新導向 URI] 中,輸入 https://www.microsoft.com。
選取註冊。
在 [概觀] 頁面上,記下 [應用程式 (用戶端) 識別碼]。 您將會在步驟 2 和步驟 4 中加以使用。
在 [憑證與秘密] 的 [用戶端密碼] 下,選取 [+ 新增用戶端密碼]。
輸入 [描述] (例如「密碼」),然後選取 [新增]。
在 [用戶端密碼] 中,記下用戶端密碼的值。 您可以加以使用來更新步驟 4 中 AKS 叢集的服務主體。
步驟 2:在 ACR 租用戶中佈建服務主體
在租用戶 B 中使用系統管理員帳戶開啟下列連結。在指出的地方,插入租用戶 B 的識別碼及多租用戶應用程式的應用程式識別碼 (用戶端識別碼)。
https://login.microsoftonline.com/<Tenant B ID>/oauth2/authorize?client_id=<Multitenant application ID>&response_type=code&redirect_uri=<redirect url>
選取 [代表您的組織同意],然後選取 [接受]。
步驟 3:授與服務主體從登錄提取的權限
在租用戶 B 中,將 AcrPull 角色指派給服務主體,範圍設定為目標容器登錄。 您可以使用 Azure 入口網站或其他 Azure 工具來指派角色。 如需使用 Azure CLI 的範例步驟,請參閱使用服務主體進行 Azure Container Registry 驗證。
步驟 4:使用 Microsoft Entra 應用程式祕密來更新 AKS
使用在步驟 1 中收集到的多租用戶應用程式 (用戶端) 識別碼和用戶端密碼,來更新 AKS 服務主體認證。
更新服務主體可能需要幾分鐘的時間。
下一步
- 深入了解使用服務主體進行 Azure Container Registry 驗證
- 在 Kubernetes 文件 (英文) 中,深入了解映像提取祕密
- 了解 Microsoft Entra ID 中的應用程式和服務主體物件
- 深入了解從 Kubernetes 叢集向 Azure Container Registry 進行驗證的案例