Entra ID Automation: Entra ID Gruppe automatisch erstellen und Entra Rolle zuweisen

In vielen Umgebungen startet alles mit „wir automatisieren das schnell mit PowerShell“. Und genau hier passieren die klassischen Fehler: die Gruppe wird erstellt, aber danach kann keine Rolle zugewiesen werden, weil die Gruppe nicht als Security Principal geeignet ist.

Wenn du entra id automation sauber umsetzen willst (Gruppe erstellen und danach eine entra id role assignment durchführen), musst du beim Erstellen der Gruppe die richtigen Eigenschaften setzen:

  • securityEnabled = true (Security Group / Security Principal)
  • und für Entra Directory Roles auf Gruppen in der Praxis: isAssignableToRole = true (Role-Assignable Group).

Microsoft zeigt diesen Ansatz ebenfalls: Eine role-assignable security group wird mit securityEnabled: true und isAssignableToRole: true erstellt.


Warum securityEnabled = true so wichtig ist

Entra Directory Roles werden an Security Principals gebunden. Wenn deine Gruppe nicht securityEnabled ist, scheitert die „Rolle zuweisen“-Automatisierung typischerweise, weil die Gruppe nicht im richtigen Kontext als Zielobjekt für Rollenmanagement genutzt werden kann.

Darum: Wenn du von „Gruppe erstellen“ direkt weiter zu „Entra Rolle zuweisen“ automatisieren willst, erstelle die Gruppe als Security Group (securityEnabled=true) und – für Directory Roles auf Gruppen – als role-assignable (isAssignableToRole=true).


Die Graph-API Bausteine

  • Gruppe erstellen: POST <https://graph.microsoft.com/v1.0/groups>
  • Rollenzuweisung erstellen: POST /roleManagement/directory/roleAssignments (unifiedRoleAssignment)

Berechtigungsseitig nennt Microsoft u. a. Group.ReadWrite.All für das Erstellen der Gruppe und RoleManagement.ReadWrite.Directory für rollenbezogene Operationen.

Zusätzlich dokumentiert Microsoft, dass (delegiert) Privileged Role Administrator die least-privileged Entra Rolle für das Erstellen von Role Assignments ist.


Vollständiges PowerShell Script: Gruppe erstellen + Entra Rolle zuweisen


<#
Entra ID Automation: Role-Assignable Security Group erstellen und Entra Directory Role zuweisen
Voraussetzung: Microsoft Graph PowerShell SDK
#>

# ---------------------------
# 0) Voraussetzungen / Module
# ---------------------------
# Install-Module Microsoft.Graph -Scope CurrentUser
Import-Module Microsoft.Graph.Groups
Import-Module Microsoft.Graph.Identity.Governance

# ---------------------------
# 1) Verbindung zu Microsoft Graph
# ---------------------------
$scopes =@(
"Group.ReadWrite.All",
"RoleManagement.ReadWrite.Directory",
"Directory.Read.All"
)

Connect-MgGraph-Scopes$scopes

# ---------------------------
# 2) Parameter definieren
# ---------------------------
$groupDisplayName ="PIM-Helpdesk-UserAdmin"
$groupDescription ="Role-assignable security group managed by automation"
$mailNickname     = ("pimhelpdesk" + (Get-Random-Maximum9999))

# Gewünschte Entra Directory Role (Beispiele: "User Administrator", "Groups Administrator")
$roleDisplayName  ="User Administrator"

# ---------------------------
# 3) ROLE-ASSIGNABLE SECURITY GROUP erstellen
# ---------------------------
$params =@{
  description        =$groupDescription
  displayName        =$groupDisplayName
  mailEnabled        =$false
  mailNickname       =$mailNickname
  securityEnabled    =$true
  isAssignableToRole =$true
}

$group =New-MgGroup-BodyParameter$params
Write-Host"Gruppe erstellt:"$group.DisplayName" ("$group.Id")"

# ---------------------------
# 4) Role Definition ID ermitteln
# ---------------------------
$roleDefinition =Get-MgRoleManagementDirectoryRoleDefinition-Filter"displayName eq '$roleDisplayName'"

if (-not$roleDefinition) {
throw"Role Definition nicht gefunden für displayName: $roleDisplayName"
}

Write-Host"Rolle:"$roleDefinition.DisplayName" ("$roleDefinition.Id")"

# ---------------------------
# 5) Entra Rolle der Gruppe zuweisen (Tenant-weit)
# ---------------------------
$assignmentParams =@{
  principalId      =$group.Id
  roleDefinitionId =$roleDefinition.Id
  directoryScopeId ="/"
}

$assignment =New-MgRoleManagementDirectoryRoleAssignment-BodyParameter$assignmentParams
Write-Host"Rolle zugewiesen. Assignment Id:"$assignment.Id

# ---------------------------
# 6) Ergebnis ausgeben
# ---------------------------
[PSCustomObject]@{
  Gruppenname       =$group.DisplayName
  GruppenId         =$group.Id
  Rollenname        =$roleDefinition.DisplayName
  RoleDefinitionId  =$roleDefinition.Id
  DirectoryScopeId  ="/"
  RoleAssignmentId  =$assignment.Id
}

Die entscheidenden Punkte:

  • Gruppe wird über /groups erstellt und setzt explizit securityEnabled und isAssignableToRole.
  • Die Rollenzuweisung wird als unifiedRoleAssignment über Role Management erstellt.

Von Automation zu Governance: warum PIM der nächste Schritt ist

Skripte lösen Provisioning – aber Governance (Genehmigungen, JIT, Ablaufzeiten, Audits) kommt meist als nächstes. Microsoft beschreibt PIM genau mit dem Ziel, „standing admin access“ zu reduzieren und privilegierten Zugriff zu steuern.


Entdecke unsere hybride au2mator PIM Lösung

Wenn du Entra Rollen und On-Prem AD Rollen in einem Portal verwalten und zeitlich begrenzen willst (hybrid), schau dir unsere Lösung an:

au2mator Privileged Identity Management (PIM)

Do more with au2mator!

Self-Service portal with three automation engines

Similar articles

Entra ID Automation: Entra ID Gruppe automatisch erstellen und Entra Rolle zuweisen

In vielen Umgebungen startet alles mit „wir automatisieren das schnell mit PowerShell“. Und genau hier passieren die klassischen Fehler: die Gruppe wird erstellt, aber danach ...

Just in time admin access im Active Directory

Dauerhafte Privilegien in Active Directory sind ein typisches „stilles Risiko“: praktisch, aber sie sammeln sich zu unsichtbaren Angriffspfaden an. Eine permanente Mitgliedschaft in den Domain ...

Neue Preise 2025

Hallo, liebe au2mator Familie! Wir haben spannende Neuigkeiten für Sie! Nach sechs wunderbaren Jahren konstanter Preisgestaltung nehmen wir einige wichtige Anpassungen an unserem Self-Service Portal ...