Partilhar via


Regra de Linter - adminPassword deve receber um valor seguro.

Esta regra localiza o valor do caminho properties.osProfile.adminPassword da propriedade para recursos do tipo Microsoft.Compute/virtualMachines ou Microsoft.Compute/virtualMachineScaleSets que não têm um valor seguro.

Código da regra de linha

Use o seguinte valor no arquivo de configuração do Bicep para personalizar as configurações da regra:

use-secure-value-for-secure-inputs

Solução

Atribua um valor seguro à propriedade com o caminho properties.osProfile.adminPassword da propriedade para recursos do tipo Microsoft.Compute/virtualMachines ou Microsoft.Compute/virtualMachineScaleSets. Não use um valor literal. Em vez disso, crie um parâmetro com o @secure() decorador para a senha e atribua-o ao adminPassword.

Os exemplos a seguir falham neste teste porque o adminPassword não é um valor seguro.

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
    }
  }
}

O exemplo a seguir passa nesse teste.

@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
    }
  }
}

Próximos passos

Para obter mais informações sobre o linter, consulte Usar binter linter.