Comment marquer un attribut comme confidentielles dans Windows Server 2003 Service Pack 1

Traductions disponibles Traductions disponibles
Numéro d'article: 922836 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

dans le service Active Directory pour Microsoft Windows Server 2000 et Microsoft Windows Server 2003, il est difficile empêcher un utilisateur authentifié d'un attribut de lecture. En règle générale, si l'utilisateur demande READ_PROPERTY autorisations pour un attribut ou sa propriété définie, accès en lecture est accordé. Sécurité par défaut dans Active Directory est définie afin que les utilisateurs authentifiés ont accès en lecture à tous les attributs. Cet article explique comment empêcher l'accès en lecture d'un attribut dans Windows Server 2003 Service Pack 1 (SP1).

INTRODUCTION

Cet article explique comment marquer un attribut comme confidentielles dans Windows Server 2003 Service Pack 1.

Plus d'informations

Windows Server 2003 SP1 introduit un moyen de marquer un attribut comme confidentielles. Pour ce faire, vous modifiez la valeur de l'attribut searchFlags dans le schéma. La valeur d'attribut de searchFlags contient plusieurs bits qui représentent les diverses propriétés d'un attribut. Par exemple, si le bit 1 est défini, l'attribut est indexé. Bit 7 (128) désigne l'attribut comme confidentielles.

Besoins et contraintes

Seuls les contrôleurs de domaine qui exécutent Windows Server 2003 SP1 ou une version ultérieure imposer la vérification d'accès en lecture des attributs confidentielles. La fonction attributs confidentielles est liée à l'installation de Windows Server 2003 SP1 ou une version ultérieure. Cette fonctionnalité ne dépend pas si un domaine ou un niveau fonctionnel de forêt est activé.

N'utilisez pas la fonctionnalité d'attributs confidentielles sauf si les conditions suivantes sont remplies :
  • Tous les contrôleurs de domaine Windows Server 2003 ont Windows Server 2003 SP1 ou une version ultérieure.
  • Tous les contrôleurs de domaine Windows 2000 ont été mis à jour ou supprimées.
Si un domaine contient un mélange de contrôleurs de domaine qui exécutent Windows 2000 Server, la version d'origine de Windows Server 2003 et Windows Server 2003 SP1, le scénario suivant peut se produire :
  • Si un client non autorisé interroge les contrôleurs de domaine Windows 2000 Server et Windows Server 2003 pour les données confidentielles d'attribut, le client peut lire les données.
  • Si un client non autorisé interroge le contrôleur de domaine Windows Server 2003 SP1 de données d'attribut confidentiel, le client ne peut pas lire les données.
Vous ne pouvez pas marquer un attribut de schéma de base comme confidentielles. Un code d'employé est un exemple d'un attribut de schéma de base. Impossible de marquer cet attribut comme confidentielles parce que sa valeur d'attribut systemsFlags est défini sur 0x10 (schéma de base). Pour plus d'informations, consultez la section « Comment faire pour déterminer si un attribut est un attribut de schéma de base » et la section « Comment faire pour déterminer la valeur de l'attribut searchFlags lorsque vous utilisez un attribut existant ».

Test

Comme vous pouvez tester toute modification apportée à Active Directory et toute extension de schéma, nous vous recommandons de soigneusement tester attribut modifications dans un laboratoire qui reflète votre forêt de production. Test permet de garantie que la procédure fonctionne correctement et que des problèmes sont détectés.

Vérifications de contrôle d'accès

Une fois que Windows Server 2003 SP1 est installé et une fois que Active Directory effectue une vérification d'accès en lecture, Active Directory vérifie attributs confidentielles. Si attributs confidentielles existent et si READ_PROPERTY autorisations sont définies pour ces attributs, Active Directory nécessitera également CONTROL_ACCESS autorisations pour les attributs ou les jeux de propriétés.

note Le paramètre d'autorisation Contrôle total inclut l'autorisation CONTROL_ACCESS.

Active Directory effectue une vérification d'accès en lecture sur un objet dans les cas suivants :
  • Lorsque vous évaluez si l'objet correspond au filtre de recherche.
  • Lorsque vous renvoyer les attributs d'un objet qui correspondent aux critères du filtre de recherche.
Par défaut, seuls les administrateurs disposent des autorisations CONTROL_ACCESS à tous les objets. Par conséquent, seuls les administrateurs peuvent lire les attributs de confidentialité. Les administrateurs peuvent déléguer ces autorisations à n'importe quel utilisateur ou à n'importe quel groupe.

Entrées de contrôle d'accès génériques et objet spécifique

Chaque objet dans Active Directory possède les informations de contrôle l'accès qui sont associées. Cette information est appelée un descripteur de sécurité. Le descripteur de sécurité détermine le type d'accès qui est disponible pour les utilisateurs et groupes. Le descripteur de sécurité est automatiquement créé lorsque l'objet est créé.

Le jeu d'entrées d'autorisations dans un descripteur de sécurité est appelé une liste de contrôle d'accès discrétionnaire (DACL). Chaque entrée d'autorisation dans la DACL est appelée une entrée de contrôle l'accès (ACE).

Vous pouvez accorder des autorisations à l'objet ou accorder des autorisations CONTROL_ACCESS aux attributs confidentielles à l'aide une entrée de contrôle d'accès génériques ou objet spécifique de l'objet. Vous pouvez accorder des autorisations par les horodatage explicitement de l'objet ou à l'aide de l'héritage. L'héritage signifie que vous définies une entrée de contrôle d'accès pouvant être héritées sur un conteneur est plus élevé dans la hiérarchie du conteneur.

Entrées de contrôle d'accès génériques et objet spécifique sont pratiquement identiques. Ce qui les distinguer est le degré de contrôle qui offrent les entrées de contrôle d'accès sur l'héritage sur l'accès aux objets. Entrées de contrôle d'accès génériques appliqueront à l'objet entier. Entrées de contrôle d'accès spécifiques d'objets offrent plus de contrôle sur les objets héritent de l'entrée de contrôle d'accès. Lorsque vous utilisez une entrée de contrôle d'accès aux objets-spécifiques, vous pouvez spécifier l'attribut ou le jeu de propriétés de l'objet qui hérite de l'entrée de contrôle d'accès.

Lorsque vous utilisez la fonctionnalité d'attributs confidentielles, CONTROL_ACCESS autorisation est accordée en affectant une entrée de contrôle d'accès génériques à un utilisateur. Si CONTROL_ACCESS autorisation est accordée en affectant une entrée de contrôle d'accès d'objet spécifique, l'utilisateur est uniquement autorisé CONTROL_ACCESS à l'attribut confidentiel.

Les autorisations suivantes sont accordées lorsque vous utilisez une entrée de contrôle d'accès génériques :
  • Droits étendus tous les
  • Autorisé à authentifier
  • Modifier le mot de passe
  • Recevoir en tant que
  • Réinitialiser le mot de passe
  • Envoyer en tant que
Autorisations accordées lorsque vous utilisez une entrée de contrôle d'accès génériques peuvent fournir un accès plus que nécessaire sur l'objet entier. Si cela constitue une préoccupation, vous pouvez définir une entrée de contrôle d'accès de spécifiques d'objets de l'objet afin que l'entrée de contrôle d'accès s'applique uniquement à l'attribut confidentiel. Lorsque vous utilisez des entrées de contrôle d'accès spécifiques d'objets, vous pouvez contrôler la propriété ou la valeur auquel s'applique l'entrée de contrôle d'accès.

L'interface utilisateur dans Windows Server 2003 n'expose pas les autorisations Control_Access. Vous pouvez utiliser l'outil Dsacls.exe pour définir des autorisations Control_Access en affectant une entrée de contrôle d'accès génériques. Toutefois, vous ne pouvez pas utiliser cet outil pour affecter une entrée de contrôle d'accès d'objet spécifique. Le seul outil peut définir des autorisations Control_Access en affectant une entrée de contrôle d'accès de spécifiques d'objets est l'outil Ldp.exe.

note Une étude approfondie de contrôle d'accès est abordée dans cet article. Pour plus savoir le contrôle d'accès, reportez-vous au adresse aux sites Web de Microsoft aux adresses suivantes :
http://msdn.microsoft.com/en-us/library/aa374860(VS.85).aspx
http://technet.microsoft.com/en-us/library/cc749433.aspx

Comment faire pour utiliser l'héritage

Dans un grand domaine, il n'est pas pratique d'affecter manuellement contrôler l'accès à un utilisateur ou à un groupe pour chaque objet ayant un attribut de confidentialité. La solution consiste à utiliser l'héritage pour définir une entrée de contrôle d'accès pouvant être héritées est plus élevée dans la hiérarchie du conteneur. Cette entrée de contrôle d'accès s'applique aux tous les objets enfants de ce conteneur.

Par défaut, l'héritage est activé pour toutes les unités d'organisation (UO) et pour tous les comptes d'utilisateur, sauf pour le compte administrateur intégré. Si vous créez des comptes d'utilisateurs héritage désactivé ou si vous créez des comptes administratifs en copiant le compte d'administrateur intégré, vous devez activer l'héritage pour ces comptes. Dans le cas contraire, le modèle d'héritage ne s'applique pas à ces comptes.

