Een toegangsrecht voor beheer maken
Als u een toegangsrecht voor besturingselementen wilt toevoegen aan een Active Directory-server, maakt u een controlAccessRight object in de Extended-Rights container van de configuratiepartitie. Voor meer informatie en een codevoorbeeld, zie Voorbeeldcode voor het creëren van een beheertoegangsrecht. Als u het toegangsrecht voor beheer wilt gebruiken, moet u nog een paar stappen uitvoeren, afhankelijk van of het toegangsrecht voor beheer geschikt is voor een speciale bewerking of een set eigenschappen.
Als u een toegangsrecht voor een eigenschappenset definieert, gebruikt u de rightsGUID- van het controlAccessRight-object om de eigenschappen in de set te identificeren. Elke eigenschap wordt gedefinieerd door een attributeSchema-object in het Active Directory-schema. De attributeSecurityGUID-eigenschap van een attributeSchema-object identificeert de eigenschappenset waartoe het attribuut, indien van toepassing, behoort. Houd er rekening mee dat de eigenschap attributeSecurityGUID één waarde heeft en de GUID opslaat in binaire indeling (octettekenreekssyntaxis).
Als u een toegangsrecht definieert om beperkingen voor toegang tot een bepaalde bewerking in te stellen, moet uw toepassing de toegangscontrole uitvoeren wanneer een gebruiker de bewerking probeert uit te voeren.
Toegangscontrole instellen
- Maak een toegangsrecht voor beheer waarmee het type toegang tot de toepassing of service wordt gedefinieerd. Zie het volgende codevoorbeeld voor meer informatie.
- Maak een Active Directory Domain Services-object dat de toepassing, service of resource vertegenwoordigt die u beveiligt.
- Voeg object-ACL's toe aan de DACL in de objectbeveiligingsdescriptor om gebruikers of groepen het toegangsbeheerrecht op dat object te verlenen of te weigeren. Zie voor meer informatie Het instellen van een toegangscontrole-rechten ACE in de ACL van een object.
- Wanneer een gebruiker de bewerking probeert uit te voeren, controleert u de gebruikersrechten door de objectbeveiligingsdescriptor en het toegangstoken van de gebruiker door te geven aan de functie AccessCheckByTypeResultList. Zie Een toegangsbeheerrecht controleren in de ACL van een objectvoor meer informatie.
Op basis van het resultaat van de toegangscontrole op het object kan de toepassing of service de gebruikerstoegang tot de toepassing of service toestaan of weigeren.
Wanneer u een controlAccessRight--object maakt, stelt u de kenmerken in die in de volgende tabel worden vermeld, in om het object een toegangsrecht voor juridisch beheer te maken dat wordt herkend door Active Directory Domain Services en de Windows-beveiligingssystemen.
Attribuut | Beschrijving |
---|---|
cn | Een eigenschap met één waarde die de relatieve onderscheidende naam (RDN) van het object is in de Extended-Rights-container. De cn is de naam van het toegangsbeheerrecht in Active Directory Domain Services. |
is van toepassing Op | Een eigenschap met meerdere waarden waarin de objectklassen worden vermeld waarop het toegangsbeheerrecht van toepassing is. De Send-As- toegangsbeheermachtiging somt de gebruiker en computer objectklassen op in de toepasselijke eigenschap. In de lijst wordt elke objectklasse geïdentificeerd door de schemaIDGUID- van het classSchema--object. De GUID's worden opgeslagen als tekenreeksen van het formulier dat wordt geproduceerd door de stringFromGUID2 functie in de COM-bibliotheek, maar zonder de accolades die worden gestart en beëindigd ({ }). De volgende GUID is bijvoorbeeld de schemaIDGUID voor de computer- klasse: bf967a86-0de6-11d0-a285-00aa003049e2. Houd er rekening mee dat de eigenschap schemaIDGUID van een classSchema-object wordt opgeslagen als een binaire GUID met behulp van de syntaxis van de octettekenreeks. Gebruik de functie StringFromGUID2 en verwijder de accolades uit de geretourneerde tekenreeks om deze octet tekenreeksindeling te converteren naar de tekenreeksindeling die wordt gebruikt in de appliesTo eigenschap. Zie voor meer informatie over de eigenschap schemaIDGUID van een van de vooraf gedefinieerde objectklassen, zoals gebruiker of computer, de klasseverwijzingspagina in de Active Directory-schemaverwijzing in de Active Directory Domain Services Reference. Voor meer informatie en een codevoorbeeld dat een schemaIDGUID- ophaalt uit een classSchema-object, zie Reading attributeSchema and classSchema Objects. |
displayName | De tekenreeks die wordt gebruikt om het toegangsbeheer rechtstreeks weer te geven in gebruikersinterfaces, zoals de eigenschapspagina Security en andere plaatsen in de MMC-module Active Directory: gebruikers en computers. |
rightsGuid | Een GUID die de toegang tot het beheer rechtstreeks in een ACE identificeert. De GUID wordt opgeslagen als een tekenreeks in de vorm die wordt geproduceerd door de functie StringFromGUID2, maar zonder de begin- en eindaccolades. Gebruik Uuidgen.exe voor een ander hulpprogramma om een GUID te genereren voor het toegangsrecht voor beheer. Als u een nieuwe eigenschappenset definieert, gebruikt u de rightsGuid- van het controlAccessRight-object om de eigenschappen in de set te identificeren. Stel voor elke eigenschap in de eigenschappenset de attributeSecurityGUID waarde van de eigenschap in op de waarde van de rightsGUID-van de eigenschappenset. De attributeSecurityGUID--waarde van een eigenschap wordt opgeslagen in de attributeSchema definitie van de eigenschap in het Active Directory-schema. De eigenschap attributeSecurityGUID is één waarde en slaat de GUID op in binaire indeling (octettekenreekssyntaxis). |
objectClass | Met dit kenmerk geeft u controlAccessRight- op als objectklasse. |
validAccesses | Voor eigenschappensets stelt u dit kenmerk in op 0x30 (ADS_RIGHT_DS_READ_PROP | ADS_RIGHT_DS_WRITE_PROP). Als u toegangsrechten wilt beheren, stelt u dit kenmerk in op 0x100 (ADS_RIGHT_DS_CONTROL_ACCESS). De pagina met beveiligingseigenschappen herkent alleen toegangsrechten als het kenmerk validAccesses is ingesteld op de juiste waarde. Als nul is, wordt het toegangsrecht genegeerd of niet weergegeven op de beveiligingseigenschapspagina. |
Houd er rekening mee dat de vooraf gedefinieerde schemaklassen het kenmerk localizationDisplayId van een controlAccessRight-object gebruiken om een bericht-id op te geven die wordt gebruikt om een gelokaliseerde weergavenaam op te halen uit Dssec.dll. Stel het kenmerk localizationDisplayId niet in als u een nieuw controlAccessRight--object definieert.