วิธีการทำเครื่องหมายคุณลักษณะที่เป็นความลับใน Windows Server 2003 Service Pack 1

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 922836 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

ใน Active Directory บริการไดเรกทอรี สำหรับ Microsoft Windows Server 2000 และ Microsoft Windows Server 2003 ได้ยากต่อการป้องกันไม่ให้ผู้ใช้ที่ authenticated อ่านแอตทริบิวต์ โดยทั่วไป ถ้า READ_PROPERTY สิทธิ์ สำหรับแอตทริบิวต์ หรือชุดของคุณสมบัติที่ร้องขอของผู้ใช้ การเข้าถึงแบบอ่านได้รับ มีการตั้งค่าเริ่มต้นการรักษาความปลอดภัยใน Active Directory เพื่อให้ผู้ใช้ authenticated สามารถเข้าถึงแบบอ่านแอตทริบิวต์ทั้งหมด บทความนี้อธิบายถึงวิธีการป้องกันการเข้าถึงแบบอ่านสำหรับแอตทริบิวต์ใน Windows Server 2003 Service Pack 1 (SP1)

บทนำ

บทความนี้อธิบายวิธีการทำเครื่องหมายคุณลักษณะที่เป็นความลับใน Windows Server 2003 Service Pack 1

ข้อมูลเพิ่มเติม

windows Server 2003 SP1 แนะนำวิธีการทำเครื่องหมายคุณลักษณะที่เป็นความลับ เมื่อต้องการทำเช่นนี้ คุณปรับเปลี่ยนค่าของการsearchFlagsแอตทริบิวต์ใน schema กระบวนการsearchFlagsค่าแอตทริบิวต์ประกอบด้วยบิตที่หลายที่แสดงถึงคุณสมบัติต่าง ๆ ของแอตทริบิวต์ ตัวอย่างเช่น ถ้ามีการตั้งค่าบิต 1 แอตทริบิวต์ถูกจัดดัชนี บิต 7 (128) designates แอตทริบิวต์ที่เป็นความลับ

ข้อกำหนดและข้อจำกัด

เฉพาะโดเมนคอนโทรลเลอร์ที่ใช้ Windows Server 2003 SP1 หรือรุ่นที่ใหม่กว่า บังคับใช้การตรวจสอบการเข้าถึงแบบอ่านแอตทริบิวต์ที่เป็นความลับ ลักษณะการทำงานในการแอตทริบิวต์ที่เป็นความลับถูกยึดการติดตั้ง Windows Server 2003 SP1 หรือรุ่นที่ใหม่กว่า ลักษณะการทำงานนี้ไม่ขึ้นกับว่าโดเมนหรือระดับการทำงานฟอเรสต์จะเปิดใช้งาน

อย่าใช้คุณลักษณะของแอตทริบิวต์ที่เป็นความลับเว้นแต่มีเงื่อนไขต่อไปนี้:
  • ตัวควบคุมโดเมนที่ใช้ Windows Server 2003 ทั้งหมดที่มีการ Windows Server 2003 SP1 หรือรุ่นที่ใหม่กว่าที่ติดตั้ง
  • ตัวควบคุมโดเมนที่ใช้ Windows 2000 ทั้งหมดได้รับการปรับรุ่น หรือเอาออก
หากโดเมนประกอบด้วยการผสมของตัวควบคุมโดเมนที่ใช้ Windows 2000 Server, Windows Server 2003 และ Windows Server 2003 SP1 รุ่นแรกที่วางจำหน่าย สถานการณ์สมมติต่อไปนี้อาจเกิดขึ้น:
  • ถ้าไคลเอนต์ไม่ได้รับอนุญาต queries ตัวควบคุมโดเมนที่ใช้ Windows 2000 Server และเซิร์ฟเวอร์ที่ใช้ Windows server 2003 สำหรับแอตทริบิวต์ที่เป็นความลับข้อมูล ไคลเอนต์สามารถอ่านข้อมูล
  • ถ้าไคลเอนต์ไม่ได้รับอนุญาต queries ตัวควบคุมโดเมนที่ใช้ Windows Server 2003 SP1 สำหรับแอตทริบิวต์ที่เป็นความลับข้อมูล ไคลเอ็นต์ไม่สามารถอ่านข้อมูล
คุณไม่สามารถทำเครื่องหมายคุณลักษณะ schema พื้นฐานที่เป็นความลับ รหัสของพนักงานเป็นตัวอย่างของแอตทริบิวต์ของ schema พื้นฐาน คุณลักษณะนี้ไม่สามารถทำเครื่องหมายเป็นความลับเนื่องจากนั้นsystemsFlagsมีตั้งค่าแอตทริบิวต์การ 0x10 (schema พื้นฐาน) สำหรับข้อมูลเพิ่มเติม ให้ดูส่วน "วิธีการตรวจสอบว่า แอตทริบิวต์มีแอตทริบิวต์ของ schema พื้นฐาน" และ "วิธีการที่กำหนดว่าการsearchFlagsส่วนคุณลักษณะค่าเมื่อคุณใช้แอตทริบิวต์ที่มีอยู่แล้ว"

การทดสอบ

ตามที่คุณจะทดสอบการเปลี่ยนแปลงใด ๆ ไปยัง Active Directory และมีส่วนขยาย schema เราขอแนะนำให้ คุณอย่างละเอียดทดสอบแอตทริบิวต์การเปลี่ยนแปลงในอาชีพที่ mirrors ฟอเรสต์การผลิตของคุณ ทดสอบช่วยรับประกันกระบวนการทำงานอย่างและการให้มีการตรวจพบปัญหา

การตรวจสอบการควบคุมการเข้าถึง

หลัง จากที่มีการติดตั้ง Windows Server 2003 SP1 และหลัง จาก Active Directory ทำการตรวจสอบการเข้าถึงแบบอ่าน Active Directory ตรวจสอบแอตทริบิวต์ที่เป็นความลับ ถ้ามีแอตทริบิวต์ที่เป็นความลับ และถ้ามีการตั้งค่าสิทธิ์ READ_PROPERTY สำหรับแอตทริบิวต์เหล่านี้ Active Directory จะยังต้อง CONTROL_ACCESS สิทธิ์ สำหรับแอตทริบิวต์ หรือ สำหรับการตั้งค่าคุณสมบัติของตนเอง

หมายเหตุ:การตั้งค่าสิทธิ์ควบคุมทั้งหมดรวมถึงสิทธิ์ CONTROL_ACCESS

ไดเรกทอรีที่ใช้งานอยู่ทำการตรวจสอบการเข้าถึงแบบอ่านบนวัตถุในกรณีต่อไปนี้:
  • เมื่อคุณประเมินว่าวัตถุตรงกับตัวกรองการค้นหา
  • เมื่อคุณส่งคืนแอตทริบิวต์ของวัตถุที่ตรงกับตัวกรองการค้นหา
โดยค่าเริ่มต้น เฉพาะผู้ดูแลระบบเท่านั้นมีสิทธิ์ CONTROL_ACCESS วัตถุทั้งหมด ดังนั้น ผู้ดูแลระบบเท่านั้นสามารถอ่านแอตทริบิวต์ที่เป็นความลับ ผู้ดูแลระบบอาจการมอบหมายต่อสิทธิ์เหล่านี้ผู้ใช้ หรือกลุ่มใด ๆ

Generic and object-specific access control entries

Every object in Active Directory has access control information that is associated with it. This information is known as a security descriptor. The security descriptor controls the type of access that is available to users and to groups. The security descriptor is automatically created when the object is created.

The set of permission entries in a security descriptor is known as a discretionary access control list (DACL). Each permission entry in the DACL is known as an access control entry (ACE).

You can grant permissions to the object or grant CONTROL_ACCESS permissions to confidential attributes by using a generic or object-specific access control entry on the object. You can grant permissions by stamping them explicitly on the object or by using inheritance. Inheritance means that you set an inheritable access control entry on a container that is higher in the container hierarchy.

Generic and object-specific access control entries are basically the same. What sets them apart is the degree of control that the access control entries offer over inheritance and over object access. Generic access control entries apply to the whole object. Object-specific access control entries offer more control over what objects inherit the access control entry. When you use an object-specific access control entry, you can specify the attribute or the property set of the object that will inherit the access control entry.

When you use the confidential attributes feature, CONTROL_ACCESS permission is granted by assigning a generic access control entry to a user. If CONTROL_ACCESS permission is granted by assigning an object-specific access control entry, the user will only have CONTROL_ACCESS permission to the confidential attribute.

The following permissions are granted when you use a generic access control entry:
  • All Extended Rights
  • Allowed to Authenticate
  • เปลี่ยนรหัสผ่าน
  • ได้รับข้อความเป็น
  • รีเซ็ตรหัสผ่าน
  • ส่งเป็น
Permissions that are granted when you use a generic access control entry may provide more access than is desired over the whole object. If this is a concern, you can set an object-specific access control entry on the object so that the access control entry applies only to the confidential attribute. When you use object-specific access control entries, you can control the property or the property set to which the access control entry applies.

The user interface in Windows Server 2003 does not expose Control_Access permissions. You can use the Dsacls.exe tool to set Control_Access permissions by assigning a generic access control entry. However, you cannot use this tool to assign an object-specific access control entry. The only tool that can set Control_Access permissions by assigning an object-specific access control entry is the Ldp.exe tool.

