Поделиться через


Правило Linter — имя пользователя администратора не должно быть литеральным

Это правило проверяет, не содержит ли имя пользователя администратора литеральное значение.

Код правила анализатора кода

Для настройки параметров правил укажите в файле конфигурации Bicep следующее значение:

adminusername-should-not-be-literal

Решение

Не используйте литерал или выражение, которое оценивается как литерал. Вместо этого создайте параметр для имени пользователя и назначьте ему значение имени пользователя администратора.

Следующий пример не проходит этот тест, так как имя пользователя задано литеральным значением.

resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      adminUsername: 'adminUsername'
    }
  }
}

Следующий пример не проходит этот тест, так как это выражение оценивается как литерал при использовании значения по умолчанию.

var defaultAdmin = 'administrator'
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      adminUsername: defaultAdmin
    }
  }
}

Следующий пример проходит этот тест.

@secure()
param adminUsername string
param location string
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      adminUsername: adminUsername
    }
  }
}

Следующие шаги

Дополнительные сведения об анализаторе кода Bicep см. в разделе Использование анализатора кода Bicep.