Linter 规则 - 应为 adminPassword 分配一个安全值。
此规则在 Microsoft.Compute/virtualMachines
或 Microsoft.Compute/virtualMachineScaleSets
类型资源的属性路径 properties.osProfile.adminPassword
中查找没有安全值的值。
Linter 规则代码
请在 Bicep 配置文件中使用以下值自定义规则设置:
use-secure-value-for-secure-inputs
解决方案
对于 Microsoft.Compute/virtualMachines
或 Microsoft.Compute/virtualMachineScaleSets
类型的资源,请为具有属性路径 properties.osProfile.adminPassword
的属性分配一个安全值。 不要使用文本值。 请改为为密码创建具有 @secure()
修饰器的参数,并将其分配给 adminPassword
。
以下示例未通过此测试,因为 adminPassword
不是安全值。
resource ubuntuVM 'Microsoft.Compute/virtualMachineScaleSets@2024-03-01' = {
name: 'name'
location: 'China North 2'
properties: {
virtualMachineProfile: {
osProfile: {
adminUsername: 'adminUsername'
adminPassword: 'adminPassword'
}
}
}
}
resource ubuntuVM 'Microsoft.Compute/virtualMachines@2024-03-01' = {
name: 'name'
location: 'China North 2'
properties: {
osProfile: {
computerName: 'computerName'
adminUsername: 'adminUsername'
adminPassword: 'adminPassword'
}
}
}
param adminPassword string
resource ubuntuVM 'Microsoft.Compute/virtualMachines@2024-03-01' = {
name: 'name'
location: 'China North 2'
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。