當登錄使用者向 Azure Container Registry 進行驗證時,會使用Microsoft Entra 令牌。 根據預設,Azure Container Registry(ACR)會接受 Microsoft Entra 令牌,並將其受眾範圍設定為 Azure Resource Manager(ARM),這是用於管理 Azure 資源的控制管理層。
藉由將註冊表設定為無法辨識 Microsoft Entra ARM 身份令牌,且僅辨識 Microsoft Entra ACR 身份令牌,您可以在驗證過程中增強容器註冊表的安全性,縮小接受令牌的範圍。
在 ACR Audience Token 強制執行的情況下,只有設置了 ACR 使用範圍的 Microsoft Entra 令牌才能在登錄驗證和登入過程中被接受。 這表示先前接受的 ARM 物件權杖將不再對登錄驗證有效,進而增強容器登錄的安全性。
在本教學課程中,您會了解如何:
- 在 ACR 中停用驗證為 ARM - Azure CLI。
- 在 ACR 中停用驗證為 ARM - Azure 入口網站。
必要條件
-
安裝或升級 Azure CLI 2.40.0 版或更新版本。 若要尋找版本,請執行
az --version。 - 登入 Azure 入口網站。
在 ACR 中停用驗證為 ARM - Azure CLI
azureADAuthenticationAsArmPolicy停用會強制登錄檔使用 ACR 受眾令牌。 您可以使用 Azure CLI 2.40.0 版或更新版本,執行 az --version 來找出版本。
執行命令以顯示登錄原則的目前設定,以使用 ARM 權杖搭配登錄進行驗證。 如果狀態為
enabled,則 ACR 和 ARM 對象權杖都可以用於驗證。 如果狀態為disabled,則表示只有 ACR 的對象權杖可用於驗證。az acr config authentication-as-arm show -r <registry>執行命令來更新登錄原則的狀態。
az acr config authentication-as-arm update -r <registry> --status [enabled/disabled]
使用 Microsoft Entra ACR 受眾令牌進行 ACR 驗證
您可以使用 Microsoft Entra ACR 受眾令牌來驗證 ACR。
若要取得Microsoft Entra ACR 物件令牌,請在執行az login命令時指定 --scope https://containerregistry.azure.net/.default 。
備註
您必須指定 https://containerregistry.azure.net/.default 以取得 Microsoft Entra ACR 服務範圍的 ACR Audience 物件令牌。
您無法將https://registryname.azurecr.io/指定為範圍,因為 Microsoft Entra 或 ACR 都不支援登錄特定的令牌受眾。
az login --scope https://containerregistry.azure.net/.default
登入之後,Microsoft Entra ACR 驗證令牌(針對 ACR 服務進行設定)會儲存在本機快取中。 您可以使用此權杖向您擁有權限的所有 ACR 登錄進行驗證。
az acr login -n <registry>
在 ACR 中停用驗證為 ARM - Azure 入口網站
藉由指派內建原則來停用 authentication-as-arm 屬性,會自動停用目前和未來登錄的登錄屬性。 此自動行為適用於在原則範圍內建立的登錄。 可能的原則範圍包括資源群組層級範圍或租用戶內的訂用帳戶識別碼層級範圍。
您可以遵循下列步驟,在 ACR 中停用驗證即 ARM:
登入 Azure 入口網站。
請參閱 azure-container-registry-built-in-policy 定義中的 ACR 內建原則定義。
指派內建原則以停用驗證即 ARM 定義 - Azure 入口網站。
指派內建原則定義以停用 ARM 對象權杖驗證 - Azure 入口網站。
您可以在 Azure 入口網站中啟用登錄的條件式存取原則。
Azure Container Registry 有兩個內建原則定義,可停用驗證即 ARM,如下所示:
Container registries should have ARM audience token authentication disabled.- 此原則會報告、封鎖任何不符合規範的資源,也會傳送要求,將不符合規範的資源更新為符合規範。Configure container registries to disable ARM audience token authentication.- 此原則提供對不符合規範的資源進行補救和將其更新至符合規範的措施。登入 Azure 入口網站。
瀏覽至 [Azure Container Registry]> [資源群組]> [設定]> [原則]。
瀏覽至 [Azure 原則],在 [指派] 上,選取 [指派原則]。
在 [指派原則] 下,使用篩選條件來搜尋並尋找 [範圍]、[原則定義]、[指派名稱]。
選取 [範圍] 以篩選並搜尋 [訂用帳戶] 和 [資源群組],然後選擇 [選取]。
選取 [原則定義] 以篩選及搜尋條件式存取原則的內建原則定義。
使用篩選條件來選取並確認 [範圍]、[原則定義] 和 [指派名稱]。
使用篩選條件來限制合規性狀態或搜尋原則。
確認設定,並將原則強制執行設定為已啟用。
請選取 [檢閱 + 建立]。