דלג לתוכן

ייצוא מדיניות Conditional Access באמצעות Microsoft Graph API

מדיניות Conditional Access היא מרכיב קריטי באבטחת Azure AD, המספקת את הבקרות הנדרשות לאכיפת דרישות אבטחה ארגוניות. ניהול מדיניות זו, במיוחד בסביבות גדולות, יכול להיות מאתגר ללא הכלים הנכונים.

הסקריפט מיועד להתחבר ל-Microsoft Graph ולאחזר את כל מדיניות Conditional Access המוגדרת בדייר Azure AD. הסקריפט מייצא את המדיניות, ומפרט כל הגדרה בעמודה משלה, מה שמקל על מנהלים לנתח ולנהל את תצורות ה-Conditional Access שלהם.

חלון טרמינל
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Policy.Read.All"
# Get all Conditional Access policies
$policies = Get-MgIdentityConditionalAccessPolicy
# Create an array to hold the policy details
$policyDetails = @()
foreach ($policy in $policies) {
$detail = [PSCustomObject]@{
DisplayName = $policy.DisplayName
State = $policy.State
CreatedDateTime = $policy.CreatedDateTime
ModifiedDateTime = $policy.ModifiedDateTime
IncludeUsers = ($policy.Conditions.Users.IncludeUsers -join ", ")
ExcludeUsers = ($policy.Conditions.Users.ExcludeUsers -join ", ")
IncludeGroups = ($policy.Conditions.Users.IncludeGroups -join ", ")
ExcludeGroups = ($policy.Conditions.Users.ExcludeGroups -join ", ")
IncludeApplications = ($policy.Conditions.Applications.IncludeApplications -join ", ")
ExcludeApplications = ($policy.Conditions.Applications.ExcludeApplications -join ", ")
IncludePlatforms = ($policy.Conditions.Platforms.IncludePlatforms -join ", ")
ExcludePlatforms = ($policy.Conditions.Platforms.ExcludePlatforms -join ", ")
IncludeLocations = ($policy.Conditions.Locations.IncludeLocations -join ", ")
ExcludeLocations = ($policy.Conditions.Locations.ExcludeLocations -join ", ")
GrantControls = ($policy.GrantControls.BuiltInControls -join ", ")
SessionControls = ($policy.SessionControls | ConvertTo-Json -Compress)
}
$policyDetails += $detail
}
# Export to CSV
$policyDetails | Export-Csv -Path "ConditionalAccessPolicies.csv" -NoTypeInformation
Write-Output "Exported $($policyDetails.Count) Conditional Access policies to ConditionalAccessPolicies.csv"
# Disconnect
Disconnect-MgGraph