Přidání nastavení modulu do konfiguračního souboru Bicep

V souboru bicepconfig.json můžete vytvořit aliasy pro cesty modulů a nakonfigurovat prioritu profilu a přihlašovacích údajů pro publikování a obnovení modulů.

Tento článek popisuje nastavení, která jsou k dispozici pro práci s moduly Bicep.

Aliasy pro moduly

Pokud chcete zjednodušit cestu pro propojení s moduly, vytvořte v konfiguračním souboru aliasy. Alias odkazuje buď na registr modulu, nebo na skupinu prostředků, která obsahuje specifikace šablony.

Konfigurační soubor má vlastnost pro moduleAliases. Tato vlastnost obsahuje všechny aliasy, které definujete. V rámci této vlastnosti jsou aliasy rozděleny na základě toho, zda odkazují na registr nebo specifikace šablony.

Pokud chcete vytvořit alias pro registr Bicep, přidejte br vlastnost. Pokud chcete přidat alias pro specifikaci šablony, použijte ts tuto vlastnost.

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

V rámci br vlastnosti přidejte tolik aliasů, kolik potřebujete. Pro každý alias zadejte název a následující vlastnosti:

  • registr (povinné): název přihlašovacího serveru registru
  • modulePath (volitelné): úložiště registru, ve kterém jsou uloženy moduly

V rámci ts vlastnosti přidejte tolik aliasů, kolik potřebujete. Pro každý alias zadejte název a následující vlastnosti:

  • předplatné (povinné): ID předplatného, které hostuje specifikace šablony
  • resourceGroup (povinné): název skupiny prostředků, která obsahuje specifikace šablony

Následující příklad ukazuje konfigurační soubor, který definuje dva aliasy pro registr modulu a jeden alias pro skupinu prostředků, která obsahuje specifikace šablony.

{
  "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"
      }
    }
  }
}

Při použití aliasu v odkazu na modul musíte použít formáty:

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

Definujte aliasy pro složku nebo skupinu prostředků, která obsahuje moduly, nikoli samotný soubor. Název souboru musí být součástí odkazu na modul.

Bez aliasů byste propojili modul v registru s úplnou cestou.

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

Pomocí aliasů můžete odkaz zjednodušit pomocí aliasu registru.

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

Nebo můžete odkaz zjednodušit pomocí aliasu, který určuje cestu k registru a modulu.

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

Pro specifikaci šablony použijte:

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

Pro veřejné moduly je předdefinovaný alias. Pokud chcete odkazovat na veřejný modul, můžete použít formát:

br/public:<file>:<tag>

Poznámka:

Moduly bez AVM (Ověřené moduly Azure) se vyřazuje z veřejného registru modulů s většinou modulů AVM, které jsou k dispozici jako moduly AVM.

Definici aliasu registru veřejného modulu můžete přepsat v souboru bicepconfig.json:

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

Konfigurace profilů a přihlašovacích údajů

Pokud chcete publikovat moduly do privátního registru modulu nebo obnovit externí moduly do místní mezipaměti, musí mít účet správná oprávnění pro přístup k registru. Můžete ručně nakonfigurovat currentProfile a credentialPrecedence v konfiguračním souboru Bicep pro ověřování v registru.

{
  "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"
    ]
  }
}

Dostupné profily jsou:

  • AzureCloud
  • AzureChinaCloud
  • AzureUSGovernment

Ve výchozím nastavení používá AzureCloud Bicep profil a přihlašovací údaje uživatele ověřeného v Azure CLI nebo Azure PowerShellu. Tyto profily můžete přizpůsobit nebo zahrnout nové pro vaše místní prostředí. Pokud chcete publikovat nebo obnovit modul do národního cloudového prostředí, například AzureUSGovernment, musíte nastavit "currentProfile": "AzureUSGovernment" , i když jste tento profil cloudu vybrali v Azure CLI. Bicep nemůže automaticky určit aktuální cloudový profil na základě nastavení Azure CLI.

Bicep k ověřování používá sadu Azure.Identity SDK . Dostupné typy přihlašovacích údajů jsou:

Poznámka:

Příkaz Nasazení Bicep z vscode používá k ověřování rozšíření Azure Account. Nepoužívá cloudové profily z bicepconfig.json.

Další kroky