Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här regeln hittar hårdkodade URL:er som varierar beroende på molnmiljö.
Linterregelkod
Använd följande värde i Bicep-konfigurationsfilen för att anpassa regelinställningar:
no-hardcoded-env-urls
Lösning
I stället för hårdkodade URL:er i Bicep-filen använder du miljöfunktionen för att dynamiskt hämta dessa URL:er under distributionen. Miljöfunktionen returnerar olika URL:er baserat på den molnmiljö som du distribuerar till.
Följande exempel misslyckas med det här testet eftersom URL:en är hårdkodad.
var managementURL = 'https://management.azure.com'
Testet misslyckas också när det används med concat eller uri.
var galleryURL1 = concat('https://','gallery.azure.com')
var galleryURL2 = uri('gallery.azure.com','test')
Du kan åtgärda det genom att ersätta den hårdkodade URL:en med environment() funktionen.
var galleryURL = environment().gallery
I vissa fall kan du åtgärda det genom att hämta en egenskap från en resurs som du har distribuerat. I stället för att till exempel skapa slutpunkten för ditt lagringskonto hämtar du den med .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
Konfiguration
Som standard använder den här regeln följande inställningar för att avgöra vilka URL:er som inte tillåts.
"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"
]
}
}
}
}
Du kan anpassa den genom att lägga till en bicepconfig.json fil och tillämpa nya inställningar.
Nästa steg
Mer information om linter finns i Använda Bicep-linter.