Linter szabály – nincs rögzített környezeti URL-cím
Ez a szabály megkeresi a felhőkörnyezettől függően változó, szigorúan kódolt URL-címeket.
Linter-szabály kódja
A bicep-konfigurációs fájlban a következő érték használatával szabhatja testre a szabálybeállításokat:
no-hardcoded-env-urls
Megoldás
A Bicep-fájlban lévő url-címek helyett a környezeti függvény használatával dinamikusan lekérheti ezeket az URL-címeket az üzembe helyezés során. A környezeti függvény különböző URL-címeket ad vissza az üzembe helyezendő felhőkörnyezet alapján.
Az alábbi példa azért nem felel meg a tesztnek, mert az URL-cím keményen van kódolva.
var managementURL = 'https://management.azure.com'
A teszt akkor is meghiúsul, ha összefűzéssel vagy uri-val használják.
var galleryURL1 = concat('https://','gallery.azure.com')
var galleryURL2 = uri('gallery.azure.com','test')
A hibát kijavíthatja, ha a rögzített URL-címet a függvényre cseréli environment()
.
var galleryURL = environment().gallery
Bizonyos esetekben kijavíthatja, ha lekért egy tulajdonságot egy üzembe helyezett erőforrásból. Például a tárfiók végpontjának létrehozása helyett kérje le a következővel .properties.primaryEndpoints
: .
param storageAccountName string
param location string = resourceGroup().location
resource sa 'Microsoft.Storage/storageAccounts@2022-09-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
output endpoint string = sa.properties.primaryEndpoints.web
Konfiguráció
Ez a szabály alapértelmezés szerint a következő beállításokat használja annak meghatározásához, hogy mely URL-címek legyenek letiltva.
"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"
]
}
}
}
}
Testre szabhatja egy bicepconfig.json fájl hozzáadásával és új beállítások alkalmazásával.
Következő lépések
A linterről további információt a Bicep-linter használata című témakörben talál.