Linter 規則 - 管理員使用者名稱不應該是常值

此規則會尋找管理員使用者名稱是否設為常值。

Linter 規則程式碼

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

adminusername-should-not-be-literal

解決方案

請勿使用常值或評估為常值的運算式。 而是建立使用者名稱的參數,並將其指派給管理員使用者名稱。

下列範例會導致此測試失敗,因為使用者名稱為常值。

resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      adminUsername: 'adminUsername'
    }
  }
}

下一個範例會導致此測試失敗,因為使用預設值時運算式會評估為常值。

var defaultAdmin = 'administrator'
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      adminUsername: defaultAdmin
    }
  }
}

此範例可通過此測試。

@secure()
param adminUsername string
param location string
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      adminUsername: adminUsername
    }
  }
}

下一步

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