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

Это правило находит значение пути properties.osProfile.adminPassword свойства для ресурсов типа Microsoft.Compute/virtualMachines или Microsoft.Compute/virtualMachineScaleSets не имеет безопасного значения.

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

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

use-secure-value-for-secure-inputs

Решение

Назначьте безопасное значение свойству путем свойства properties.osProfile.adminPassword для ресурсов типа Microsoft.Compute/virtualMachines или Microsoft.Compute/virtualMachineScaleSets. Не используйте литеральное значение. Вместо этого создайте параметр с декоратором @secure() для пароля и назначьте егоadminPassword.

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

resource ubuntuVM 'Microsoft.Compute/virtualMachineScaleSets@2024-03-01' = {
  name: 'name'
  location: 'West US'
  properties: {
    virtualMachineProfile: {
      osProfile: {
        adminUsername: 'adminUsername'
        adminPassword: 'adminPassword'
      }
    }
  }
}
resource ubuntuVM 'Microsoft.Compute/virtualMachines@2024-03-01' = {
  name: 'name'
  location: 'West US'
  properties: {
    osProfile: {
      computerName: 'computerName'
      adminUsername: 'adminUsername'
      adminPassword: 'adminPassword'
    }
  }
}
param adminPassword string

resource ubuntuVM 'Microsoft.Compute/virtualMachines@2024-03-01' = {
  name: 'name'
  location: 'West US'
  properties: {
    osProfile: {
      computerName: 'computerName'
      adminUsername: 'adminUsername'
      adminPassword: adminPassword
    }
  }
}

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

@secure()
param adminPassword string
@secure()
param adminUsername string
param location string = resourceGroup().location

resource ubuntuVM 'Microsoft.Compute/virtualMachines@2024-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      computerName: 'computerName'
      adminUsername: adminUsername
      adminPassword: adminPassword
    }
  }
}

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

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