リンター ルール - adminPassword には、安全な値を割り当てる必要があります。

このルールは、properties.osProfile.adminPasswordセキュリティで保護された値を持たない Microsoft.Compute/virtualMachines または Microsoft.Compute/virtualMachineScaleSets 型のリソースに対してプロパティ パスの値を検索します。

リンター ルールのコード

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

use-secure-value-for-secure-inputs

解決策

properties.osProfile.adminPasswordMicrosoft.Compute/virtualMachines または Microsoft.Compute/virtualMachineScaleSets 型のリソースのプロパティ パスを使用して、セキュリティで保護された値をプロパティに割り当てます。 リテラル値を使用しないでください。 代わりに、パスワードの @secure() デコレーター を使用してパラメーターを作成し、adminPasswordに割り当てます。

次の例では、adminPassword がセキュリティで保護された値ではないため、このテストに失敗します。

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

次の例は、このテストで合格になります。

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

次のステップ

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