リンター ルール - 管理者ユーザー名をリテラルにすることはできない

このルールは、管理者ユーザー名がリテラル値に設定されている場合を検索します。

リンター ルールのコード

ルール設定をカスタマイズするには、Bicep 構成ファイルで次の値を使用します。

adminusername-should-not-be-literal

解決策

リテラル値や、リテラル値に評価される式は使用しないでください。 代わりに、ユーザー名のパラメーターを作成し、それを管理者ユーザー名に割り当てます。

次の例では、ユーザー名がリテラル値であるため、このテストは失敗します。

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

次の例では、既定値が使用されている場合に式がリテラル値に評価されるため、このテストは失敗します。

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

次の例は、このテストに合格します。

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

次のステップ

リンターの詳細については、「Bicep リンターの使用方法」を参照してください。