共用方式為


Linter 規則 - 巢狀部署中的安全參數

外部範圍的巢狀部署資源不應用於安全參數或 list* 函式。 您可以在部署歷程記錄中公開安全值。

Linter 規則程式碼

使用 Bicep 設定檔中的下列值來自訂規則設定:

secure-params-in-nested-deploy

解決方案

請將部署的 properties.expressionEvaluationOptions.scope 設定為 inner,或改為使用 Bicep 模組。

下列範例並無法通過此測試,因為外部範圍的巢狀部署資源中參考了安全參數。

@secure()
param secureValue string

resource nested 'Microsoft.Resources/deployments@2024-03-01' = {
  name: 'nested'
  properties: {
    mode: 'Incremental'
    template: {
      '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#'
      contentVersion: '1.0.0.0'
      variables: {}
      resources: [
        {
          name: 'outerImplicit'
          type: 'Microsoft.Network/networkSecurityGroups'
          apiVersion: '2023-11-01'
          location: '[resourceGroup().location]'
          properties: {
            securityRules: [
              {
                name: 'outerImplicit'
                properties: {
                  description: format('{0}', secureValue)
                  protocol: 'Tcp'
                }
              }
            ]
          }
        }
      ]
    }
  }
}

您可以將部署的 properties.expressionEvaluationOptions.scope 設定為 'inner' 來修正此問題:

@secure()
param secureValue string

resource nested 'Microsoft.Resources/deployments@2024-03-01' = {
  name: 'nested'
  properties: {
    mode: 'Incremental'
    expressionEvaluationOptions: {
      scope: 'Inner'      // Set to inner scope
    }
    template: {
      '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#'
      contentVersion: '1.0.0.0'
      variables: {}
      resources: [
        {
          name: 'outerImplicit'
          type: 'Microsoft.Network/networkSecurityGroups'
          apiVersion: '2023-11-01'
          location: '[resourceGroup().location]'
          properties: {
            securityRules: [
              {
                name: 'outerImplicit'
                properties: {
                  description: format('{0}', secureValue)
                  protocol: 'Tcp'
                }
              }
            ]
          }
        }
      ]
    }
  }
}

下一步

如需 Linter 的詳細資訊,請參閱使用 Bicep Linter