Use Powershell to activate Privileged Identity Management Role
Hallo zusammen,
Wie Privileged Identity Management funktioniert, habe ich bereits hier beschrieben. Nun dachte ich, vielleicht gibt es ja mit PowerShell eine einfache Möglichkeit die PIM Rollen zu aktivieren.
Es gibt PIM Commands im AzureAD Modul (denke es muss die Preview Version sein)
PowerShell for Azure AD roles in Privileged Identity Management
Get-Command *AzureADMSPrivilegedRole*
Mit folgendem Command verbindet man sich mit dem AzureAD
Mit folgendem Befehl kann man sich die Rollen welche "Eligible" sind anzeigen lassen
Get-AzureADMSPrivilegedRoleAssignment -ProviderId "aadRoles" -ResourceId "46bbad84-29f0-4e03-8d34-f6841a5071ad" | where {$_.AssignmentState -eq "Eligible"}
Leider steht da dann nicht wie was für eine Rolle das ist, sondern man muss mit der ID die Rollendefinition abfragen
Get-AzureADMSPrivilegedRoleDefinition -ProviderId "aadRoles" -ResourceId "46bbad84-29f0-4e03-8d34-f6841a5071ad" -Id 29232cdf-9323-42fd-ade2-1d097af3e4de
Man sieht im PIM Webinterface, dass ich vier Rollen "Eligible", genau wie in der PowerShell
Um eine Roll zu aktivieren, wird es schon etwas komplizierter
$schedule = New-Object Microsoft.Open.MSGraph.Model.AzureADMSPrivilegedSchedule
$schedule.Type = "Once"
$schedule.StartDateTime = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
$schedule.endDateTime = ((Get-Date).AddHours(+4)).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
$schedule
Open-AzureADMSPrivilegedRoleAssignmentRequest -ProviderId "aadRoles" -ResourceId "46bbad84-29f0-4e03-8d34-f6841a5071ad" -RoleDefinitionID "29232cdf-9323-42fd-ade2-1d097af3e4de" -SubjectID "6db8cdd5-8e93-462d-9907-994406c07f60" -Type "UserAdd" -AssignmentState "Active" -Schedule $Schedule -reason "Incident" -Verbose
Da für Admin Rollen MFA benötigt wird klappt das noch nicht. Ich ändere also meine Conditional Access Rule und entferne die Trusted Location.
Beim Verbinden mit dem AzureAD PowerShell Module erhalte ich nun eine MFA Abfrage
Connect-AzureAD
Nun klappt es auch mit dem Request einer PIM Rolle
Die PIM requests des vergangenen Tages kann man sich so anschauen
#View PIM Requests
Get-AzureADMSPrivilegedRoleAssignmentRequest -ProviderId "aadRoles" | where {$_.RequestedDateTime -gt (get-Date).AddDays(-1)}
Nur mit dem vorzeitigen deaktivieren der PIM Rolle klappt es noch nicht. Vielleicht hat da ja jemand einen Tipp?
#Close PIM Request
Close-AzureADMSPrivilegedRoleAssignmentRequest -ProviderId "aadRoles" -Id "9748c2dc-86c3-42aa-bcb1-769959f1e284"
Mein Fazit:
Man kann die PIM Rollen über PowerShell aktivieren. Allerdings ist das für den täglichen Gebrauch mit den ID's aber viel zu umständlich. Hoffe das wird noch massiv Benutzerfreundlicher.