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


Правило Linter — безопасные секреты в параметрах

Это правило находит параметры, имена которых похожи на секреты, но не имеют декоратора secure. Например, имя параметра может содержать следующие ключевые слова:

  • password
  • pwd
  • secret
  • accountkey
  • acctkey

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

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

secure-secrets-in-params

Решение

Используйте декоратор secure для параметров, содержащих секреты. Декоратор secure помечает параметр как безопасный. Значение безопасного параметра не сохраняется в журнале развертывания и не записывается в журнал.

В следующем примере этот тест не удается пройти успешно, так как имя параметра может содержать секреты.

param mypassword string

Это можно исправить, добавив декоратор secure:

@secure()
param mypassword string

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

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

Устранение ложноположительных результатов

Иногда это правило оповещает о параметрах, которые на самом деле не содержат секретов. В таких случаях предупреждение для этой строки можно отключить, добавив #disable-next-line secure-secrets-in-params перед строкой с предупреждением. Например:

#disable-next-line secure-secrets-in-params   // Doesn't contain a secret
param mypassword string

Лучше всего добавить комментарий с объяснением того, почему правило не применяется к этой строке.

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

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