หมายเหตุ:An in-depth discussion of access control is beyond the scope of this article. For more information about access control, visit the following Microsoft Web sites:
http://msdn.microsoft.com/en-us/library/aa374860(VS.85).aspx
http://technet.microsoft.com/en-us/library/cc749433.aspx

How to use inheritance

In a large domain, it is not practical to manually assign control access to a user or to a group for every object that has a confidential attribute. The solution is to use inheritance to set an inheritable access control entry that is higher in the container hierarchy. This access control entry applies to all child objects of that container.

By default, inheritance is enabled for all organizational units (OU) and for all user accounts, except for the built-in administrator account. If you create user accounts that have inheritance disabled or if you create administrative accounts by copying the built-in administrator account, you must enable inheritance for these accounts. Otherwise, the inheritance model does not apply to these accounts.

How to create a confidential attribute

  1. Determine what attribute to mark as confidential, or add an attribute that you want to make confidential.
  2. Grant the appropriate users Control_Access permissions so the users can view the attribute data.
Tools such as the Ldp.exe tool and the Adsiedit.msc tool can be used to create a confidential attribute. .ldf files are typically used to extend the schema. These files can also be used to mark an attribute as confidential. The files that you create for an implementation should be tuned during the testing phase so that you know exactly what you are adding to the schema when you roll out to production. .ldf files help prevent errors.

The following sample .ldf files can be used to do the following:
  • Add an attribute to the schema
  • Mark the attribute as confidential
  • เพิ่มแอตทริบิวต์คลาผู้ใช้
หมายเหตุ:ก่อนที่คุณใช้แฟ้ม.ldf ตรวจสอบให้แน่ใจว่า คุณอ่านในส่วน "วัตถุตัวระบุ" และ "คุณลักษณะไวยากรณ์" สำหรับข้อมูลที่สำคัญเกี่ยวกับวิธีการเพิ่มวัตถุและแอตทริบิวต์แบบแผน

ตัวอย่าง.ldf แฟ้ม

รหัสต่อไปนี้เพิ่มแอตทริบิวต์แบบแผน และจากนั้น ทำเครื่องหมายคุณลักษณะที่เป็นความลับ
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
-
รหัสต่อไปนี้เพิ่มแอตทริบิวต์ใหม่เป็นคลาสผู้ใช้
dn: CN=User,CN=Schema,CN=Configuration,DC=domain,DC=com
changetype: modify
add: mayContain
mayContain: ConfidentialAttribute

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

วิธีการที่ให้ผู้ใช้ที่ไม่ใช่ผู้ดูแลข้อมูลแอตทริบิวต์ดู

หมายเหตุ:ขั้นตอนต่อไปนี้ต้องการให้คุณใช้เครื่องมือ Ldp.exe ที่ให้มากับ Windows Server 2003 R2 Active Directory แอพลิเคชันโหมด (ADAM) เครื่องมือ Ldp.exe รุ่นอื่น ๆ ไม่สามารถตั้งค่าสิทธิ์

วิธีการตั้งค่าสิทธิ์ Control_Access บนบัญชีผู้ใช้ด้วยตนเอง

  1. เปิดเครื่องมือ Ldp.exe ที่มาพร้อมกับ Windows Server 2003 R2 ADAM
  2. เชื่อมต่อ และผูกกับไดเรกทอรี
  3. เลือกบัญชีผู้ใช้ การคลิกขวาบัญชี การคลิกขั้นสูงคลิกตัวบอกลักษณะของการรักษาความปลอดภัยแล้ว คลิกตกลง.
  4. ในการdaclกล่อง คลิกเพิ่ม ACE.
  5. ในการตีกล่อง พิมพ์ชื่อกลุ่มหรือชื่อผู้ใช้ที่คุณต้องการให้สิทธิ์
  6. ในการควบคุมการเข้าถึงกล่อง ตรวจสอบการเปลี่ยนแปลงที่คุณทำไว้ในขั้นตอนที่ 5

วิธีการใช้สิ่งที่สืบทอดการกำหนดสิทธิ์ Control_Access

เมื่อต้องการใช้สิ่งที่สืบทอด สร้างรายการควบคุมการเข้าใช้งานที่มอบให้แก่ Control_Access สิทธิ์ให้กับผู้ใช้ที่ต้องการหรือกลุ่มที่สูงกว่าในลำดับชั้นของคอนเทนเนอร์วัตถุที่มีแอตทริบิวต์ที่เป็นความลับที่ไม่ใช่ คุณสามารถตั้งค่ารายการการควบคุมการเข้าถึงนี้ระดับโดเมน หรือ ที่จุดใด ๆ ในลำดับชั้นของคอนเทนเนอร์ที่ทำงานได้ดีสำหรับองค์กร ออบเจกต์ลูกที่มีแอตทริบิวต์ที่เป็นความลับต้องมีสิ่งที่สืบทอดการเปิดใช้งาน

