قاعدة Linter - لا يوجد عنوان URL للبيئة مشفرة
تجد هذه القاعدة على أي عناوين URL ذات تشفير ثابت تختلف حسب بيئة السحابة.
التعليمة البرمجية لقاعدة Linter
استخدم القيمة التالية في ملف تكوين Bicep لتخصيص إعدادات القاعدة:
no-hardcoded-env-urls
حل
بدلاً من تشفير عناوين URL في ملف Bicep الخاص بك، استخدم وظيفة البيئة للحصول على عناوين URL هذه ديناميكياً أثناء النشر. ترجع وظيفة البيئة عناوين URL مختلفة استناداً إلى بيئة السحابة التي تقوم بنشرها.
فشل المثال التالي في هذا الاختبار لأن عنوان URL مشفر بشكل ثابت.
var managementURL = 'https://management.azure.com'
يفشل الاختبار أيضاً عند استخدامه مع concat أو uri.
var galleryURL1 = concat('https://','gallery.azure.com')
var galleryURL2 = uri('gallery.azure.com','test')
يمكنك إصلاحه عن طريق استبدال عنوان URL الثابت المرمز بالدالة environment()
.
var galleryURL = environment().gallery
في بعض الحالات، يمكنك إصلاحه عن طريق الحصول على خاصية من مورد قمت بنشره. على سبيل المثال، بدلاً من إنشاء نقطة النهاية لحساب التخزين الخاص بك، قم باسترجاعها باستخدام .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
التكوين
افتراضياً، تستخدم هذه القاعدة الإعدادات التالية لتحديد عناوين URL غير المسموح بها.
"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"
]
}
}
}
}
يمكنك تخصيصه عن طريق إضافة ملف bicepconfig.json وتطبيق إعدادات جديدة.
الخطوات التالية
لمزيد من المعلومات حول linter، راجعاستخدام Bicep linter.