Bagikan melalui


Membuat registri privat untuk modul Bisep

Untuk berbagi modul dalam organisasi, Anda dapat membuat registri modul privat. Anda mempublikasikan modul ke registri tersebut dan memberikan akses baca ke pengguna yang perlu menyebarkan modul. Setelah modul dibagikan di registri, Anda dapat mereferensikannya dari file Bisep. Untuk berkontribusi pada registri modul publik, lihat panduan kontribusi.

Untuk bekerja dengan registri modul, Anda harus memiliki Bicep CLI versi 0.4.1008 atau yang lebih baru. Untuk digunakan dengan Azure CLI, Anda juga harus memiliki versi 2.31.0 atau yang lebih baru; untuk digunakan dengan Azure PowerShell, Anda juga harus memiliki versi 7.0.0 atau yang lebih baru.

Sumber daya pelatihan

Jika Anda ingin mempelajari parameter melalui panduan langkah demi langkah, lihat Berbagi modul Bicep dengan menggunakan registri privat.

Mengonfigurasi registri privat

Registri Bicep dihosting di Azure Container Registry (ACR). Gunakan langkah berikut untuk mengonfigurasi registri untuk modul Anda.

  1. Jika sudah memiliki registri kontainer, Anda dapat menggunakannya. Jika Anda perlu membuat registri, lihat Memulai Cepat: Membuat registri kontainer menggunakan file Bicep.

    Anda dapat menggunakan salah satu SKU registri yang tersedia untuk registri modul. Geo-replikasi registri menyediakan pengguna dengan kehadiran lokal atau sebagai hot-backup.

  2. Dapatkan nama server masuk. Anda memerlukan nama ini saat menautkan ke registri dari file Bisep Anda. Format nama server masuk adalah: <registry-name>.azurecr.io.

    Untuk mendapatkan nama server masuk, gunakan Get-AzContainerRegistry.

    Get-AzContainerRegistry -ResourceGroupName "<resource-group-name>" -Name "<registry-name>"  | Select-Object LoginServer
    
  3. Untuk menerbitkan modul ke registri, Anda harus memiliki izin untuk mendorong gambar. Untuk menyebarkan modul ke registri, Anda harus memiliki izin untuk mendorong gambar. Untuk informasi lebih lanjut tentang peran yang memberikan akses yang memadai, lihat peran dan izin Azure Container Registry.

  4. Bergantung pada jenis akun yang Anda gunakan untuk menyebarkan modul, Anda mungkin perlu menyesuaikan info masuk mana yang digunakan. Info masuk ini diperlukan untuk mendapatkan modul dari registri. Secara default, info masuk diperoleh dari Azure CLI atau Azure PowerShell. Anda dapat menyesuaikan prioritas untuk mendapatkan info masuk dalam file bicepconfig.json. Untuk informasi lebih lanjut, lihat Info masuk untuk memulihkan modul.

Penting

Registri kontainer privat hanya tersedia bagi pengguna dengan akses yang diperlukan. Namun, diakses melalui internet publik. Untuk keamanan lebih lanjut, Anda dapat memerlukan akses melalui titik akhir privat. Lihat Menyambungkan ke registri kontainer Azure secara privat menggunakan Azure Private Link.

Registri kontainer privat harus memiliki kebijakan azureADAuthenticationAsArmPolicy yang diatur ke enabled. Jika azureADAuthenticationAsArmPolicy diatur ke disabled, Anda akan mendapatkan pesan kesalahan 401 (Tidak Sah) saat menerbitkan modul. Lihat Azure Container Registry memperkenalkan kebijakan Akses Bersyar.

Menerbitkan file ke registri

Setelah menyiapkan registri kontainer, Anda dapat menerbitkan file ke dalamnya. Gunakan perintah terbitkan dan berikan file Bisep apa pun yang ingin Anda gunakan sebagai modul. Tentukan lokasi target untuk modul di registri Anda. Perintah terbitkan akan membuat templat ARM yang akan disimpan di registri. Ini berarti jika menerbitkan file Bicep yang mereferensikan modul lokal lainnya, modul ini akan sepenuhnya diperluas sebagai satu file JSON dan diterbitkan ke registri.

Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html

Dengan Bicep CLI versi 0.27.1 atau yang lebih baru, Anda dapat menerbitkan modul dengan kode sumber Bicep selain templat JSON yang dikompilasi. Jika modul diterbitkan dengan kode sumber Bicep ke registri, Anda dapat menekan F12 (Buka Definisi) dari Visual Studio Code untuk melihat Kode Bicep. Ekstensi Bicep versi 0.27 atau yang baru diperlukan untuk melihat file Bicep.

Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html -WithSource

Dengan sakelar sumber, Anda akan melihat lapisan tambahan dalam manifes:

Cuplikan layar registri modul bicep dengan sumber.

Perhatikan bahwa jika modul Bicep mereferensikan modul di Private Registry, titik akhir ACR akan terlihat. Untuk menyembunyikan titik akhir penuh, Anda dapat mengonfigurasi alias untuk registri privat.

Menampilkan file dalam registri

Untuk melihat modul yang diterbitkan di portal:

  1. Masuk ke portal Azure.

  2. Cari registri kontainer.

  3. Pilih registri Anda.

  4. Pilih Layanan ->Repositori dari menu sebelah kiri.

  5. Pilih jalur modul (repositori). Pada contoh sebelumnya, nama jalur modul adalah bicep/modules/storage.

  6. Pilih tag. Pada contoh sebelumnya, tag berupa v1.

  7. Referensi Artifact cocok dengan referensi yang akan Anda gunakan dalam file Bisep.

    Referensi artefak registri modul Bisep

Anda sekarang siap untuk mereferensikan file di registri dari file Bicep. Untuk contoh sintaks yang digunakan untuk referensi modul eksternal, lihat modul Bisep.


Bekerja dengan file registri Bicep

Saat memanfaatkan file bicep yang dihosting di registri jarak jauh, penting untuk memahami bagaimana komputer lokal Anda akan berinteraksi dengan registri. Ketika Anda pertama kali mendeklarasikan referensi ke registri, editor lokal Anda akan mencoba berkomunikasi dengan Azure Container Registry dan mengunduh salinan registri ke cache lokal Anda.

Cache lokal ditemukan dalam:

  • Di Windows

    %USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
    
  • Di Linux

    /home/<username>/.bicep
    
  • Di Mac

    ~/.bicep
    

Setiap perubahan yang dilakukan pada registri jarak jauh tidak akan dikenali oleh komputer lokal Anda sampai restore telah dijalankan dengan file yang ditentukan yang menyertakan referensi registri.

az bicep restore --file <bicep-file> [--force]

Untuk informasi selengkapnya, lihat restore perintah .

Langkah berikutnya