Comment créer un attribut de confidentialité

  1. Déterminer quel attribut à marquer comme confidentiel ou ajouter un attribut que vous souhaitez rendre confidentiel.
  2. Octroyer les utilisateurs appropriés Control_Access autorisations façon à ce que les utilisateurs peuvent afficher les données attribut.
Outils tels que l'outil Ldp.exe et l'outil Adsiedit.msc peuvent servir à créer un attribut de confidentialité. fichiers .ldf sont généralement utilisées pour étendre le schéma. Ces fichiers peuvent également être utilisés pour marquer un attribut comme confidentielles. Les fichiers que vous créez pour une implémentation doivent être réglés pendant la phase de test afin que vous savez exactement ce que vous ajoutez le schéma lorsque vous déployer à la production. fichiers .ldf d'éviter des erreurs.

Les fichiers de .ldf exemple suivants peuvent être utilisés pour effectuer les opérations suivantes :
  • Ajouter un attribut au schéma
  • Sélectionnez l'attribut comme confidentielles
  • Ajoutez l'attribut à la classe d'utilisateurs
note Avant vous utilisez des fichiers .ldf, assurez-vous que vous lisez les sections « identificateurs d'objets » et « attribut syntaxe » pour les informations importantes sur la façon ajouter des objets et des attributs au schéma.

Exemples de fichiers .ldf

Le code suivant ajoute un attribut au schéma et marque l'attribut comme confidentielles.
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
-
Le code suivant ajoute du nouvel attribut à la class. utilisateur
dn: CN=User,CN=Schema,CN=Configuration,DC=domain,DC=com
changetype: modify
add: mayContain
mayContain: ConfidentialAttribute

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

Comment permettre aux utilisateurs non-administrateurs d'afficher les données d'attribut

note Les procédures ci-dessous nécessitent que vous utilisez l'outil Ldp.exe qui est inclus avec Windows Server 2003 version 2 Active Directory Application Mode (ADAM). Autres versions de l'outil Ldp.exe ne pouvez pas définir des autorisations.

La définition manuelle des autorisations Control_Access sur un compte d'utilisateur

  1. Ouvrez l'outil Ldp.exe fournie avec Windows Server 2003 R2 ADAM.
  2. Se connecter et lier à l'annuaire.
  3. Sélectionnez un compte d'utilisateur, cliquez avec le bouton droit sur le compte cliquez sur Options avancées , cliquez sur le descripteur de sécurité et puis cliquez sur OK .
  4. Dans la boîte de DACL , cliquez sur Ajouter ACE .
  5. Dans la zone tiers de confiance , tapez le nom de groupe ou le nom d'utilisateur auquel vous souhaitez accorder des autorisations.
  6. Dans la boîte de contrôler l'accès , vérifiez les modifications apportées dans l'étape 5.

Comment utiliser l'héritage pour affecter des autorisations Control_Access

Pour utiliser l'héritage, créer une entrée de contrôle d'accès qui accorde Control_Access autorisations aux utilisateurs de votre choix ou aux groupes sont supérieurs dans la hiérarchie du conteneur aux objets qui ont des attributs confidentielles. Vous pouvez définir cette entrée de contrôle d'accès au niveau du domaine ou à tout moment de la hiérarchie conteneur qui fonctionne bien pour une entreprise. Les objets enfants ayant des attributs confidentielles faut héritage activé.

Pour affecter des autorisations Control_Access, procédez comme suit :
  1. Ouvrez le fichier Ldp.exe qui est inclus dans Windows Server 2003 R2 ADAM.
  2. Se connecter et lier à un répertoire.
  3. Sélectionnez une unité D'ORGANISATION ou un conteneur qui est plus dans la hiérarchie de conteneur que les objets qui ont des attributs confidentielles, cliquez avec le bouton droit sur l'unité D'ORGANISATION ou le conteneur, cliquez sur Options avancées , cliquez sur le descripteur de sécurité et puis cliquez sur OK .
  4. Dans la zone DACL , cliquez sur Ajouter un ACE .
  5. Dans la zone tiers de confiance , tapez le nom de groupe ou le nom d'utilisateur auquel vous souhaitez accorder des autorisations.
  6. Dans la boîte de contrôler l'accès , vérifiez les modifications apportées dans l'étape 5.
  7. Dans la zone Type d'objet , cliquez sur l'attribut confidentiel que vous avez ajouté.
  8. Assurez-vous que l'héritage est activé sur les objets cible.

Comment faire pour déterminer la valeur de l'attribut systemFlags lorsque vous utilisez un attribut existant

