Condividi tramite


Protezione delle risorse

La funzionalità di Windows Installer per impostare le autorizzazioni di accesso per servizi, file, cartelle create e voci del Registro di sistema consente di rendere le applicazioni di installazione più sicure. L'uso di MsiLockPermissionsEx o tabelle LockPermissions per proteggere le risorse è una delle linee guida consigliate per la creazione di installazioni sicure. La tabella MsiLockPermissionsEx può consentire a un autore del pacchetto di proteggere una risorsa senza dover scrivere un'azione personalizzata .

A partire dai pacchetti sviluppati per Windows Installer 5.0, la tabella msiLockPermissionsEx deve sostituire l'uso della tabella LockPermissions. La funzionalità estesa fornita dalla tabella MsiLockPermissionsEx consente a un pacchetto di proteggere Windows Services, file, cartelle e chiavi del Registro di sistema. Un pacchetto non deve contenere sia le tabelle MsiLockPermissionsEx che LockPermissions.

Windows Installer 4.5 e versioni precedenti ignora la tabella MsiLockPermissionsEx. A partire da Windows Installer 5.0, l'installazione non riesce e viene visualizzato un messaggio di errore 1941 se il pacchetto contiene sia una tabella LockPermissions che una tabella MsiLockPermissionsEx. I pacchetti di installazione esistenti che contengono solo la tabella LockPermissions possono essere ancora installati usando Windows Installer 5.0.

Windows Installer 5.0 elabora le informazioni nella tabella MsiLockPermissionsEx durante l'esecuzione di InstallFiles, InstallServices, WriteRegistryValues e CreateFolders azioni standard. Un oggetto a protezione diretta deve essere installato o reinstallato per essere protetto e non è possibile accodare un elenco di controllo di accesso (ACL) a un oggetto esistente senza reinstallare tale oggetto.

Per specificare il servizio, il file, la directory o la chiave del Registro di sistema da proteggere, immettere le informazioni di identificazione nei campi LockObject e Table della tabella MsiLockPermissionsEx. Un oggetto viene identificato dalla chiave primaria nella tabella ServiceInstall Table, File Table, Tabella del Registro di sistemao Tabella CreateFolder.

Per richiedere che le autorizzazioni specificate si applichino a un oggetto, immettere una stringa del descrittore di sicurezza valida nel campo SDDLText della tabella MsiLockPermissionsEx usando il linguaggio di definizione del descrittore di sicurezza (SDDL). La tabella MsiLockPermissionsEx può specificare un descrittore di sicurezza che nega le autorizzazioni, specifica l'ereditarietà delle autorizzazioni da una risorsa padre o specifica le autorizzazioni di un nuovo account. Per un elenco di tutte le autorizzazioni che possono essere concesse, negate o ereditate, consultare ACE Strings. Windows Installer 5.0 estende il set di identificatori di sicurezza (SID) disponibili. Per un elenco dei SID validi, vedere stringhe SID.

Nota

Se si desidera configurare il descrittore di sicurezza di una risorsa padre per specificare che le relative autorizzazioni vengano ereditate dagli oggetti figlio, il programma di installazione deve applicare le autorizzazioni alla risorsa padre prima di creare gli oggetti figlio. Se il programma di installazione crea gli oggetti figlio prima di applicare le autorizzazioni ereditabili alla risorsa padre, le autorizzazioni della risorsa padre non verranno propagate agli oggetti figlio.

A partire da Windows Installer 5.0, il tipo di dati FormattedSDDLText estende il tipo di dati Formatted. Windows Installer verifica che la stringa FormattedSDDLText immessa nella colonna SDDLText della tabella MsiLockPermissionsEx sia conforme al formato stringa del descrittore di sicurezza .

Windows Installer 4.5 o versioni precedenti: Non supportato. La tabella MsiLockPermissionsEx e il tipo di dati FormattedSDDLText sono disponibili a partire da Windows Installer 5.0.