Aggiungere le impostazioni del modulo nel file di configurazione bicep

In un file bicepconfig.json è possibile creare alias per i percorsi dei moduli e configurare la precedenza del profilo e delle credenziali per la pubblicazione e il ripristino dei moduli.

Questo articolo descrive le impostazioni disponibili per l'uso dei moduli Bicep.

Alias per i moduli

Per semplificare il percorso per il collegamento ai moduli, creare alias nel file di configurazione. Un alias fa riferimento a un registro di moduli o a un gruppo di risorse che contiene specifiche di modello.

Il file di configurazione ha una proprietà per moduleAliases. Questa proprietà contiene tutti gli alias definiti. In questa proprietà gli alias vengono divisi in base al fatto che facciano riferimento a un registro o a una specifica di modello.

Per creare un alias per un registro Bicep, aggiungere una br proprietà . Per aggiungere un alias per una specifica di modello, utilizzare la ts proprietà .

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

All'interno della br proprietà aggiungere tutti gli alias necessari. Per ogni alias assegnare un nome e le proprietà seguenti:

  • Registro di sistema (obbligatorio): nome del server di accesso del Registro di sistema
  • modulePath (facoltativo): repository del Registro di sistema in cui sono archiviati i moduli

All'interno della ts proprietà aggiungere tutti gli alias necessari. Per ogni alias assegnare un nome e le proprietà seguenti:

  • sottoscrizione (obbligatorio): ID sottoscrizione che ospita le specifiche del modello
  • resourceGroup (obbligatorio): nome del gruppo di risorse che contiene le specifiche del modello

L'esempio seguente mostra un file di configurazione che definisce due alias per un registro dei moduli e un alias per un gruppo di risorse che contiene le specifiche del modello.

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

Quando si usa un alias nel riferimento al modulo, è necessario usare i formati seguenti:

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

Definire gli alias per la cartella o il gruppo di risorse che contiene moduli, non il file stesso. Il nome del file deve essere incluso nel riferimento al modulo.

Senza gli alias, è necessario collegarsi a un modulo in un registro con il percorso completo.

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

Con gli alias, è possibile semplificare il collegamento usando l'alias per il Registro di sistema.

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

In alternativa, è possibile semplificare il collegamento usando l'alias che specifica il registro e il percorso del modulo.

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

Per una specifica di modello, usare:

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

Un alias è stato predefinito per il Registro di sistema del modulo pubblico. Per fare riferimento a un modulo pubblico, è possibile usare il formato :

br/public:<file>:<tag>

È possibile eseguire l'override della definizione dell'alias del Registro di sistema del modulo pubblico nel file bicepconfig.json:

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

Configurare profili e credenziali

Per pubblicare moduli in un registro di moduli privati o per ripristinare i moduli esterni nella cache locale, l'account deve disporre delle autorizzazioni corrette per accedere al Registro di sistema. È possibile configurare manualmente currentProfile e credentialPrecedence nel file di configurazione Bicep per l'autenticazione nel Registro di sistema.

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

I profili disponibili sono:

  • AzureCloud
  • AzureChinaCloud
  • AzureUSGovernment

Per impostazione predefinita, Bicep usa il AzureCloud profilo e le credenziali dell'utente autenticato nell'interfaccia della riga di comando di Azure o in Azure PowerShell. È possibile personalizzare questi profili o includerne di nuovi per gli ambienti locali. Se si vuole pubblicare o ripristinare un modulo in un ambiente cloud nazionale, AzureUSGovernmentad esempio , è necessario impostare "currentProfile": "AzureUSGovernment" anche se è stato selezionato il profilo cloud nell'interfaccia della riga di comando di Azure. Bicep non è in grado di determinare automaticamente il profilo cloud corrente in base alle impostazioni dell'interfaccia della riga di comando di Azure.

Bicep usa Azure.Identity SDK per eseguire l'autenticazione. I tipi di credenziali disponibili sono:

Nota

Il comando Distribuisci Bicep da vscode usa l'estensione account di Azure per l'autenticazione. Non usa profili cloud da bicepconfig.json.

Passaggi successivi