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


Правило анализатора кода — безопасный параметр по умолчанию

Это правило находит жестко заданные значения по умолчанию для безопасных параметров.

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

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

secure-parameter-default

Решение

Не задайте жестко заданное значение по умолчанию для безопасного параметра в файле Bicep, если только это не пустая строка или выражение, вызывающее функцию newGuid().

Декоратор @secure() используется для параметров с конфиденциальными значениями, например для паролей. Если параметр использует безопасный декоратор, значение параметра не заносится в журнал и не сохраняется в журнале развертывания. Это действие не позволит злоумышленнику обнаружить конфиденциальное значение.

Однако при наличии значения по умолчанию для безопасного параметра оно может быть обнаружено любым пользователем, имеющим доступ к шаблону или журналу развертывания.

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

@secure()
param adminPassword string = 'HardcodedPassword'

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

@secure()
param adminPassword string

При необходимости можно использовать быстрое исправление для удаления незащищенного значения по умолчанию:

Снимок экрана: быстрое исправление правила linter по умолчанию для защищенного значения.

Также можно указать для значения по умолчанию пустую строку.

@secure()
param adminPassword string = ''

Кроме того, можно использовать newGuid() для создания значения по умолчанию.

@secure()
param adminPassword string = newGuid()

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

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