次の方法で共有


Bicep 構成ファイルにリンター設定を追加する

bicepconfig.json ファイルでは、Bicep リンターの検証設定をカスタマイズできます。 リンターでは、ベスト プラクティスに関して Bicep ファイルを評価するときに、これらの設定が使用されます。

この記事では、Bicep リンターの操作に使用できる設定について説明します。

リンターのカスタマイズ

リンター設定は、analyzers 要素にあります。 リンターを有効または無効にしたり、ルール固有の値を指定したり、ルールのレベルを設定したりできます。

次の例は、構成に使用できる規則を示しています。

{
  "analyzers": {
    "core": {
      "enabled": true,
      "rules": {
        "adminusername-should-not-be-literal": {
          "level": "warning"
        },
        "artifacts-parameters": {
          "level": "warning"
        },
        "decompiler-cleanup": {
          "level": "warning"
        },
        "explicit-values-for-loc-params": {
          "level": "off"
        },
        "max-asserts": {
          "level": "error"
        },
        "max-outputs": {
          "level": "error"
        },
        "max-params": {
          "level": "error"
        },
        "max-resources": {
          "level": "error"
        },
        "max-variables": {
          "level": "error"
        },
        "nested-deployment-template-scoping": {
          "level": "error"
        },
        "no-conflicting-metadata" : {
          "level": "warning"
        },
        "no-deployments-resources" : {
          "level": "warning"
        },
        "no-hardcoded-env-urls": {
          "level": "warning"
        },
        "no-hardcoded-___location": {
          "level": "off"
        },
        "no-loc-expr-outside-params": {
          "level": "off"
        },
        "no-unnecessary-dependson": {
          "level": "warning"
        },
        "no-unused-existing-resources": {
          "level": "warning"
        },
        "no-unused-imports": {
          "level": "warning"
        },
        "no-unused-params": {
          "level": "warning"
        },
        "no-unused-vars": {
          "level": "warning"
        },
        "outputs-should-not-contain-secrets": {
          "level": "warning"
        },
        "prefer-interpolation": {
          "level": "warning"
        },
        "prefer-unquoted-property-names": {
          "level": "warning"
        },
        "protect-commandtoexecute-secrets": {
          "level": "warning"
        },
        "secure-parameter-default": {
          "level": "warning"
        },
        "secure-params-in-nested-deploy": {
          "level": "warning"
        },
        "secure-secrets-in-params": {
          "level": "warning"
        },
        "simplify-interpolation": {
          "level": "warning"
        },
        "simplify-json-null": {
          "level": "warning"
        },
        "use-parent-property": {
          "level": "warning"
        },
        "use-recent-api-versions": {
          "level": "off",
          "maxAllowedAgeInDays": 730
        },
        "use-recent-module-versions": {
          "level": "off"
        },
        "use-resource-id-functions": {
          "level": "off"
        },
        "use-resource-symbol-reference": {
          "level": "warning"
        },
        "use-safe-access": {
          "level": "warning"
        },
        "use-secure-value-for-secure-inputs": {
          "level": "error"
        },
        "use-stable-resource-identifiers": {
          "level": "warning"
        },
        "use-stable-vm-image": {
          "level": "warning"
        },
        "what-if-short-circuiting": {
          "level": "off"
        }
      }
    }
  }
}

プロパティは次のとおりです。

  • enabled: リンターを有効にする場合 は true 、リンターを無効にする場合 は false を指定します。
  • verbose: visual Studio Code で使用される bicepconfig.json ファイルを表示するには 、true を 指定します。
  • rules: ルール固有の値を指定します。 各ルールには、違反が見つかった場合のリンターの応答方法を決定するレベルがあります。

レベルで使用できる値は次のとおりです。

レベル ビルド時の動作 エディターの動作
Error 違反はコマンド ライン ビルド出力でエラーとして表示され、ビルドが失敗します。 問題のあるコードには赤色の波線で下線が引かれ、[問題] タブに表示されます。
Warning 違反はコマンド ライン ビルド出力で警告として表示されますが、ビルドが失敗することはありません。 問題のあるコードには黄色の波線で下線が引かれ、[問題] タブに表示されます。
Info 違反は、コマンド ライン ビルド出力には表示されません。 エラーのあるコードは青い波線で下線が引かれ、問題タブに表示されます。
Off 完全に抑制されます。 完全に抑制されます。

環境 URL

ハードコーディングされた環境 URL に関する規則では、チェックする URL をカスタマイズできます。 既定では、次の設定が適用されます。

{
  "analyzers": {
    "core": {
      "enabled": true,
      "rules": {
        "no-hardcoded-env-urls": {
          "level": "warning",
          "disallowedhosts": [
            "api.loganalytics.io",
            "api.loganalytics.iov1",
            "asazure.windows.net",
            "azuredatalakeanalytics.net",
            "azuredatalakestore.net",
            "batch.core.windows.net",
            "core.windows.net",
            "database.windows.net",
            "datalake.azure.net",
            "gallery.azure.com",
            "graph.windows.net",
            "login.microsoftonline.com",
            "management.azure.com",
            "management.core.windows.net",
            "region.asazure.windows.net",
            "trafficmanager.net",
            "vault.azure.net"
          ],
          "excludedhosts": [
            "schema.management.azure.com"
          ]
        }
      }
    }
  }
}

次のステップ