建立 Bicep 模組的私人登錄
若要在您的組織內共用模組,您可以建立私人模組登錄。 您可接著將模組發佈至該登錄,並將讀取存取授與需要部署模組的使用者。 在登錄中共用模組之後,您可以從 Bicep 檔案參照它們。 若要使用公用模組,請參閱 Bicep 模組。
若要使用模組登錄,您必須具有 Bicep CLI 版本 0.4.1008 或更新版本。 若要搭配 Azure CLI 使用,您也必須有 2.31.0 版或更新版本;若要搭配 Azure PowerShell 使用,您也必須有 7.0.0 版或更新版本。
訓練資源
如果您比較想要透過逐步指導來了解參數,請參閱使用私人登錄共用 Bicep 模組。
設定私人登錄
Bicep 登錄裝載於 Azure Container Registry (ACR)。 使用下列步驟來設定模組的登錄。
如果您已經有容器登錄,則可以直接使用它。 如果您需要建立容器登錄,請參閱快速入門:使用 Bicep 檔案建立容器登錄。
您可以針對模組登錄使用任何可用的登錄 SKU。 登錄異地複寫可為使用者提供本機狀態備份或做為經常性備份。
取得登入伺服器名稱。 在從 Bicep 檔案連結到登錄時,您會需要此名稱。 登入伺服器名稱的格式為:
<registry-name>.azurecr.io
。若要取得登入伺服器名稱,請使用 Get-AzContainerRegistry。
Get-AzContainerRegistry -ResourceGroupName "<resource-group-name>" -Name "<registry-name>" | Select-Object LoginServer
若要將模組發佈到登錄,您必須具備推送映像的權限。 若要從登錄來部署模組,您必須具備提取映像的權限。 如需能夠授與足夠存取權的角色相關詳細資訊,請參閱 Azure Container Registry 角色和權限。
視您用來部署模組的帳戶類型而定,您可能需要自訂所要使用的認證。 需要具有這些認證才能從登錄中取得模組。 根據預設,認證是從 Azure CLI 或 Azure PowerShell 取得。 您可以自訂在 bicepconfig.json 檔案中取得認證的優先順序。 如需詳細資訊,請參閱還原模組的認證。
重要
私人容器登錄僅供具有必要存取權的使用者使用。 不過,這仍是透過公用網際網路來存取。 為了提高安全性,您可以要求透過私人端點來存取。 請參考使用 Azure Private Link 以私人方式連線到 Azure 容器登錄。
私人容器登錄必須將原則 azureADAuthenticationAsArmPolicy
設定為 enabled
。 如果 azureADAuthenticationAsArmPolicy
設定為 disabled
,當發佈模組時會收到 401 (未經授權) 錯誤訊息。 請參閱 Azure Container Registry (ACR) 引進條件式存取原則。
將檔案發佈至登錄
設定好容器登錄之後,您可以將檔案發佈至其中。 使用 publish 命令,並提供您想要做為模組使用的任何意 Bicep 檔案。 在您的登錄中指定模組的目標位置。 publish 命令會建立儲存在登錄中的 ARM 範本。 這表示如果發佈參考其他本機模組的 Bicep 檔案,這些模組會完全展開為一個 JSON 檔案並發佈至登錄。
Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html
使用 Bicep CLI 0.27.1 版或更新版本,除了編譯的 JSON 範本之外,您還可使用 Bicep 原始程式碼發佈模組。 如果模組是使用 Bicep 原始程式碼發佈至登錄,您可從 Visual Studio Code 按 F12
(前往定義) 以查看 Bicep Code。 需要 Bicep 延伸模組 0.27 版或更新版本才能查看 Bicep 檔案。
Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html -WithSource
使用 source 參數時,您會在資訊清單中看到另一層:
如果 Bicep 模組參考私人登錄中的模組,則可看見 ACR 端點。 若要隱藏完整的端點,您可以設定私人登錄的別名。
在登錄中查看檔案
若要在入口網站中查看已發佈的模組:
登入 Azure 入口網站。
搜尋容器登錄。
選取您的登錄。
從左側功能表中選取 [服務] -> [存放庫]。
選取模組路徑 (存放庫)。 在上述範例中,模組路徑名稱是 bicep/module/storage。
選取標籤。 在上述範例中,標記為 v1。
成品參考會符合您在 Bicep 檔案中使用的參考。
您現在已經準備好從 Bicep 檔案參照登錄中的檔案了。 如需用於參照外部模組的語法範例,請參閱 Bicep 模組。
使用 Bicep 登錄檔案
使用裝載在遠端登錄中的 bicep 檔案時,務必瞭解本機電腦如何與登錄互動。 當您首次對登錄宣告參考時,本機編輯器會嘗試與 Azure Container Registry 通訊,並將登錄的複本下載至本機快取。
您可以在下列位置中找到本機快取:
在 Windows 上
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
在 Linux 上
/home/<username>/.bicep
在 Mac 上
~/.bicep
您的本機電腦可以辨識對遠端登錄所做的任何變更,直到您使用包含登錄參考的指定檔案執行 restore
為止。
az bicep restore --file <bicep-file> [--force]
如需詳細資訊,請參閱 restore
命令。
下一步
- 若要深入了解模組,請參閱 Bicep 模組。
- 若要設定模組登錄的別名,請參閱 Bicep 設定檔中的新增模組設定。
- 如需有關發佈和還原模組的詳細資訊,請參閱 Bicep CLI 命令。