Lägg till modulinställningar i Bicep-konfigurationsfilen
I en bicepconfig.json fil kan du skapa alias för modulsökvägar och konfigurera profil- och autentiseringsprioritet för publicering och återställning av moduler.
I den här artikeln beskrivs de inställningar som är tillgängliga för att arbeta med Bicep-moduler.
Alias för moduler
Om du vill förenkla sökvägen för att länka till moduler skapar du alias i konfigurationsfilen. Ett alias refererar till antingen ett modulregister eller en resursgrupp som innehåller mallspecifikationer.
Konfigurationsfilen har en egenskap för moduleAliases
. Den här egenskapen innehåller alla alias som du definierar. Under den här egenskapen delas aliasen upp baserat på om de refererar till ett register eller en mallspecifikation.
Om du vill skapa ett alias för ett Bicep-register lägger du till en br
egenskap. Om du vill lägga till ett alias för en mallspecifikation använder du egenskapen ts
.
{
"moduleAliases": {
"br": {
<add-registry-aliases>
},
"ts": {
<add-template-specs-aliases>
}
}
}
br
Lägg till så många alias som du behöver i egenskapen. För varje alias ger du det ett namn och följande egenskaper:
- register (krävs): namn på registerinloggningsserver
- modulePath (valfritt): registerlagringsplats där modulerna lagras
ts
Lägg till så många alias som du behöver i egenskapen. För varje alias ger du det ett namn och följande egenskaper:
- prenumeration (krävs): prenumerations-ID:t som är värd för mallspecifikationerna
- resourceGroup (krävs): namnet på resursgruppen som innehåller mallspecifikationerna
I följande exempel visas en konfigurationsfil som definierar två alias för ett modulregister och ett alias för en resursgrupp som innehåller mallspecifikationer.
{
"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"
}
}
}
}
När du använder ett alias i modulreferensen måste du använda formaten:
br/<alias>:<file>:<tag>
ts/<alias>:<file>:<tag>
Definiera dina alias till mappen eller resursgruppen som innehåller moduler, inte själva filen. Filnamnet måste ingå i referensen till modulen.
Utan aliasen skulle du länka till en modul i ett register med den fullständiga sökvägen.
module stgModule 'br:contosoregistry.azurecr.io/bicep/modules/core/storage:v1' = {
Med aliasen kan du förenkla länken med hjälp av aliaset för registret.
module stgModule 'br/ContosoRegistry:bicep/modules/core/storage:v1' = {
Eller så kan du förenkla länken med hjälp av det alias som anger sökvägen för registret och modulen.
module stgModule 'br/CoreModules:storage:v1' = {
För en mallspecifikation använder du:
module stgModule 'ts/CoreSpecs:storage:v1' = {
Ett alias har fördefinierades för offentliga moduler. Om du vill referera till en offentlig modul kan du använda formatet:
br/public:<file>:<tag>
Kommentar
Moduler som inte är AVM-moduler (Azure-verifierade moduler) dras tillbaka från det offentliga modulregistret och de flesta av dem är tillgängliga som AVM-moduler.
Du kan åsidosätta definitionen av registeralias för offentliga moduler i filen bicepconfig.json:
{
"moduleAliases": {
"br": {
"public": {
"registry": "<your_module_registry>",
"modulePath": "<optional_module_path>"
}
}
}
}
Konfigurera profiler och autentiseringsuppgifter
Om du vill publicera moduler till ett privat modulregister eller återställa externa moduler till den lokala cachen måste kontot ha rätt behörighet för att få åtkomst till registret. Du kan konfigurera currentProfile
och credentialPrecedence
i Bicep-konfigurationsfilen manuellt för autentisering till registret.
{
"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"
]
}
}
De tillgängliga profilerna är:
- AzureCloud
- AzureChinaCloud
- AzureUSGovernment
Som standard använder Bicep profilen AzureCloud
och autentiseringsuppgifterna för användaren som autentiseras i Azure CLI eller Azure PowerShell. Du kan anpassa dessa profiler eller inkludera nya för dina lokala miljöer. Om du vill publicera eller återställa en modul till en nationell molnmiljö, AzureUSGovernment
till exempel , måste du ange "currentProfile": "AzureUSGovernment"
även om du har valt den molnprofilen i Azure CLI. Bicep kan inte automatiskt fastställa den aktuella molnprofilen baserat på Azure CLI-inställningar.
Bicep använder Azure.Identity SDK för att utföra autentisering. Tillgängliga typer av autentiseringsuppgifter är:
Kommentar
Bicep-distributionskommandot inifrån vscode använder Azure-kontotillägget för autentisering. Den använder inte molnprofiler från bicepconfig.json.