Condividi tramite


Controllo dei diritti di accesso (AD DS)

Tutti gli oggetti in Dominio di Active Directory Services supportano un set standard di diritti di accesso definiti nell'enumerazione ADS_RIGHTS_ENUM. Questi diritti di accesso possono essere utilizzati nelle voci di Controllo di accesso del descrittore di sicurezza di un oggetto per controllare l'accesso all'oggetto, ovvero per controllare chi può eseguire operazioni standard, ad esempio la creazione e l'eliminazione di oggetti figlio o la lettura e la scrittura degli attributi dell'oggetto. Tuttavia, per alcune classi di oggetti, potrebbe essere preferibile controllare l'accesso in modo non supportato dai diritti di accesso standard. Per facilitare questa operazione, i servizi di Dominio di Active Directory consentono l'estensione del meccanismo di controllo di accesso standard tramite l'oggetto controlAccessRight.

I diritti di accesso di controllo vengono usati in tre modi:

  • Per i diritti estesi, che sono operazioni speciali non coperte dal set standard di diritti di accesso. Ad esempio, alla classe utente può essere concesso un diritto "Invia con nome" che può essere utilizzato da Exchange, Outlook o qualsiasi altra applicazione di posta elettronica, per determinare se un determinato utente può inviare messaggi di posta elettronica per loro conto. I diritti estesi vengono creati sugli oggetti controlAccessRight impostando l'attributo validAccesses su uguale al diritto di accesso di ADS_RIGHT_DS_CONTROL_ACCESS (256).

  • Per definire i set di proprietà, per abilitare il controllo dell'accesso a un subset degli attributi di un oggetto, anziché solo ai singoli attributi. Usando i diritti di accesso standard, un singolo ace può concedere o negare l'accesso a tutti gli attributi di un oggetto o a un singolo attributo. I diritti di accesso di controllo consentono a un singolo ace di controllare l'accesso a un set di attributi. Ad esempio, la classe utente supporta il set di proprietà Personal-Information che include attributi quali indirizzo e numero di telefono. I diritti dei set di proprietà vengono creati per gli oggetti controlAccessRight impostando l'attributo validAccesses per contenere sia il ACTR_DS_READ_PROP (16) che i diritti di accesso ACTRL_DS_WRITE_PROP (32).

  • Per le scritture convalidate, per richiedere che il sistema esegua il controllo del valore o la convalida, oltre a quello richiesto dallo schema, prima di scrivere un valore in un attributo in un oggetto DS. In questo modo si garantisce che il valore immesso per l'attributo sia conforme alla semantica richiesta, si trova all'interno di un intervallo legale di valori o subisce un altro controllo speciale che non verrebbe eseguito per una semplice scrittura di basso livello nell'attributo. Una scrittura convalidata è associata a un'autorizzazione speciale distinta dall'autorizzazione "Write <attribute>" che consente la scrittura di qualsiasi valore nell'attributo senza eseguire alcun controllo del valore. La scrittura convalidata è l'unico dei tre diritti di accesso di controllo che non possono essere creati come nuovo diritto di accesso di controllo per un'applicazione. Ciò è dovuto al fatto che il sistema esistente non può essere modificato a livello di codice per applicare la convalida. Se un diritto di accesso al controllo è stato configurato nel sistema come scrittura convalidata, l'attributo validAccesses negli oggetti controlAccessRight conterrà il diritto di accesso ADS_RIGHT_DS_edizione Standard LF (8).

    Esistono solo tre scritture convalidate definite nello schema di Active Directory di Windows 2000:

    • Autorizzazione di appartenenza automatica per un oggetto Group, che consente all'account del chiamante, ma nessun altro account, di essere aggiunto o rimosso dall'appartenenza a un gruppo.
    • Autorizzazione Validated-DNS-Host-Name per un oggetto Computer, che consente di impostare un attributo del nome host DNS conforme al nome computer e al nome di dominio.
    • Autorizzazione Validated-SPN per un oggetto Computer, che consente di impostare un attributo SPN conforme al nome host DNS del computer.

Per praticità, ogni diritto di accesso di controllo è rappresentato da un oggetto controlAccessRight nel contenitore Extended-Rights della partizione Di configurazione, anche se i set di proprietà e le scritture convalidate non vengono considerati diritti estesi. Poiché il contenitore di configurazione viene replicato nell'intera foresta, i diritti di controllo vengono propagati in tutti i domini di una foresta. Esistono diversi diritti di accesso predefiniti per il controllo e, naturalmente, è anche possibile definire diritti di accesso personalizzati.

Tutti i diritti di accesso di controllo possono essere visualizzati come autorizzazioni nell'editor ACL.

Per altre informazioni e un esempio di codice C++ e Visual Basic che imposta un ace per controllare l'accesso in lettura/scrittura a un set di proprietà, vedere Codice di esempio per l'impostazione di un ace in un oggetto directory.

Per altre informazioni sull'uso dei diritti di accesso di controllo per controllare l'accesso alle operazioni speciali, vedere: