Controlar los derechos de acceso (AD DS)

Todos los objetos de Servicios de dominio de Active Directory admiten un conjunto estándar de derechos de acceso definidos en la enumeración ADS_RIGHTS_ENUM. Estos derechos de acceso se pueden usar en las entradas de Access Control (ACE) del descriptor de seguridad de un objeto para controlar el acceso al objeto; es decir, para controlar quién puede realizar operaciones estándar, como crear y eliminar objetos secundarios, o leer y escribir los atributos de objeto. Sin embargo, para algunas clases de objeto, puede ser conveniente controlar el acceso de una manera no compatible con los derechos de acceso estándar. Para facilitar esto, Servicios de dominio de Active Directory permitir que el mecanismo de control de acceso estándar se extienda a través del objeto controlAccessRight.

Los derechos de acceso de control se usan de tres maneras:

  • Para los derechos extendidos, que son operaciones especiales no cubiertas por el conjunto estándar de derechos de acceso. Por ejemplo, a la clase de usuario se le puede conceder un derecho de "Enviar como" que puede usar Exchange, Outlook o cualquier otra aplicación de correo, para determinar si un usuario determinado puede hacer que otro usuario envíe correo en su nombre. Los derechos extendidos se crean en los objetos controlAccessRight estableciendo el atributo validAccesses para que sea igual al derecho de acceso ADS_RIGHT_DS_CONTROL_ACCESS (256).

  • Para definir conjuntos de propiedades, para habilitar el control del acceso a un subconjunto de los atributos de un objeto, en lugar de simplemente a los atributos individuales. Con los derechos de acceso estándar, una única ACE puede conceder o denegar el acceso a todos los atributos de un objeto o a un único atributo. Los derechos de acceso de control proporcionan una manera de que una única ACE controle el acceso a un conjunto de atributos. Por ejemplo, la clase de usuario admite el conjunto de propiedades Información personal que incluye atributos como la dirección postal y el número de teléfono. Los derechos de conjunto de propiedades se crean en los objetos controlAccessRight estableciendo el atributo validAccesses para que contenga los derechos de acceso ACTR_DS_READ_PROP (16) y ACTRL_DS_WRITE_PROP ( 32).

  • Para las escrituras validadas, para requerir que el sistema realice la comprobación de valores o la validación, más allá de lo que requiere el esquema, antes de escribir un valor en un atributo en un objeto DS. Esto garantiza que el valor especificado para el atributo se ajuste a la semántica necesaria, se encuentra dentro de un intervalo legal de valores o se somete a alguna otra comprobación especial que no se realizaría para una escritura simple de bajo nivel en el atributo. Una escritura validada está asociada a un permiso especial distinto del permiso "Write <attribute" (Atributo> de escritura) que permitiría escribir cualquier valor en el atributo sin realizar ninguna comprobación de valores. La escritura validada es la única de los tres derechos de acceso de control que no se pueden crear como un nuevo derecho de acceso de control para una aplicación. Esto se debe a que el sistema existente no se puede modificar mediante programación para aplicar la validación. Si se configuró un derecho de acceso de control en el sistema como escritura validada, el atributo validAccesses en los objetos controlAccessRight contendrá el derecho de acceso ADS_RIGHT_DS_SELF (8).

    Solo hay tres escrituras validadas definidas en el esquema de Active Directory de Windows 2000:

    • Self-Membership permiso en un objeto Group, que permite que la cuenta del autor de la llamada, pero ninguna otra cuenta, se agregue o quite de la pertenencia de un grupo.
    • Permiso Validated-DNS-Host-Name en un objeto Computer, que permite establecer un atributo de nombre de host DNS compatible con el nombre de equipo y el nombre de dominio.
    • Permiso VALIDADO-SPN en un objeto Computer, que permite establecer un atributo SPN que sea compatible con el nombre de host DNS del equipo.

Por comodidad, cada derecho de acceso de control se representa mediante un objeto controlAccessRight en el contenedor Extended-Rights de la partición De configuración, aunque los conjuntos de propiedades y las escrituras validadas no se consideren derechos extendidos. Dado que el contenedor de configuración se replica en todo el bosque, los derechos de control se propagan entre todos los dominios de un bosque. Hay una serie de derechos de acceso de control predefinidos y, por supuesto, también se pueden definir derechos de acceso personalizados.

Todos los derechos de acceso de control se pueden ver como permisos en el Editor de ACL.

Para obtener más información y un ejemplo de código de C++ y Visual Basic que establece una ACE para controlar el acceso de lectura y escritura a un conjunto de propiedades, vea Código de ejemplo para establecer una ACE en un objeto de directorio.

Para obtener más información sobre el uso de derechos de acceso de control para controlar el acceso a operaciones especiales, consulte: