Quali sviluppatori di applicazioni e servizi devono conoscere i gruppi
Quando si sviluppa un'applicazione o un servizio, è possibile usare i gruppi per delegare l'amministrazione o controllare l'accesso all'applicazione o al servizio nel suo complesso o parte. Ad esempio, un'applicazione può controllare chi può eseguire varie operazioni amministrative. A tale scopo, creare gli ACL che concedono i diritti di accesso specificati ai gruppi appropriati. È buona norma di programmazione avere un ace che concede l'accesso a un gruppo piuttosto che avere diversi ACL che concedono l'accesso a singoli utenti o computer.
È consigliabile che le applicazioni usino le linee guida seguenti quando si usano i gruppi:
- Non creare dipendenze da gruppi hardcoded, che possono creare complicazioni se il gruppo viene eliminato o spostato.
- Evitare di usare gruppi predefiniti, a meno che la funzione del gruppo non fornisca le esigenze specifiche per l'applicazione. Ad esempio, non è necessario che un utente sia membro del gruppo Amministrazione istrators solo per fornire all'utente l'autorizzazione per creare un account computer. In questo modo l'utente dispone di autorizzazioni e privilegi che potrebbero non essere necessari, che possono causare vulnerabilità di sicurezza. È invece necessario creare un nuovo gruppo di sicurezza con le autorizzazioni specifiche necessarie e aggiungere l'utente a questo nuovo gruppo.
- Quando si creano nuovi gruppi, tenere presente quanto segue:
- Proteggere il gruppo impostando gli ACL che controllano chi può aggiungere o rimuovere membri.
- Usare i gruppi globali se vengono usati per il controllo di accesso sugli oggetti in Dominio di Active Directory Services.
- Usare gruppi universali solo se necessario (i dati dei membri sono necessari a livello globale usando il catalogo globale; il gruppo può contenere qualsiasi utente/gruppo). Se si usano gruppi universali, inserire i gruppi globali nel gruppo universale e aggiungere/rimuovere utenti dal gruppo globale. Evitare l'eccesso di modifiche ai gruppi universali per l'efficienza della replica.
- Non usare l'appartenenza al gruppo per il controllo di accesso. Usare invece ace e controllare l'accesso facendo in modo che il sistema esegua un controllo di accesso.
Per controllare l'accesso alle operazioni che non rientrano nei diritti di accesso predefiniti per gli oggetti nei servizi Dominio di Active Directory, usare la funzionalità di controllo dei diritti di accesso del controllo di accesso in Windows 2000. Per altre informazioni, vedere ADS_RIGHTS_ENUM.
Per usare un diritto di accesso di controllo per controllare il diritto di eseguire un'operazione
- Creare un diritto di accesso di controllo che definisce il tipo di accesso all'applicazione o al servizio. Per altre informazioni, vedere Controllare i diritti di accesso.
- Creare un oggetto in Dominio di Active Directory Services che rappresenta l'applicazione, il servizio o la risorsa.
- Aggiungere gli ACL dell'oggetto al descrittore di sicurezza degli oggetti per concedere o negare agli utenti o ai gruppi il diritto di accesso di controllo su tale oggetto. Per altre informazioni, vedere Impostazione dei diritti di accesso per un oggetto .
- Quando un utente tenta di eseguire l'operazione protetta, l'applicazione o il servizio usa la funzione AccessCheckByTypeResultList per determinare se il diritto di accesso di controllo viene concesso all'utente. Per altre informazioni, vedere Controllo di un diritto di accesso di controllo nell'ACL di un oggetto.
- In base al risultato del controllo di accesso sull'oggetto, l'applicazione o il servizio può concedere o negare all'utente l'accesso all'applicazione o al servizio.
Un'applicazione di servizio può anche creare un gruppo i cui membri sono le varie istanze del servizio. Ad esempio, un servizio con istanze installate in più computer in un'organizzazione potrebbe avere un file di log comune in cui tutte le istanze del servizio scrivono. Il programma di installazione del servizio crea il file di log e usa un DACL per concedere l'accesso solo ai membri di un gruppo. I membri del gruppo sono gli account utente in cui sono in esecuzione le varie istanze del servizio o se i servizi vengono eseguiti con l'account LocalSystem, i membri saranno gli account computer dei server host.