User Owned Apps Restricted

πŸ’Ό Management Samenvatting

Deze security regelen waarborgt de correcte configuratie van beveiligingsinstellingen op Windows endpoints.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
7/10
Implementatie
2u (tech: 1u)
Van toepassing op:
βœ“ Windows

Deze instelling is onderdeel van de Windows security baseline en beschermt tegen bekende aanvalsvectoren door het afdwingen van veilige configuraties.

PowerShell Modules Vereist
Primary API: Graph
Connection: Connect-MgGraph
Required Modules: Microsoft.Graph.DeviceManagement

Implementatie

Dit regelen configureert user owned apps restricted via Microsoft Intune apparaat configuratie beleid of compliance policies om Windows endpoints te beveiligen volgens security best practices.

Vereisten

m365

Implementatie

Gebruik PowerShell-script user-owned-apps-restricted.ps1 (functie Invoke-Monitoring) – Monitoren.

monitoring

Gebruik PowerShell-script user-owned-apps-restricted.ps1 (functie Invoke-Monitoring) – Controleren.

Remediatie

Gebruik PowerShell-script user-owned-apps-restricted.ps1 (functie Invoke-Remediation) – Herstellen.

Compliance en Auditing

Beleid documentatie

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS User-Owned Apps Restricted .DESCRIPTION Prevents users from creating/registering their own apps in Azure AD .NOTES NL Baseline v2.0 #> #Requires -Version 5.1 #Requires -Modules Microsoft.Graph [CmdletBinding()] param([switch]$Monitoring, [switch]$Remediation, [switch]$Revert, [switch]$WhatIf) $ErrorActionPreference = 'Stop' Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "User-Owned Apps Restricted" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Invoke-Monitoring { try { Connect-MgGraph -Scopes "Policy.Read.All" -ErrorAction Stop -NoWelcome $authPolicy = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/policies/authorizationPolicy" $usersCanCreateApps = $authPolicy.defaultUserRolePermissions.allowedToCreateApps $usersCanConsent = $authPolicy.defaultUserRolePermissions.permissionGrantPoliciesAssigned Write-Host " Users can create apps: $(if($usersCanCreateApps){'ALLOWED'}else{'BLOCKED'})" -ForegroundColor $( if (-not $usersCanCreateApps) { 'Green' }else { 'Red' } ) Write-Host " Permission grant policies: $($usersCanConsent -join ', ')" -ForegroundColor Gray Write-Host "`n Security Impact:" -ForegroundColor Cyan Write-Host " β€’ Prevents shadow IT apps" -ForegroundColor Gray Write-Host " β€’ Enforces IT oversight" -ForegroundColor Gray Write-Host " β€’ Reduces data leakage risk" -ForegroundColor Gray if (-not $usersCanCreateApps) { Write-Host "`n[OK] COMPLIANT - App creation restricted to admins" -ForegroundColor Green exit 0 } else { Write-Host "`n[FAIL] NON-COMPLIANT - Users can create apps!" -ForegroundColor Red exit 1 } } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } function Invoke-Remediation { try { Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization" -ErrorAction Stop -NoWelcome $body = @{ defaultUserRolePermissions = @{ allowedToCreateApps = $false } } | ConvertTo-Json Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/v1.0/policies/authorizationPolicy/authorizationPolicy" -Body $body -ErrorAction Stop Write-Host "`n[OK] User app creation restricted" -ForegroundColor Green Write-Host "Only admins can create apps now" -ForegroundColor Cyan exit 0 } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } function Invoke-Revert { try { Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization" -ErrorAction Stop -NoWelcome $body = @{ defaultUserRolePermissions = @{ allowedToCreateApps = $true } } | ConvertTo-Json Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/v1.0/policies/authorizationPolicy/authorizationPolicy" -Body $body -ErrorAction Stop Write-Host " ⚠️ Users can now create apps" -ForegroundColor Yellow exit 0 } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } try { if ($Revert) { Invoke-Revert } elseif ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "Use: -Monitoring | -Remediation | -Revert" -ForegroundColor Yellow } } catch { throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: No auth tracking.

Management Samenvatting

Schakel in audit logging.