Condividi tramite


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 di moduli Bicep.

Alias per moduli

Per semplificare il percorso per il collegamento a moduli, creare alias nel file di configurazione. Un alias fa riferimento a un registro di moduli o a un gruppo di risorse contenente 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 proprietà br. Per aggiungere un alias per una specifica di modello, utilizzare la proprietà ts.

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

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

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

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

  • subscription (obbligatorio): ID della 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 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 alla cartella o gruppo di risorse che contiene moduli, non al file stesso. Il nome del file deve essere incluso nel riferimento al modulo.

Senza gli alias, sarebbe 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.

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 moduli 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 moduli 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 moduli privato o per ripristinare moduli esterni nella cache locale, l'account deve disporre delle autorizzazioni necessarie per accedere al registro. È possibile configurare manualmente currentProfile e credentialPrecedence nel file di configurazione Bicep per effettuare l'autenticazione al registro.

{
  "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 profilo AzureCloud 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, ad esempio AzureUSGovernment, è necessario impostare "currentProfile": "AzureUSGovernment" anche se tale profilo cloud è stato selezionato 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 l’SDK Azure.Identity per eseguire l'autenticazione. I tipi di credenziali disponibili sono:

Nota

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

Passaggi successivi