Tambahkan pengaturan modul di file konfigurasi Bicep

Dalam file bicepconfig.json, Anda dapat membuat alias untuk jalur modul dan mengonfigurasi profil dan prioritas kredensial untuk menerbitkan dan memulihkan modul.

Artikel ini menjelaskan pengaturan yang tersedia untuk bekerja dengan modul Bicep.

Alias ​​​​untuk modul

Untuk menyederhanakan jalur penautan ke modul, Anda dapat membuat alias di file konfigurasi. Alias merujuk ke registri modul atau pun grup sumber daya yang berisi spesifikasi templat.

File konfigurasi memiliki properti untuk moduleAliases. Properti ini berisi semua alias yang Anda tentukan. Di bawah properti ini, alias dibagi berdasarkan apakah mereka merujuk ke registri atau spesifikasi templat.

Untuk membuat alias untuk registri Bicep, tambahkan properti br. Untuk menambahkan alias pada spesifikasi templat, gunakan properti ts.

{
  "moduleAliases": {
    "br": {
      <add-registry-aliases>
    },
    "ts": {
      <add-template-specs-aliases>
    }
  }
}

Dalam properti br, tambahkan sebanyak mungkin alias yang Anda butuhkan. Untuk setiap alias, beri nama dan properti berikut:

  • registri (wajib): nama server login registri
  • modulePath (opsional): repositori registri tempat modul disimpan

Dalam properti ts, tambahkan sebanyak mungkin alias yang Anda butuhkan. Untuk setiap alias, beri nama dan properti berikut:

  • langganan (wajib): ID langganan yang menghosting spesifikasi templat
  • resourceGroup (wajib): nama grup sumber daya yang berisi spesifikasi templat

Contoh berikut menunjukkan file konfigurasi yang mendefinisikan dua alias untuk registri modul, dan satu alias untuk grup sumber daya yang berisi spesifikasi templat.

{
  "moduleAliases": {
    "br": {
      "ContosoRegistry": {
        "registry": "contosoregistry.azurecr.io"
      },
      "CoreModules": {
        "registry": "contosoregistry.azurecr.io",
        "modulePath": "bicep/modules/core"
      }
    },
    "ts": {
      "CoreSpecs": {
        "subscription": "00000000-0000-0000-0000-000000000000",
        "resourceGroup": "CoreSpecsRG"
      }
    }
  }
}

Saat menggunakan alias dalam referensi modul, Anda harus menggunakan format:

br/<alias>:<file>:<tag>
ts/<alias>:<file>:<tag>

Tentukan alias Anda ke folder atau grup sumber daya yang berisi modul, bukan file itu sendiri. Nama file harus disertakan dalam referensi ke modul.

Tanpa alias, Anda akan membuat tautan ke modul di registri dengan jalur lengkap.

module stgModule 'br:contosoregistry.azurecr.io/bicep/modules/core/storage:v1' = {

Dengan alias, Anda dapat menyederhanakan tautan dengan menggunakan alias untuk registri.

module stgModule 'br/ContosoRegistry:bicep/modules/core/storage:v1' = {

Atau, Anda dapat menyederhanakan tautan dengan menggunakan alias yang menentukan jalur registri dan modul.

module stgModule  'br/CoreModules:storage:v1' = {

Untuk spesifikasi templat, gunakan:

module stgModule  'ts/CoreSpecs:storage:v1' = {

Alias untuk registri modul publik telah ditentukan sebelumnya. Untuk mereferensikan modul publik, Anda dapat menggunakan format:

br/public:<file>:<tag>

Anda dapat ambil alih definisi alias registri modul publik dalam file bicepconfig.json:

{
  "moduleAliases": {
    "br": {
      "public": {
        "registry": "<your_module_registry>",
        "modulePath": "<optional_module_path>"
      }
    }
  }
}

Mengonfigurasi profil dan kredensial

Untuk menerbitkan modul ke registri modul pribadi atau untuk memulihkan modul eksternal ke cache lokal, akun tersebut harus memiliki izin yang benar untuk mengakses registri. Anda dapat mengonfigurasi currentProfile dan credentialPrecedence dalam file konfigurasi Bicep secara manual untuk mengautentikasi ke registri.

{
  "cloud": {
    "currentProfile": "AzureCloud",
    "profiles": {
      "AzureCloud": {
        "resourceManagerEndpoint": "https://management.azure.com",
        "activeDirectoryAuthority": "https://login.microsoftonline.com"
      },
      "AzureChinaCloud": {
        "resourceManagerEndpoint": "https://management.chinacloudapi.cn",
        "activeDirectoryAuthority": "https://login.chinacloudapi.cn"
      },
      "AzureUSGovernment": {
        "resourceManagerEndpoint": "https://management.usgovcloudapi.net",
        "activeDirectoryAuthority": "https://login.microsoftonline.us"
      }
    },
    "credentialPrecedence": [
      "AzureCLI",
      "AzurePowerShell"
    ]
  }
}

Profil yang tersedia adalah:

  • AzureCloud
  • AzureChinaCloud
  • AzureUSGovernment

Secara default, Bicep menggunakan AzureCloud profil dan kredensial pengguna yang diautentikasi di Azure CLI atau Azure PowerShell. Anda dapat menyesuaikan profil ini atau menyertakan profil baru untuk lingkungan lokal Anda. Jika Anda ingin menerbitkan atau memulihkan modul ke lingkungan cloud nasional seperti AzureUSGovernment, Anda harus mengatur "currentProfile": "AzureUSGovernment" meskipun Anda telah memilih profil cloud tersebut di Azure CLI. Bicep tidak dapat menentukan profil cloud saat ini secara otomatis berdasarkan pengaturan Azure CLI.

Bicep menggunakan Azure.Identity SDK untuk melakukan autentikasi. Jenis info masuk yang tersedia adalah:

Catatan

Perintah penyebaran Bicep dari dalam vscode menggunakan ekstensi Akun Azure untuk autentikasi. Ini tidak menggunakan profil cloud dari bicepconfig.json.

Langkah berikutnya