Cómo marcar un atributo como confidencial en Windows Server 2003 Service Pack 1

Seleccione idioma Seleccione idioma
Id. de artículo: 922836 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

en el servicio Active directory para Microsoft Windows Server 2000 y Microsoft Windows Server 2003, es difícil impedir que un usuario autenticado leer un atributo. Generalmente, si el usuario solicita READ_PROPERTY permisos para un atributo o para su propiedad establecida, se concede acceso de lectura. Seguridad de la predeterminada en Active Directory se establece para que los usuarios autenticados tengan acceso de lectura a todos los atributos. Se explica cómo evitar el acceso de lectura para un atributo en Windows Server 2003 Service Pack 1 (SP1).

INTRODUCCIÓN

En este artículo se describe cómo marcar un atributo como confidencial en Windows Server 2003 Service Pack 1.

Más información

Windows Server 2003 SP1 presenta una forma de marcar un atributo como confidencial. Para ello, modifique el valor del atributo searchFlags del esquema. El valor del atributo searchFlags contiene varios bits que representan diversas propiedades de un atributo. Por ejemplo, si se establece el bit 1, el atributo está indizado. Bit 7 (128) designa el atributo como confidencial.

Requisitos y restricciones

Los controladores de dominio que ejecutan Windows Server 2003 SP1 o una versión posterior exigen la comprobación de acceso de lectura de atributos confidenciales. La característica de atributos confidencial está vinculada a la instalación de Windows Server 2003 SP1 o una versión posterior. Esta característica no depende de si está habilitado un dominio o un nivel funcional del bosque.

No utilice la característica de atributos confidenciales a menos que cumplen las condiciones siguientes:
  • Todos los controladores de dominio de Windows Server 2003 tienen Windows Server 2003 SP1 o una versión posterior instalado.
  • Todos los controladores de dominio de Windows 2000 se han actualizado o quitado.
Si un dominio contiene una mezcla de los controladores de dominio que ejecutan Windows 2000 Server, la versión de lanzamiento original de Windows Server 2003 y Windows Server 2003 SP1, puede aparecer el siguiente escenario:
  • Si un cliente no autorizado consulta los controladores de dominio basado en Windows 2000 Server y basado en Windows Server 2003 para datos confidenciales de atributo, el cliente puede leer los datos.
  • Si un cliente no autorizado consulta el controlador de dominio basado en Windows Server 2003 Service Pack 1 para datos confidenciales del atributo, el cliente no puede leer los datos.
No se puede marcar un atributo de esquema base como confidencial. Un ID de empleado es un ejemplo de un atributo de esquema base. Este atributo no puede marcarse como confidencial porque su valor de atributo systemsFlags está establecida en 0 x 10 (esquema de base). Para obtener más información, consulte la sección "Cómo determinar si un atributo es un atributo de esquema de base" y la sección "Cómo determinar el valor del atributo searchFlags cuando se utiliza un atributo existente".

Las pruebas

Puesto que podría probar cualquier cambio en Active Directory y cualquier extensión de esquema, se recomienda que pruebe exhaustivamente los cambios de atributos en un laboratorio que refleja el bosque de producción. Pruebas ayuda a la garantía de que el procedimiento funciona correctamente y que se detectan problemas.

Comprobaciones de control de acceso

Una vez instalado Windows Server 2003 SP1 y después Active Directory realiza una comprobación de acceso de lectura, Active Directory busca atributos confidenciales. Si existen atributos confidenciales y si se establecen permisos READ_PROPERTY para estos atributos, Active Directory también requerirán CONTROL_ACCESS permisos para los atributos o para sus conjuntos de propiedades.

Nota La configuración del permiso Control total incluye el permiso CONTROL_ACCESS.

Active Directory realiza una comprobación de acceso de lectura en un objeto en los casos siguientes:
  • Cuando evalúe si el objeto coincide con el filtro de búsqueda.
  • Cuando vuelva a atributos de un objeto que coinciden con el filtro de búsqueda.
De forma predeterminada, sólo los administradores tienen permisos de CONTROL_ACCESS a todos los objetos. Por tanto, sólo los administradores pueden leer atributos confidenciales. Los administradores pueden delegar estos permisos a cualquier usuario o a cualquier grupo.

Entradas de control de acceso genérica y específica del objeto

Cada objeto en Active Directory tiene información de control de acceso que está asociada con él. Esta información se conoce como un descriptor de seguridad. El descriptor de seguridad controla el tipo de acceso que está disponible para los usuarios y grupos. El descriptor de seguridad se crea automáticamente cuando se crea el objeto.

El conjunto de entradas de permiso de un descriptor de seguridad se conoce como una lista de control de acceso discrecional (DACL). Cada entrada de permiso en la DACL se conoce como una entrada de control de acceso (ACE).

Se puede conceder permisos para el objeto o conceda permisos CONTROL_ACCESS a atributos confidenciales mediante una entrada de control de acceso genéricos o específicos del objeto en el objeto. Puede conceder permisos por marca de forma explícita en el objeto o mediante la herencia. La herencia significa que establezca una entrada de control de acceso heredables en un contenedor que es mayor en la jerarquía de contenedor.

Las entradas de control de acceso genéricos y específicos del objeto son básicamente las mismas. Lo establece separar es el grado de control que ofrecen las entradas de control de acceso a través de herencia y sobre el acceso a objetos. Entradas de control de acceso genérico aplican al objeto completo. Entradas de control de acceso específicos del objeto ofrecen más control sobre los objetos que heredan la entrada de control de acceso. Cuando se utiliza una entrada de control de acceso de específicos del objeto, puede especificar el atributo o el conjunto de propiedades del objeto que heredará la entrada de control de acceso.

Cuando se utiliza la característica de atributos confidencial, CONTROL_ACCESS permiso se concede asignando una entrada de control de acceso genérico a un usuario. Si se concede permiso CONTROL_ACCESS asignando una entrada de control de acceso de específicos del objeto, el usuario sólo tendrá permiso CONTROL_ACCESS al atributo confidencial.

Cuando se utiliza una entrada de control de acceso genérico, se conceden los permisos siguientes:
  • Derechos extendidos todo
  • Permite autenticar
  • Cambiar contraseña
  • Recibir como
  • Restablecer contraseña
  • Enviar como
Los permisos concedidos al utilizar una entrada de control de acceso genérico pueden proporcionar más acceso que se desea a través de todo el objeto. Si se trata un problema, puede establecer una entrada de control de acceso de específicos del objeto en el objeto para que la entrada de control de acceso se aplica sólo al atributo confidencial. Cuando utiliza entradas de control de acceso específicos del objeto, puede controlar la propiedad o la propiedad establecida en que se aplica la entrada de control de acceso.

La interfaz de usuario de Windows Server 2003 no expone Control_Access permisos. Puede utilizar la herramienta DSACLS.exe para establecer permisos Control_Access asignando una entrada de control de acceso genéricos. Sin embargo, no puede utilizar esta herramienta para asignar una entrada de control de acceso de específicos del objeto. La única herramienta que puede establecer permisos Control_Access asignando una entrada de control de acceso de específicos del objeto es la herramienta LDP.exe.

Nota Una explicación detallada de control de acceso queda fuera del ámbito de este artículo. Para obtener más información acerca del control de acceso, visite los siguientes sitios Web de Microsoft:
http://msdn.microsoft.com/en-us/library/aa374860(VS.85).aspx
http://technet.microsoft.com/en-us/library/cc749433.aspx

Cómo utilizar la herencia

En un dominio grande, no resulta práctico asignar manualmente a controlar el acceso a un usuario o a un grupo para cada objeto tiene un atributo confidencial. La solución es utilizar la herencia para establecer una entrada de control de acceso heredables superior en la jerarquía del contenedor. Esta entrada de control de acceso se aplica a todos los objetos secundarios de dicho contenedor.

De forma predeterminada, la herencia está habilitada para todas las unidades organizativas (OU) y para todas las cuentas de usuario, excepto para la cuenta Administrador integrado. Si crea cuentas de usuario que tienen deshabilitada la herencia o si crea cuentas administrativas copiando la cuenta Administrador integrado, debe habilitar la herencia para estas cuentas. En caso contrario, el modelo de herencia no se aplica a estas cuentas.

Cómo crear un atributo confidencial

  1. Determinar qué atributo para marcar como confidencial, o agregar un atributo que desea que estén confidencial.
  2. Conceder a los correspondientes usuarios Control_Access permisos para que los usuarios puedan ver los datos del atributo.
Herramientas como la herramienta LDP.exe y la herramienta ADSIEdit.msc pueden utilizarse para crear un atributo confidencial. archivos .ldf suelen utilizarse para ampliar el esquema. Estos archivos también se pueden utilizar para marcar un atributo como confidencial. Los archivos que crea para una implementación deben ajustarse durante la fase de pruebas para que sepa exactamente lo que está agregando el esquema al implantar a producción. archivos .ldf ayudar a evitar errores.

Los archivos .ldf de ejemplo siguientes pueden utilizarse para hacer lo siguiente:
  • Agregar un atributo al esquema
  • Marca el atributo como confidencial
  • Agregue el atributo a la clase de usuario
Nota Antes de utilizar archivos .ldf, asegúrese de que lea las secciones "Identificadores de objeto" y "sintaxis de atributo" para obtener información importante acerca de cómo agregar objetos y atributos al esquema.

Archivos de ejemplo .ldf

El código siguiente agrega un atributo en el esquema y, a continuación, marca el atributo como confidencial.
dn: CN=ConfidentialAttribute-LDF,CN=Schema,Cn=Configuration,DC=domain,DC=com
changetype: add
objectClass: attributeSchema
lDAPDisplayName: ConfidentialAttribute
adminDescription: This attribute stores user's confidential data
attributeID: 1.2.840.113556.1.xxxx.xxxx.1.x
attributeSyntax: 2.5.5.12
oMSyntax: 64
isSingleValued: TRUE
showInAdvancedViewOnly: TRUE
searchFlags: 128

dn:
changeType: modify
add: schemaupdatenow
schemaupdatenow: 1
-
El código siguiente agrega el atributo nuevo a la clase de usuario.
dn: CN=User,CN=Schema,CN=Configuration,DC=domain,DC=com
changetype: modify
add: mayContain
mayContain: ConfidentialAttribute

dn:
changeType: modify
add: schemaupdatenow
schemaupdatenow: 1
-

Cómo permitir que los usuarios no administrativos ver los datos de atributo

Nota Los procedimientos siguientes requieren que use la herramienta LDP.exe que se incluye con Windows Server 2003 R2 Active Directory Application Mode (ADAM). Otras versiones de la herramienta LDP.exe no pueden establecer permisos.

Cómo establecer manualmente permisos Control_Access en una cuenta de usuario

  1. Abra la herramienta LDP.exe que se incluye con ADAM de Windows Server 2003 R2.
  2. Conectar y enlazar al directorio.
  3. Seleccione una cuenta de usuario, haga clic con el botón secundario en la cuenta, haga clic en Avanzadas , haga clic en el Descriptor de seguridad y, a continuación, haga clic en Aceptar .
  4. En el cuadro de DACL , haga clic en Agregar ACE .
  5. En el cuadro Trustee , escriba el nombre de grupo o el nombre de usuario al que desea conceder permisos.
  6. En el cuadro de Control de acceso , compruebe los cambios realizados en el paso 5.

Cómo utilizar la herencia para asignar permisos Control_Access

Para utilizar la herencia, cree una entrada de control de acceso que concede permisos Control_Access a los usuarios deseados o grupos que son mayores en la jerarquía de contenedor que los objetos que tienen atributos confidenciales. Puede establecer esta entrada de control de acceso en el nivel de dominio o en cualquier punto de la jerarquía de contenedor que funciona bien para una empresa. Los objetos secundarios que tienen atributos confidenciales deben tener habilitada la herencia.

Para asignar permisos Control_Access, siga estos pasos:
  1. Abra el archivo Ldp.exe que se incluye en Windows Server 2003 R2 ADAM.
  2. Conectar y enlazar a un directorio.
  3. Seleccione una unidad organizativa o un contenedor que es el superior en la jerarquía de contenedor que haga clic con el botón secundario los objetos que tienen atributos confidenciales, en la unidad organizativa o contenedor, haga clic en Avanzadas , haga clic en el Descriptor de seguridad y, a continuación, haga clic en Aceptar .
  4. En el cuadro DACL , haga clic en Agregar ACE .
  5. En el cuadro Trustee , escriba el nombre de grupo o el nombre de usuario al que desea conceder permisos.
  6. En el cuadro de Control de acceso , compruebe los cambios realizados en el paso 5.
  7. En el cuadro Tipo de objeto , haga clic en el atributo confidencial que agregó.
  8. Asegúrese de que la herencia está habilitada en los objetos de destino.

