다음을 통해 공유


Linter 규칙 - adminPassword에는 보안 값이 할당되어야 합니다.

이 규칙은 보안 값이 없는 Microsoft.Compute/virtualMachines 또는 Microsoft.Compute/virtualMachineScaleSets 형식의 리소스에 대한 속성 경로 properties.osProfile.adminPassword의 값을 찾습니다.

Linter 규칙 코드

Bicep 구성 파일의 다음 값을 사용하여 규칙 설정을 사용자 지정합니다.

use-secure-value-for-secure-inputs

솔루션

Microsoft.Compute/virtualMachines 또는 Microsoft.Compute/virtualMachineScaleSets 형식의 리소스에 대해 속성 경로가 properties.osProfile.adminPassword인 속성에 보안 값을 할당합니다. 리터럴 값을 사용하지 마세요. 대신 암호에 대한 @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
    }
  }
}

다음 단계

Linter에 관한 자세한 내용은 Bicep Linter 사용을 참조하세요.