Bicep 구성 파일에 Linter 설정 추가
bicepconfig.json 파일에서 Bicep Linter에 대한 유효성 검사 설정을 사용자 지정할 수 있습니다. Linter는 모범 사례를 위해 Bicep 파일을 평가할 때 이러한 설정을 사용합니다.
이 문서에서는 Bicep Linter 작업에 사용할 수 있는 설정에 대해 설명합니다.
Linter 사용자 지정
Linter 설정은 analyzers
요소에서 사용할 수 있습니다. Linter 사용 여부를 설정하고, 규칙별 값을 제공하고, 규칙 수준을 설정할 수 있습니다.
다음 예는 구성에 사용할 수 있는 규칙을 보여 줍니다.
{
"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": "warning"
},
"max-outputs": {
"level": "warning"
},
"max-params": {
"level": "warning"
},
"max-resources": {
"level": "warning"
},
"max-variables": {
"level": "warning"
},
"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-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": "warning",
"maxAllowedAgeInDays": 730
},
"use-recent-module-versions": {
"level": "warning"
},
"use-resource-id-functions": {
"level": "warning"
},
"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": "warning"
}
}
}
}
}
속성은 다음과 같습니다.
- enabled: Linter를 사용하도록 설정하려면 true를 지정하고 사용하지 않도록 설정하려면 false를 지정합니다.
- verbose: Visual Studio Code에서 사용하는 bicepconfig.json 파일을 표시하려면 true를 지정합니다.
- rules: 규칙별 값을 지정합니다. 각 규칙에는 위반이 발견될 때 Linter가 대응하는 방식을 결정하는 수준이 있습니다.
level에 사용할 수 있는 값은 다음과 같습니다.
level | 빌드 시간 동작 | 편집기 동작 |
---|---|---|
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"
]
}
}
}
}
}
다음 단계
- Bicep 환경 구성
- Bicep 구성에서 모듈 설정 추가
- Bicep Linter에 대해 알아보기