Cómo determinar el valor del atributo systemFlags al utilizar un atributo existente

Si utiliza un objeto existente, debe comprobar el valor de atributo searchFlags actual. Si agrega un objeto, puede definir el valor cuando se agrega el objeto. Hay muchas formas de obtener el valor del atributo searchFlags . Utilice el método que mejor para usted.

Utilizar la herramienta LDP.exe para obtener el valor del atributo searchFlags , siga estos pasos:
  1. Haga clic en Inicio , haga clic en Ejecutar , escriba LDP y, a continuación, haga clic en Aceptar .
  2. Haga clic en conexión y, a continuación, haga clic en enlazar .
  3. Enlazar como el administrador del dominio raíz o enlazar una cuenta que sea un administrador de empresa.
  4. Haga clic en Ver y, a continuación, haga clic en árbol .
  5. Haga clic en CN = schema, cn = configuration, dc = rootdomain y, a continuación, haga clic en Aceptar .
  6. En el panel izquierdo, expanda CN = schema, cn = configuration, dc = rootdomain.
  7. Busque el nombre de dominio del atributo que desea marcar como confidencial y, a continuación, expándalo.
  8. En la lista de atributos que se rellenan para el objeto, busque searchFlags para determinar el valor del atributo searchFlags actual para ese objeto.
Nota Para determinar el nuevo valor del atributo searchFlags , utilice la siguiente fórmula:
128 + current searchFlags attribute value = new searchFlags attribute value

Cómo determinar si un atributo es un atributo de esquema de base

Para determinar si un atributo es un atributo de esquema de base, utilice la herramienta LDP.exe para examinar el valor del atributo systemFlags .

Resultado LDP del ID de empleado: systemFlags: 0 x 10 = (FLAG_SCHEMA_BASE_OBJECT)

En el siguiente resultado de ejemplo de LDP.exe, LDP.exe identifica el valor del atributo systemFlags como 0 x 10 y como un atributo de esquema base. Por lo tanto, no puede marcar este atributo como confidencial.
>> Dn: CN=Employee-ID,CN=Schema,CN=Configuration,DC=domain,DC=com
	2> objectClass: top; attributeSchema; 
	1> cn: Employee-ID; 
	1> distinguishedName: CN=Employee-ID,CN=Schema,CN=Configuration,DC=domain,DC=com; 
	1> instanceType: 0x4 = ( IT_WRITE ); 
	1> whenCreated: 08/05/2005 14:58:58 Central Standard Time; 
	1> whenChanged: 08/05/2005 14:58:58 Central Standard Time; 
	1> uSNCreated: 220; 
	1> attributeID: 1.2.840.113556.1.4.35; 
	1> attributeSyntax: 2.5.5.12 = ( SYNTAX_UNICODE_TYPE ); 
	1> isSingleValued: TRUE; 
	1> rangeLower: 0; 
	1> rangeUpper: 16; 
	1> uSNChanged: 220; 
	1> showInAdvancedViewOnly: TRUE; 
	1> adminDisplayName: Employee-ID; 
	1> adminDescription: Employee-ID; 
	1> oMSyntax: 64 = ( OM_S_UNICODE_STRING ); 
	1> searchFlags: 0x0 = (  ); 
	1> lDAPDisplayName: employeeID; 
	1> name: Employee-ID; 
	1> objectGUID: 64fb3ed1-338f-466e-a879-595bd3940ab7; 
	1> schemaIDGUID: bf967962-0de6-11d0-a285-00aa003049e2; 
	1> systemOnly: FALSE; 
	1> systemFlags: 0x10 = ( FLAG_SCHEMA_BASE_OBJECT ); 
	1> objectCategory: CN=Attribute-Schema,CN=Schema,CN=Configuration,DC=domain,DC=com;

