Linter kuralı - sabit kodlanmış ortam URL'si yok
Bu kural, bulut ortamına göre değişen sabit kodlanmış URL'leri bulur.
Linter kural kodu
Kural ayarlarını özelleştirmek için Bicep yapılandırma dosyasında aşağıdaki değeri kullanın:
no-hardcoded-env-urls
Çözüm
Bicep dosyanızda URL'leri sabit kodlamak yerine ortam işlevini kullanarak dağıtım sırasında bu URL'leri dinamik olarak alın. ortam işlevi, dağıttığınız bulut ortamına göre farklı URL'ler döndürür.
AŞAĞıDAKI örnek, URL sabit kodlanmış olduğundan bu testte başarısız olur.
var managementURL = 'https://management.azure.com'
Test, concat veya uri ile kullanıldığında da başarısız olur.
var galleryURL1 = concat('https://','gallery.azure.com')
var galleryURL2 = uri('gallery.azure.com','test')
Sabit kodlanmış URL'yi işleviyle environment()
değiştirerek düzeltebilirsiniz.
var galleryURL = environment().gallery
Bazı durumlarda, dağıtmış olduğunuz bir kaynaktan özellik alarak bunu düzeltebilirsiniz. Örneğin, depolama hesabınız için uç noktayı oluşturmak yerine ile alın .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
Yapılandırma
Varsayılan olarak, bu kural hangi URL'lere izin verilmeyenleri belirlemek için aşağıdaki ayarları kullanır.
"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"
]
}
}
}
}
bir bicepconfig.json dosyası ekleyip yeni ayarlar uygulayarak dosyayı özelleştirebilirsiniz.
Sonraki adımlar
Lint hakkında daha fazla bilgi için bkz . Bicep linter'i kullanma.