• Active Directory
    • AD Consulting
    • AD Design
      • Domain Name festlegen
      • Domain Struktur einrichten
      • Forest Struktur definieren
    • AD Management
    • AD Automation
      • Dynamic Access Control (DAC)
    • AD Federation Services
      • ADFS Betrieb
      • ADFS und Office365
      • ADFS und Cisco Unified Communications Manager
      • SAML und ADFS 2.0
  • Azure / M365
    • Azure AD
    • Microsoft 365 (O365)
  • Migration
    • Active Directory Migration
    • Exchange Migration
    • File Server Migration
    • Lotus Notes Migration
    • Novell Migration
  • Wissen
    • Alle Beiträge
    • Administration
    • PowerShell
    • Migration
    • Exchange
    • Tools
  • Kontakt
    • Wir über uns
    • Kontakt
  • EN
info@firstattribute.com
by FirstAttribute
Active Directory FAQActive Directory FAQ
  • Active Directory
    • AD Consulting
    • AD Design
      • Domain Name festlegen
      • Domain Struktur einrichten
      • Forest Struktur definieren
    • AD Management
    • AD Automation
      • Dynamic Access Control (DAC)
    • AD Federation Services
      • ADFS Betrieb
      • ADFS und Office365
      • ADFS und Cisco Unified Communications Manager
      • SAML und ADFS 2.0
  • Azure / M365
    • Azure AD
    • Microsoft 365 (O365)
  • Migration
    • Active Directory Migration
    • Exchange Migration
    • File Server Migration
    • Lotus Notes Migration
    • Novell Migration
  • Wissen
    • Alle Beiträge
    • Administration
    • PowerShell
    • Migration
    • Exchange
    • Tools
  • Kontakt
    • Wir über uns
    • Kontakt
  • EN

Active Directory: Temporäre Berechtigungen

Jul 1, 2019 (Letztes Update) | Posted by Jens Künzler Administration, Konfiguration, PowerShell |

 

Active Directory: Temporäre Berechtigungen

Eine alltägliche Situation für viele Administratoren stellt sich so dar: für die Installation einer Anwendung werden erhöhte Berechtigungen benötigt. Zunächst versucht man vielleicht die Anfrage abzulehnen. Doch dann kommen die Kollegen mit einer “Genehmigung” des Managements zurück und man vergibt zähneknirschend die Berechtigungen. Dies tut man allerdings unter der Auflage, dass diese nur temporär sind. Aber Hand aufs Herz: nur die sorgfältigsten Admins werden auch später daran denken diese Berechtigungen wieder zu entziehen. 

Diesem Problem kann mit temporären Berechtigungen begegnet werden, die sich automatisch wieder löschen. Wie diese mit Active Directory Bordmitteln umgesetzt werden, werde ich in diesem Artikel beschreiben. 

Inhaltsverzeichnis

  • 1 Lösungsansatz für temporäre Berechtigungen
  • 2 Temporäre Gruppen
  • 3 Anlegen einer temporären Gruppe
  • 4 Schnellere Alternative
  • 5 Fazit

Lösungsansatz für temporäre Berechtigungen

Nehmen wir unserem Beispiel einmal an, die Anwendung legt neue Service Connection Points (SCPs) an. Dazu benötigt der Account, mit welchem die Anwendung installiert wird, Domain Admin Berechtigungen. Um temporäre Berechtigungen zu ermöglichen, legen wir eine Gruppe an, welche nach einer vorgegebenen Lebenszeit (TTL) automatisch gelöscht wird. Diese Gruppe könnte z.B. Mitglied der Domain Admins werden. Die Accounts, mit denen die Anwendung installiert wird, werden Mitglied in dieser temporären Gruppe. Nach Ablauf der TTL wird die Gruppe automatisch gelöscht und die Benutzerkonten verlieren die Domain Admin Berechtigungen.  

Temporäre Gruppen

