Reguła lintera — nazwa użytkownika administratora nie powinna być literałem

Ta reguła znajduje się, gdy nazwa użytkownika administratora jest ustawiona na wartość literału.

Kod reguły Linter

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

adminusername-should-not-be-literal

Rozwiązanie

Nie używaj wartości literału ani wyrażenia, które daje w wyniku wartość literału. Zamiast tego utwórz parametr nazwy użytkownika i przypisz go do nazwy użytkownika administratora.

Poniższy przykład kończy się niepowodzeniem w tym teście, ponieważ nazwa użytkownika jest wartością literału.

resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      adminUsername: 'adminUsername'
    }
  }
}

Następny przykład kończy się niepowodzeniem w tym teście, ponieważ wyrażenie oblicza wartość literału, gdy jest używana wartość domyślna.

var defaultAdmin = 'administrator'
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      adminUsername: defaultAdmin
    }
  }
}

W tym przykładzie ten test przebiegnie pomyślnie.

@secure()
param adminUsername string
param location string
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
  name: 'name'
  location: location
  properties: {
    osProfile: {
      adminUsername: adminUsername
    }
  }
}

Następne kroki

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