Si vous utilisez un objet existant, vous devez vérifier que la valeur actuelle de l'attribut searchFlags est. Si vous ajoutez un objet, vous pouvez définir la valeur lorsque vous ajoutez l'objet. Il existe de nombreuses manières pour obtenir la valeur de l'attribut searchFlags . Utilisez la méthode qui vous convient le mieux pour vous.

Pour utiliser l'outil LDP.exe pour obtenir la valeur de l'attribut searchFlags , procédez comme suit :
  1. Cliquez sur Démarrer , cliquez sur Exécuter , tapez LDP et puis cliquez sur OK .
  2. Cliquez sur connexion , puis cliquez sur Lier .
  3. Lier en tant qu'administrateur du domaine racine de la ou lier qu'un compte qui est un administrateur d'entreprise.
  4. Cliquez sur Affichage , puis cliquez sur Organigramme .
  5. Cliquez sur CN = schema, cn = configuration, dc = rootdomain, puis cliquez sur OK .
  6. Dans le volet gauche, développez CN = schema, cn = configuration, dc = rootdomain.
  7. Recherchez le nom de domaine de l'attribut que vous voulez marquer comme confidentielles et puis développez-le.
  8. Dans la liste d'attributs qui sont remplis pour l'objet, recherchez searchFlags pour déterminer la valeur d'attribut searchFlags actuel pour cet objet.
note Pour déterminer la nouvelle valeur d'attribut searchFlags , utilisez la formule suivante :
128 + current searchFlags attribute value = new searchFlags attribute value

Comment faire pour déterminer si un attribut est un attribut de schéma de base

Pour déterminer si un attribut est un attribut de schéma de base, utilisez l'outil Ldp.exe pour examiner la valeur de l'attribut systemFlags .

Sortie LDP d'employé-code ? systemFlags : 0x10 = (FLAG_SCHEMA_BASE_OBJECT)

Dans l'exemple de Ldp.exe sortie suivant, Ldp.exe identifie la valeur de l'attribut systemFlags comme 0x10 et comme un attribut de schéma de base. Par conséquent, vous ne pouvez pas marquer cet attribut comme confidentielles.
>> 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;

Sortie LDP de systemFlags employé-numéros: 0 x 0 =)

Dans l'exemple de Ldp.exe sortie suivant, Ldp.exe identifie la valeur de l'attribut systemFlags avec la valeur 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; 
-----------

Identificateurs d'objets

Lorsque vous ajoutez un attribut ou un objet de classe au schéma, un des attributs requis est l'identificateur d'objet (également appelé OID). Identificateurs d'objets servent à définir unique des classes d'objets et attributs. Assurez-vous que votre société obtient un identificateur d'objet unique pour identifier son attribut. Outils qui génèrent des identificateurs d'objets, tels que l'outil Oidgen.exe, ne sont pas pris en charge. Pour obtenir un identificateur d'objet à partir de Microsoft, reportez-vous au site de Web Microsoft suivant :
http://msdn2.microsoft.com/en-us/library/ms677620.aspx

Syntaxe d'attribut

L'attribut attributeSyntax est également nécessaire pour ajouter de nouveaux objets au schéma. Cet attribut définit la représentation de stockage, ordre des octets et règles de correspondance pour des comparaisons de types de propriété. La syntaxe définit si la valeur d'attribut doit être une chaîne, un nombre ou une unité de temps. Chaque attribut de chaque objet est associé à exactement une seule syntaxe. Vérifiez que que vous avez sélectionné la syntaxe attribut corrects pour le nouvel attribut. Ceci est particulièrement important si vous synchronisez un annuaire LDAP (Lightweight Directory Access Protocol) avec LDAP un autre répertoire. Une fois que l'attribut est ajouté au schéma, sa syntaxe d'attribut ne peuvent plus être modifié.

Pour plus d'informations sur l'attribut attributeSyntax , reportez-vous au site de Web Microsoft suivant :
hhttp://msdn.microsoft.com/en-us/library/ms675236(VS.85).aspx
Pour plus d'informations sur les valeurs dans l'attribut searchFlags , reportez-vous au site Web de Microsoft à Adresse, puis puis recherchez « effets de l'indexation sur recherche comportement » :
http://technet2.microsoft.com/WindowsServer/en/library/8196d68e-776a-4bbc-99a6-d8c19f36ded41033.mspx?mfr=true

Propriétés

Numéro d'article: 922836 - Dernière mise à jour: jeudi 11 octobre 2007 - Version: 3.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows Server 2003 Service Pack 1 sur le système suivant
    • 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
Mots-clés : 
kbmt kbhowto kbinfo KB922836 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 922836
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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