Partager via


Règle Linter – adminPassword doit être affecté à une valeur sécurisée.

Cette règle recherche la valeur du chemin de propriété properties.osProfile.adminPassword pour les ressources de type Microsoft.Compute/virtualMachines ou Microsoft.Compute/virtualMachineScaleSets qui n’ont pas de valeur sécurisée.

Code de règle de linter

Utilisez la valeur suivante dans le fichier config Bicep pour personnaliser les paramètres de règle :

use-secure-value-for-secure-inputs

Solution

Affectez une valeur sécurisée à la propriété avec le chemin de propriété properties.osProfile.adminPassword pour les ressources de type Microsoft.Compute/virtualMachines ou Microsoft.Compute/virtualMachineScaleSets. N’utilisez pas de valeur littérale. Créez plutôt un paramètre avec le décorateur @secure() pour le mot de passe et affectez-le à adminPassword.

Les exemples suivants échouent à ce test, car adminPassword n’est pas une valeur sécurisée.

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

L’exemple suivant réussit ce test.

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

Étapes suivantes

Pour plus d’informations sur le linter, consultez Utiliser le linter Bicep.