การกำหนดสิทธิ์ Control_Access ดำเนินการดังต่อไปนี้:
  1. เปิดแฟ้ม Ldp.exe ที่รวมอยู่ใน Windows Server 2003 R2 ADAM
  2. เชื่อมต่อ และผูกกับไดเรกทอรี
  3. Select an OU or a container that is the higher in the container hierarchy than the objects that have confidential attributes, right-click the OU or the container, clickขั้นสูงคลิกSecurity Descriptorแล้ว คลิกตกลง.
  4. ในการdaclกล่อง คลิกAdd ACE.
  5. ในการTrusteebox, type the group name or the user name to which you want to grant permissions.
  6. ในการControl Accessbox, verify the changes that you made in step 5.
  7. ในการObject Typebox, click the confidential attribute that you added.
  8. Make sure that inheritance is enabled on the target objects.

How to determine the systemFlags attribute value when you use an existing attribute

If you use an existing object, you must verify what the currentsearchFlagsattribute value is. If you add an object, you can define the value when you add the object. There are many ways to obtain thesearchFlagsattribute value. Use the method that works best for you.

To use the Ldp.exe tool to obtain thesearchFlagsattribute value, follow these steps:
  1. คลิกเริ่มการทำงานคลิกเรียกใช้ประเภท:ldpแล้ว คลิกตกลง.
  2. คลิกเชื่อมต่อแล้ว คลิกผูก.
  3. Bind as the Administrator of the root domain, or bind as an account that is an Enterprise Administrator.
  4. คลิกมุมมองแล้ว คลิกแผนภูมิ.
  5. คลิกCN=schema,cn=configuration,dc=rootdomainแล้ว คลิกตกลง.
  6. ในบานหน้าต่างด้านซ้าย ขยายCN=schema,cn=configuration,dc=rootdomain.
  7. Locate the domain name of the attribute that you want to mark as confidential, and then expand it.
  8. In the list of attributes that are populated for the object, findsearchFlagsto determine the currentsearchFlagsattribute value for that object.
หมายเหตุ:To determine the newsearchFlagsattribute value, use the following formula:
128 +currentsearchFlagsattribute value=newsearchFlagsattribute value

How to determine whether an attribute is a base schema attribute

To determine whether an attribute is a base schema attribute, use the Ldp.exe tool to examine thesystemFlagsattribute value.

LDP output of Employee-ID – systemFlags: 0x10 = (FLAG_SCHEMA_BASE_OBJECT)

In the following sample Ldp.exe output, Ldp.exe identifies thesystemFlagsattribute value as 0x10 and as a base schema attribute. Therefore, you cannot mark this attribute as confidential.
>> 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;

LDP output of Employee-Number systemFlags: 0x0 = ( )

In the following sample Ldp.exe output, Ldp.exe identifies thesystemFlagsattribute value as 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; 
-----------

Object identifiers

When you add an attribute or a class object to the schema, one of the required attributes is the object identifier (also known as OID). Object identifiers are used to uniquely define object classes and attributes. Make sure that your company obtains a unique object identifier to identify its attribute. Tools that generate object identifiers, such as the Oidgen.exe tool, are not supported. To obtain an object identifier from Microsoft, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/ms677620.aspx

Attribute syntax

กระบวนการattributeSyntaxattribute is also required to add new objects to the schema. This attribute defines the storage representation, byte ordering, and matching rules for comparisons of property types. The syntax defines whether the attribute value must be a string, a number, or a unit of time. Each attribute of every object is associated with exactly one syntax. Make sure that you select the correct attribute syntax for the new attribute. This is especially important if you synchronize a Lightweight Directory Access Protocol (LDAP) directory with another LDAP directory. After the attribute is added to the schema, its attribute syntax cannot be changed.

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการattributeSyntaxattribute, visit the following Microsoft Web site:
hhttp://msdn.microsoft.com/en-us/library/ms675236(VS.85).aspx
For more information about values in thesearchFlagsattribute, visit the following Microsoft Web site, and then search for "Effects of Indexing on Search Behavior":
http://technet2.microsoft.com/WindowsServer/en/library/8196d68e-776a-4bbc-99a6-d8c19f36ded41033.mspx?mfr=true

คุณสมบัติ

หมายเลขบทความ (Article ID): 922836 - รีวิวครั้งสุดท้าย: 16 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Windows Server 2003 Service Pack 1 เมื่อใช้กับ:
    • Microsoft Windows Server 2003 Standard Edition
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
Keywords: 
kbhowto kbinfo kbmt KB922836 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:922836

ให้ข้อเสนอแนะ

 

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