Zum besseren Verständnis von temporären Gruppen, hier die wichtigsten Fakten zusammengefasst:

  • Temporäre Objekte gibt es in Active Directory seit der Version 2003.
  • Sie können nicht mit den gewohnten Active Directory cmdLets angelegt werden, sondern erfordern die Nutzung der ADSI Schnittstelle.
  • Die Gruppen werden mit der ObjectClass “dynamicObject” angelegt, was dazu führt, dass sie durch den Garbage Collection Process (ähnlich wie Tombstone Objects) gelöscht werden.
  • Daraus ergibt sich, dass gelöschte temporäre Gruppen, keinen Tombstone haben und somit nicht reaktiviert werden können.
  • Bestehende Gruppen können nicht in temporäre umgewandelt werden und umgekehrt ebenfalls nicht.
  • Minimale TTL = 15 Minuten
  • Maximale TTL = 1 Jahr

Anlegen einer temporären Gruppe

Wie bereits erwähnt, lassen sich temporäre Gruppen über die ADSI Schnittstelle oder einen LDIF Import anlegen. Ich habe hier den Weg über die PowerShell gewählt.

TTL definieren

Die TTL wird in Sekunden angegeben. Für eine komfortablere Eingabe wird Zeit in Minuten angegeben und in Sekunden umgerechnet. In unserem Beispiel soll die TTL 15 Minuten betragen.

PowerShell
1
2
[INT]$TTLminutes=15
$TTLSeconds = [int](New-TimeSpan -minutes $TTLminutes).TotalSeconds

OU Objekt per ADSI verbinden

Um Objekte mit ADSI anzulegen, nutzt man die Methode “.create” auf dem OU-Objekt. Zunächst muss die OU als Objekt gebunden werden:

1
2
$destinationOu="OU=TempGroups,DC=JKDOM,DC=NET"
$destinationOuObject = [ADSI]("LDAP://JK-DC01.JKDOM.NET/" + $destinationOu)

Gruppe anlegen

Da wir eine Gruppe in die Domain Admins Gruppe aufnehmen möchten, müssen wir den Gruppen Typ “Global Group” auswählen. Domain Local Groups oder Universal Groups lassen sich nicht in Global Groups der gleichen Domain aufnehmen. (Vgl. dazu die Übersicht der möglicher Group Nesting in Windows Domains). In Zeile 3 wird “objectClass = dynamicObject” gesetzt. Um es deutlicher zu machen, wird in der Description der Zeitpunkt der Löschung eingetragen.

1
2
3
4
5
6
7
8
$GroupName="TempDomainAdmin"
$TempGroup = $destinationOuObject.Create("group","CN=$GroupName")
$TempGroup.PutEx(2,"objectClass",@("dynamicObject","Group"))
$TempGroup.Put("entryTTL",$TTLSeconds)
$TempGroup.Put("sAMAccountName", $GroupName)
$TempGroup.Put("displayName", $GroupName)
$TempGroup.Put("description",("Temp Group, will be deleted automatically on " + $RemoveTime.ToShortDateString() +" at "+ $RemoveTime.ToShortTimeString() ))
$TempGroup.SetInfo()

Die fertige Gruppe

Es wurde eine Global Group angelegt, welche am 22.03.2016 um 14:24 Uhr automatisch gelöscht wird.

TempGroup-1

Sie lässt sich wie gewohnt mit “Active Directory Users and Computers” verwalten:

TempGroup-6

Die TTL der Gruppe sieht man im Attribute “entryTTL“, die ObjectClass “dynamicObject” ist ebenfalls zu erkennen:

Temporäre Berechtigungen - dynamicObject

Mit einem kleinen Skript kann man den Verlauf der TTL sichtbar machen:

TempGroup-3

Um 14:25 Uhr wurde die Gruppe bereits durch die Garbage Collection automatisch gelöscht. Das PowerShell Skript kann die Gruppe nicht mehr binden:

TempGroup-4

Schnellere Alternative

Mit dem IDM-Portal ist es möglich, temporären Berechtigungen mit wenigen Klicks zu erstellen. Diese IT-Routineaufgabe lässt sich auch an andere zu delegieren.

Es wird eine Gruppe ausgewählt und anschließend Start und Endzeitpunkt festgelegt.
Der Rest erfolgt im Hintergrund.

Screenshot_IDM-Portal

Zusätzlich können Vorgesetzte oder Rechte-Owner temporäre Aktionen genehmigen, wenn es sich um Berechtigungsgruppen handelt

Fazit

Durch den Einsatz von dynamicObjects lassen sich temporäre Berechtigungen in Active Directory mit Bordmittlen realisieren.

