Udostępnij za pośrednictwem


Reguła Linter — adminPassword powinna mieć przypisaną bezpieczną wartość.

Ta reguła znajduje wartość ścieżki properties.osProfile.adminPassword właściwości dla zasobów typu Microsoft.Compute/virtualMachines lub Microsoft.Compute/virtualMachineScaleSets nie ma bezpiecznej wartości.

Kod reguły Linter

Użyj następującej wartości w pliku konfiguracji Bicep, aby dostosować ustawienia reguły:

use-secure-value-for-secure-inputs

Rozwiązanie

Przypisz bezpieczną wartość do właściwości przy użyciu ścieżki properties.osProfile.adminPassword właściwości dla zasobów typu Microsoft.Compute/virtualMachines lub Microsoft.Compute/virtualMachineScaleSets. Nie używaj wartości literału. Zamiast tego utwórz parametr z dekoratorem @secure() hasła i przypisz go do adminPasswordelementu .

Poniższe przykłady kończą się niepowodzeniem tego testu, ponieważ adminPassword nie jest to bezpieczna wartość.

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

Poniższy przykład przekazuje ten 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
    }
  }
}

Następne kroki

Aby uzyskać więcej informacji na temat lintera, zobacz Use Bicep linter (Używanie lintera Bicep).