Linter 規則 - adminPassword 應指派安全值。
此規則會尋找類型Microsoft.Compute/virtualMachines
或Microsoft.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。