Haben Sie Interesse an Active Directory Management? Unsere Consultants unterstützen Sie gerne.

Artikel weiterempfehlen:
  • teilen
  • tweeten
  • sharen
  • xingen
  • mailen
Artikel erstellt am: 13.04.2016
Tags: BerechtigungendynamicObjectsGruppentemporär
1

You also might be interested in

IsMember-PowerShell

IsMember – Gruppenmitgliedschaft des Benutzers prüfen

Jul 21, 2016

Die Powershell-Funktion “IsMember” überprüft, ob der Skript-ausführende Anwender Mitglied einer[...]

Titel-Verschachtelte-Gruppen

Verschachtelung von Gruppen im AD

Apr 20, 2016

Ich werde des Öfteren gefragt, welcher Gruppentyp in welchen Gruppen[...]

temporaere-berechtigungen-mit-server-2016

Active Directory: Temporäre Berechtigungen mit Server 2016

Apr 26, 2016

In meinem vorangegangenen Artikel habe ich beschrieben, wie sich temporäre[...]

3 Comments

Leave your reply.
  • Horst
    · Antworten

    15. April 2016 at 12:33 PM

    Hello Jens,

    thanks alot for your clarification!

    Kind regards,

    Horst

  • Horst
    · Antworten

    13. April 2016 at 2:26 PM

    Nice article, but where is $RemoveTime defined?

    • Jens Künzler
      · Antworten

      Author
      13. April 2016 at 4:00 PM

      Horst,
      thanks for reviewing the article. You’re right, I missed to show how this was defined.
      But it’s not a big deal. Using “get-date” to get the current date and time.
      Add the TTL using the method “AddMinutes”

      Kind regards,
      Jens

      $currentTime=get-date
      $RemoveTime=$currentTime.AddMinutes($TTLminutes)

Leave a Reply

<p>Danke für Ihre Anregungen, Fragen und Hinweise.<br/>Infos zum <a href="https://www.active-directory-faq.dekontakt/">Datenschutz</a></p>
Cancel Reply

Wer schreibt ?

Consultants und Entwickler der FirstAttribute arbeiten seit mehr als 20 Jahren in IAM-, Migrations- und Cloud-Transition-Projekten.
Zusammen verfügen Sie über einen umfangreichen, wertvollen Erfahrungsschatz im Bereich Active Directory und Azure AD und teilen diesen auf Active Directory FAQ.

Neueste Artikel

  • Teams Benennungsrichtlinien definieren
  • Bitlocker-Recovery Password mit PowerShell auslesen
  • Neuen Exchange-Ordner im Postfach automatisch anlegen
  • AD Gruppenverwaltung delegieren
  • Mailversand über O365 automatisieren


FirstAttribute

AD Identity Management | Jobs

Kontakt aufnehmen

Sie haben eine Frage oder Anmerkung? Schicken Sie uns schnell eine Nachricht.

Nachricht senden
Jetzt AD Tasks vereinfachen und delegieren: FirstWare IDM-Portal

Folgen Sie uns

Kontakt

  • FirstAttribute AG
  • Am Büchele 18, 86928 Hofstetten, Germany
  • +49 89 215 442 400
  • https://www.firstattribute.com

Schlagwörter

.Net ACL Active Directory AD LDS AD Objekt Berechtigung Berechtigungen Cloud cmdlets Delegation Domain Controller dynamicgroup dynamische Gruppen Exchange Exchange 2016 Exchange Migration Federation FirstWare Global Catalog Group Policy Gruppen Gruppenmitgliedschaft IDM-Portal LDAP lokale Gruppen Microsoft Azure Migration New-ADUser Novell NTFS O365 Office 365 PowerShell QMM QMM AD QMM Exchange Quest Migration Manager Schema Set-ADUser SID SID History Update Windows Windows 10 Windows Server 2012 R2

Neueste Kommentare

  • Alex bei Powershell – Home Directory anlegen und Berechtigungen vergeben
  • Kupfer Küchenmischbatterie bei PowerShell – Gruppen-Manager Berechtigung setzen
  • Kevin bei Verschachtelung von Gruppen im AD
Login
Impressum
Datenschutzerklärung

© 2021 · Active-Directory-FAQ by firstattribute.com

Prev Next