建立 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 檔案。 在您的登錄中指定模組的目標位置。 發佈命令會建立將儲存在登錄中的 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 模組參考 Private Registry 中的模組,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 命令。