Linter-regel : protectedSettings gebruiken voor commandToExecute-geheimen
Deze regel vindt mogelijke blootstelling van geheimen in de eigenschap Instellingen van een aangepaste scriptresource.
Linter-regelcode
Gebruik de volgende waarde in het Bicep-configuratiebestand om regelinstellingen aan te passen:
protect-commandtoexecute-secrets
Oplossing
Voor aangepaste scriptresources moet de commandToExecute
waarde onder het protectedSettings
eigenschapsobject worden geplaatst in plaats van het settings
eigenschapsobject als het geheime gegevens zoals een wachtwoord bevat. Geheime gegevens zijn bijvoorbeeld te vinden in beveiligde parameters, list*
functies zoals listKeys of in aangepaste scriptsargumenten.
Gebruik geen geheime gegevens in het settings
object omdat er duidelijke tekst wordt gebruikt. Zie Microsoft.Compute virtualMachines/extensions, Aangepaste scriptextensie voor Windows en gebruik de aangepaste scriptextensie van Azure versie 2 met virtuele Linux-machines voor meer informatie.
Het volgende voorbeeld mislukt omdat commandToExecute
is opgegeven onder settings
en een beveiligde parameter gebruikt.
param vmName string
param location string
param fileUris string
param storageAccountName string
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-04-01' existing = {
name: storageAccountName
}
resource customScriptExtension 'Microsoft.HybridCompute/machines/extensions@2023-10-03-preview' = {
name: '${vmName}/CustomScriptExtension'
location: location
properties: {
publisher: 'Microsoft.Compute'
type: 'CustomScriptExtension'
autoUpgradeMinorVersion: true
settings: {
fileUris: split(fileUris, ' ')
commandToExecute: 'mycommand ${storageAccount.listKeys().keys[0].value}'
}
}
}
U kunt dit oplossen door de eigenschap commandToExecute naar het protectedSettings
object te verplaatsen.
param vmName string
param location string
param fileUris string
param storageAccountName string
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-04-01' existing = {
name: storageAccountName
}
resource customScriptExtension 'Microsoft.HybridCompute/machines/extensions@2023-10-03-preview' = {
name: '${vmName}/CustomScriptExtension'
location: location
properties: {
publisher: 'Microsoft.Compute'
type: 'CustomScriptExtension'
autoUpgradeMinorVersion: true
settings: {
fileUris: split(fileUris, ' ')
}
protectedSettings: {
commandToExecute: 'mycommand ${storageAccount.listKeys().keys[0].value}'
}
}
}
Volgende stappen
Zie Bicep linter gebruiken voor meer informatie over de linter.