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 i moduli pubblici. Per fare riferimento a un modulo pubblico, è possibile usare il formato:
br/public:<file>:<tag>
Nota
I moduli non AVM (Moduli verificati di Azure) vengono ritirati dal Registro dei moduli pubblici, con la maggior parte dei moduli disponibili come moduli AVM.
È 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 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.