Share via


建立 Bicep 模組的私人登錄

若要在您的組織內共用模組,您可以建立私人模組登錄。 將模組發佈至該登錄,並將讀取存取授與需要部署模組的使用者。 在登錄中共用模組之後,您可以從 Bicep 檔案參照它們。 若要參與公用模組登錄,請參閱《貢獻指南》。

若要使用模組登錄,您必須具有 Bicep CLI 版本 0.4.1008 或更新版本。 若要搭配 Azure CLI 使用,您也必須有 2.31.0 版或更新版本;若要搭配 Azure PowerShell 使用,您也必須有 7.0.0 版或更新版本

訓練資源

如果您比較想要透過逐步指導來了解參數,請參閱使用私人登錄共用 Bicep 模組

設定私人登錄

Bicep 登錄裝載於 Azure Container Registry (ACR)。 使用下列步驟來設定模組的登錄。

  1. 如果您已經有容器登錄,則可以直接使用它。 如果您需要建立容器登錄,請參閱快速入門:使用 Bicep 檔案建立容器登錄

    您可以針對模組登錄使用任何可用的登錄 SKU。 登錄異地複寫可為使用者提供本機狀態備份或做為經常性備份。

  2. 取得登入伺服器名稱。 在從 Bicep 檔案連結到登錄時,您會需要此名稱。 登入伺服器名稱的格式為:<registry-name>.azurecr.io

    若要取得登入伺服器名稱,請使用 Get-AzContainerRegistry

    Get-AzContainerRegistry -ResourceGroupName "<resource-group-name>" -Name "<registry-name>"  | Select-Object LoginServer
    
  3. 若要將模組發佈到登錄,您必須具備推送映像的權限。 若要從登錄來部署模組,您必須具備提取映像的權限。 如需能夠授與足夠存取權的角色相關詳細資訊,請參閱 Azure Container Registry 角色和權限

  4. 視您用來部署模組的帳戶類型而定,您可能需要自訂所要使用的認證。 需要具有這些認證才能從登錄中取得模組。 根據預設,認證是從 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 模組登錄螢幕快照。

請注意,如果 Bicep 模組參考 Private Registry 中的模組,ACR 端點將會顯示。 若要隱藏完整的端點,您可以設定私人登錄的別名。

在登錄中查看檔案

若要在入口網站中查看已發佈的模組:

  1. 登入 Azure 入口網站

  2. 搜尋容器登錄

  3. 選取您的登錄。

  4. 從左側功能表中選取 [服務 -> 存放庫 ]。

  5. 選取模組路徑 (存放庫)。 在上述範例中,模組路徑名稱是 bicep/module/storage

  6. 選取標籤。 在上述範例中,標記為 v1

  7. 成品參照會符合您要在 Bicep 檔案中使用的參照。

    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 命令。

下一步