Linter-regel - geen in code vastgelegde omgevings-URL
Met deze regel worden eventuele in code vastgelegde URL's gevonden die per cloudomgeving verschillen.
Linter-regelcode
Gebruik de volgende waarde in het Bicep-configuratiebestand om regelinstellingen aan te passen:
no-hardcoded-env-urls
Oplossing
Gebruik in plaats van hardcoderings-URL's in uw Bicep-bestand de omgevingsfunctie om deze URL's dynamisch op te halen tijdens de implementatie. De omgevingsfunctie retourneert verschillende URL's op basis van de cloudomgeving waarin u implementeert.
In het volgende voorbeeld mislukt deze test omdat de URL is vastgelegd.
var managementURL = 'https://management.azure.com'
De test mislukt ook bij gebruik met concat of URI.
var galleryURL1 = concat('https://','gallery.azure.com')
var galleryURL2 = uri('gallery.azure.com','test')
U kunt dit oplossen door de in code vastgelegde URL te vervangen door de environment()
functie.
var galleryURL = environment().gallery
In sommige gevallen kunt u dit oplossen door een eigenschap op te halen uit een resource die u hebt geïmplementeerd. Haal het bijvoorbeeld op in plaats van het eindpunt voor uw opslagaccount op te halen..properties.primaryEndpoints
param storageAccountName string
param location string = resourceGroup().location
resource sa 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
output endpoint string = sa.properties.primaryEndpoints.web
Configuratie
Deze regel gebruikt standaard de volgende instellingen om te bepalen welke URL's niet zijn toegestaan.
"analyzers": {
"core": {
"verbose": false,
"enabled": true,
"rules": {
"no-hardcoded-env-urls": {
"level": "warning",
"disallowedhosts": [
"gallery.azure.com",
"management.core.windows.net",
"management.azure.com",
"database.windows.net",
"core.windows.net",
"login.microsoftonline.com",
"graph.windows.net",
"trafficmanager.net",
"datalake.azure.net",
"azuredatalakestore.net",
"azuredatalakeanalytics.net",
"vault.azure.net",
"api.loganalytics.io",
"asazure.windows.net",
"region.asazure.windows.net",
"batch.core.windows.net"
],
"excludedhosts": [
"schema.management.azure.com"
]
}
}
}
}
U kunt het aanpassen door een bicepconfig.json bestand toe te voegen en nieuwe instellingen toe te passen.
Volgende stappen
Zie Bicep linter gebruiken voor meer informatie over de linter.