Contrôler les droits d’accès (AD DS)

Tous les objets de services de domaine Active Directory prennent en charge un ensemble standard de droits d’accès définis dans l’énumération ADS_RIGHTS_ENUM. Ces droits d’accès peuvent être utilisés dans les entrées de Access Control du descripteur de sécurité d’un objet pour contrôler l’accès à l’objet; autrement dit, pour contrôler qui peut effectuer des opérations standard, telles que la création et la suppression d’objets enfants, ou la lecture et l’écriture des attributs de l’objet. Toutefois, pour certaines classes d’objets, il peut être souhaitable de contrôler l’accès d’une manière non prise en charge par les droits d’accès standard. Pour faciliter cela, services de domaine Active Directory autoriser l’extension du mécanisme de contrôle d’accès standard via l’objet controlAccessRight.

Les droits d’accès de contrôle sont utilisés de trois façons :

  • Pour les droits étendus, qui sont des opérations spéciales non couvertes par l’ensemble standard de droits d’accès. Par exemple, la classe utilisateur peut se voir accorder un droit « Envoyer en tant que » qui peut être utilisé par Exchange, Outlook ou toute autre application de messagerie, pour déterminer si un utilisateur particulier peut demander à un autre utilisateur d’envoyer des messages en son nom. Les droits étendus sont créés sur les objets controlAccessRight en définissant l’attribut validAccesses comme égal au droit d’accès ADS_RIGHT_DS_CONTROL_ACCESS (256).

  • Pour définir des jeux de propriétés, pour activer le contrôle d’accès à un sous-ensemble des attributs d’un objet, plutôt qu’aux attributs individuels. À l’aide des droits d’accès standard, un seul ACE peut accorder ou refuser l’accès à tous les attributs d’un objet ou à un attribut unique. Les droits d’accès de contrôle permettent à un seul ACE de contrôler l’accès à un ensemble d’attributs. Par exemple, la classe utilisateur prend en charge le jeu de propriétés Informations personnelles qui inclut des attributs tels que l’adresse postale et le numéro de téléphone. Les droits de jeu de propriétés sont créés sur les objets controlAccessRight en définissant l’attribut validAccesses de manière à contenir les droits d’accès ACTR_DS_READ_PROP (16) et ACTRL_DS_WRITE_PROP (32).

  • Pour les écritures validées, exiger que le système effectue une vérification des valeurs, ou une validation, au-delà de ce qui est requis par le schéma, avant d’écrire une valeur dans un attribut sur un objet DS. Cela garantit que la valeur entrée pour l’attribut est conforme à la sémantique requise, qu’elle se trouve dans une plage légale de valeurs ou qu’elle fait l’objet d’une autre vérification spéciale qui ne serait pas effectuée pour une simple écriture de bas niveau sur l’attribut. Une écriture validée est associée à une autorisation spéciale distincte de l’autorisation « Attribut> d’écriture <» qui permettrait d’écrire n’importe quelle valeur dans l’attribut sans vérification de valeur effectuée. L’écriture validée est le seul des trois droits d’accès de contrôle qui ne peuvent pas être créés en tant que nouveau droit d’accès de contrôle pour une application. Cela est dû au fait que le système existant ne peut pas être modifié par programmation pour appliquer la validation. Si un droit d’accès de contrôle a été configuré dans le système en tant qu’écriture validée, l’attribut validAccesses sur les objets controlAccessRight contiendra le droit d’accès ADS_RIGHT_DS_SELF (8).

    Il n’y a que trois écritures validées définies dans le schéma Windows 2000 Active Directory :

    • Self-Membership autorisation sur un objet Group, ce qui permet d’ajouter ou de supprimer le compte de l’appelant, mais aucun autre compte, de l’appartenance à un groupe.
    • Autorisation Validated-DNS-Host-Name sur un objet Computer, qui permet de définir un attribut de nom d’hôte DNS conforme au nom d’ordinateur et au nom de domaine.
    • Autorisation SPN validée sur un objet Computer, qui permet de définir un attribut SPN conforme au nom d’hôte DNS de l’ordinateur.

Pour des raisons pratiques, chaque droit d’accès de contrôle est représenté par un objet controlAccessRight dans le conteneur Extended-Rights de la partition Configuration, même si les jeux de propriétés et les écritures validées ne sont pas considérés comme des droits étendus. Étant donné que le conteneur Configuration est répliqué sur l’ensemble de la forêt, les droits de contrôle sont propagés dans tous les domaines d’une forêt. Il existe un certain nombre de droits d’accès de contrôle prédéfinis et, bien sûr, des droits d’accès personnalisés peuvent également être définis.

Tous les droits d’accès de contrôle peuvent être consultés en tant qu’autorisations dans l’éditeur ACL.

Pour plus d’informations et un exemple de code C++ et Visual Basic qui définit un ACE pour contrôler l’accès en lecture/écriture à un jeu de propriétés, consultez Exemple de code pour la définition d’un ACE sur un objet Directory.

Pour plus d’informations sur l’utilisation des droits d’accès de contrôle pour contrôler l’accès aux opérations spéciales, consultez :