共用方式為


Linter 規則 - adminPassword 應指派安全值。

此規則會尋找類型Microsoft.Compute/virtualMachinesMicrosoft.Compute/virtualMachineScaleSets沒有安全值之資源的屬性路徑properties.osProfile.adminPassword值。

Linter 規則程式碼

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

use-secure-value-for-secure-inputs

解決方案

使用 或 Microsoft.Compute/virtualMachineScaleSets類型的Microsoft.Compute/virtualMachines資源屬性路徑properties.osProfile.adminPassword,將安全值指派給 屬性。 請勿使用常值。 請改為使用密碼的裝飾專案建立參數@secure(),並將它指派給 adminPassword

下列範例會失敗此測試,因為 adminPassword 不是安全值。

resource ubuntuVM 'Microsoft.Compute/virtualMachineScaleSets@2024-03-01' = {
  name: 'name'
  location: 'West US'
  properties: {
    virtualMachineProfile: {
      osProfile: {
        adminUsername: 'adminUsername'
        adminPassword: 'adminPassword'
      }
    }
  }
}
resource ubuntuVM 'Microsoft.Compute/virtualMachines@2024-03-01' = {
  name: 'name'
  location: 'West US'
  properties: {
    osProfile: {
      computerName: 'computerName'
      adminUsername: 'adminUsername'
      adminPassword: 'adminPassword'
    }
  }
}
param adminPassword string

resource ubuntuVM 'Microsoft.Compute/virtualMachines@2024-03-01' = {
  name: 'name'
  location: 'West US'
  properties: {
    osProfile: {
      computerName: 'computerName'
      adminUsername: 'adminUsername'
      adminPassword: adminPassword
    }
  }
}

下列範例通過了此測試。

@secure()
param adminPassword string
@secure()
param adminUsername string
param location string = resourceGroup().location

resource ubuntuVM 'Microsoft.Compute/virtualMachines@2024-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      computerName: 'computerName'
      adminUsername: adminUsername
      adminPassword: adminPassword
    }
  }
}

下一步

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