Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Regel findet mögliche Belichtung von Geheimnissen in der Einstellungseigenschaft einer benutzerdefinierten Skriptressource.
Linter-Regelcode
Verwenden Sie den folgenden Wert in der Bicep-Konfigurationsdatei, um die Regeleinstellungen anzupassen:
protect-commandtoexecute-secrets
Lösung
Bei benutzerdefinierten Skriptressourcen sollte der Wert commandToExecute unter dem protectedSettings Eigenschaftsobjekt und nicht unter dem Eigenschaftsobjekt settings platziert werden, wenn es geheime Daten wie ein Kennwort enthält. Geheime Daten können z. B. in sicheren Parametern, list*-Funktionen wie listKeys oder in benutzerdefinierten Skriptargumenten gefunden werden.
Verwenden Sie keine Geheimnisdaten im settings-Objekt, da dieses Klartext verwendet. Weitere Informationen finden Sie unter Microsoft.Compute virtualMachines/extensions, Custom Script Extension für Windows und Verwenden der Azure Custom Script Extension Version 2 mit Linux-Virtual-Machines.
Das folgende Beispiel schlägt fehl, weil commandToExecute unter settings angegeben ist und einen sicheren Parameter verwendet.
param vmName string
param location string
param fileUris string
param storageAccountName string
resource storageAccount 'Microsoft.Storage/storageAccounts@2025-06-01' existing = {
name: storageAccountName
}
resource customScriptExtension 'Microsoft.HybridCompute/machines/extensions@2025-02-19-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}'
}
}
}
Sie können das Problem beheben, indem Sie die commandToExecute-Eigenschaft in das Objekt protectedSettings verschieben.
param vmName string
param location string
param fileUris string
param storageAccountName string
resource storageAccount 'Microsoft.Storage/storageAccounts@2025-06-01' existing = {
name: storageAccountName
}
resource customScriptExtension 'Microsoft.HybridCompute/machines/extensions@2025-02-19-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}'
}
}
}
Nächste Schritte
Weitere Informationen über den Linter finden Sie unter Verwendung des Bicep-Linters.