Resultado de LDP de systemFlags Nº empleado: 0 x 0 =)

En el siguiente resultado de ejemplo de LDP.exe, LDP.exe identifica el valor del atributo systemFlags como 0. This attribute can be marked as confidential.
>> Dn: CN=Employee-Number,CN=Schema,CN=Configuration,DC=warrenw,DC=com
	2> objectClass: top; attributeSchema; 
	1> cn: Employee-Number; 
	1> distinguishedName: CN=Employee-Number,CN=Schema,CN=Configuration,DC=warrenw,DC=com; 
	1> instanceType: 0x4 = ( IT_WRITE ); 
	1> whenCreated: 08/05/2005 14:58:58 Central Standard Time; 
	1> whenChanged: 08/05/2005 14:58:58 Central Standard Time; 
	1> uSNCreated: 221; 
	1> attributeID: 1.2.840.113556.1.2.610; 
	1> attributeSyntax: 2.5.5.12 = ( SYNTAX_UNICODE_TYPE ); 
	1> isSingleValued: TRUE; 
	1> rangeLower: 1; 
	1> rangeUpper: 512; 
	1> mAPIID: 35943; 
	1> uSNChanged: 221; 
	1> showInAdvancedViewOnly: TRUE; 
	1> adminDisplayName: Employee-Number; 
	1> adminDescription: Employee-Number; 
	1> oMSyntax: 64 = ( OM_S_UNICODE_STRING ); 
	1> searchFlags: 0x0 = (  ); 
	1> lDAPDisplayName: employeeNumber; 
	1> name: Employee-Number; 
	1> objectGUID: 2446d04d-b8b6-46c7-abbf-4d8e7e1bb6ec; 
	1> schemaIDGUID: a8df73ef-c5ea-11d1-bbcb-0080c76670c0; 
	1> systemOnly: FALSE; 
	1> systemFlags: 0x0 = (  ); 
	1> objectCategory: CN=Attribute-Schema,CN=Schema,CN=Configuration,DC=warrenw,DC=com; 
-----------

Identificadores de objeto

Cuando agregue un atributo o un objeto de clase al esquema, uno de los atributos requeridos es el identificador de objeto (también conocido como OID). Identificadores de objeto se utilizan para definir clases y atributos de objetos de forma exclusiva. Asegúrese de que su compañía obtiene un identificador de objeto único para identificar su atributo. No se admiten las herramientas que generan identificadores de objeto, como la herramienta de Oidgen.exe. Para obtener un identificador de objeto de Microsoft, visite el siguiente sitio Web de Microsoft:
http://msdn2.microsoft.com/en-us/library/ms677620.aspx

Sintaxis de atributo

El atributo attributeSyntax también es necesario para agregar nuevos objetos al esquema. Este atributo define la representación de almacenamiento, orden de bytes y las reglas coincidentes para las comparaciones de tipos de propiedad. La sintaxis define si el valor del atributo debe ser una cadena, un número o una unidad de tiempo. Cada atributo de cada objeto se asocia exactamente una sintaxis. Asegúrese de que selecciona la sintaxis de atributo correcta para el nuevo atributo. Esto es especialmente importante si sincronizar un directorio de Protocolo ligero de acceso a directorios (LDAP) con LDAP otro directorio. Después de agrega el atributo en el esquema, no pueden cambiarse su sintaxis de atributo.

Para obtener más información acerca del atributo attributeSyntax , visite el siguiente sitio Web de Microsoft:
hhttp://msdn.microsoft.com/en-us/library/ms675236(VS.85).aspx
Para obtener más información acerca de los valores en el atributo searchFlags , visite el siguiente sitio Web y, a continuación, busque "Efectos de indización en comportamiento de búsqueda":
http://technet2.microsoft.com/WindowsServer/en/library/8196d68e-776a-4bbc-99a6-d8c19f36ded41033.mspx?mfr=true

Propiedades

Id. de artículo: 922836 - Última revisión: jueves, 11 de octubre de 2007 - Versión: 3.4
La información de este artículo se refiere a:
  • Microsoft Windows Server 2003 Service Pack 1 sobre las siguientes plataformas
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
Palabras clave: 
kbmt kbhowto kbinfo KB922836 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 922836

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com