Dit regelen configureert powerbi service principals no profiles via Microsoft Intune apparaat configuratie beleid of compliance policies om Windows endpoints te beveiligen volgens security best practices.
Vereisten
m365
Implementatie
Gebruik PowerShell-script powerbi-service-principals-no-profiles.ps1 (functie Invoke-Monitoring) β Monitoren.
monitoring
Gebruik PowerShell-script powerbi-service-principals-no-profiles.ps1 (functie Invoke-Monitoring) β Controleren.
Remediatie
Gebruik PowerShell-script powerbi-service-principals-no-profiles.ps1 (functie Invoke-Remediation) β Herstellen.
Compliance en Auditing
Beleid documentatie
Compliance & Frameworks
CIS M365: Control 18.9.19.2 (L1) - CIS Security Benchmark aanbevelingen
BIO: 16.01 - BIO Baseline Informatiebeveiliging Overheid - 16.01 - Gebeurtenissen logging en audittrails
ISO 27001:2022: A.12.4.1 - ISO 27001:2022 - Gebeurtenissen logging en audittrails
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
PowerBI Service Principals No User Profiles
.DESCRIPTION
Prevents service principals from creating user profiles in PowerBI
.NOTES
NL Baseline v2.0#>#Requires -Version 5.1#Requires -Modules MicrosoftPowerBIMgmt
[CmdletBinding()]
param([switch]$Monitoring)
$ErrorActionPreference = 'Stop'
Write-Host "`n========================================" -ForegroundColor Cyan
Write-Host "PowerBI Service Principals No Profiles" -ForegroundColor Cyan
Write-Host "========================================`n" -ForegroundColor Cyan
function Invoke-Monitoring {
try {
Write-Host " β οΈ Manual verification required" -ForegroundColor Yellow
Write-Host "`n Configuration in PowerBI Admin Portal:" -ForegroundColor Cyan
Write-Host " Tenant settings > Developer settings" -ForegroundColor Gray
Write-Host "`n Required Settings:" -ForegroundColor Cyan
Write-Host " β Service principals can use Power BI APIs: Restricted to specific security groups" -ForegroundColor Gray
Write-Host " β Allow service principals to create and use profiles: Disabled" -ForegroundColor Gray
Write-Host " β Apply to: Entire organization" -ForegroundColor Gray
Write-Host "`n Security Benefits:" -ForegroundColor Cyan
Write-Host " β’ Prevents service principal profile creation" -ForegroundColor Gray
Write-Host " β’ Reduces attack surface" -ForegroundColor Gray
Write-Host " β’ Maintains user vs service separation" -ForegroundColor Gray
Write-Host " β’ Improves security posture" -ForegroundColor Gray
Write-Host "`n β οΈ Note: Configure via PowerBI Admin Portal" -ForegroundColor Yellow
exit 0
}
catch {
Write-Host "ERROR: $_" -ForegroundColor Red
exit 2
}
}
try {
if ($Monitoring) { Invoke-Monitoring }
else { Write-Host "Use: -Monitoring" -ForegroundColor Yellow }
}
catch { throw }
finally {
Write-Host "`n========================================`n" -ForegroundColor Cyan
}
function Invoke-Remediation {
<#
.SYNOPSIS
Herstelt de configuratie naar de gewenste staat
.DESCRIPTION
Dit is een monitoring-only control, remediation delegeert naar monitoring
#>
[CmdletBinding()]
param()
Write-Host "[INFO] Dit is een monitoring-only control" -ForegroundColor Yellow
Write-Host "[INFO] Running monitoring check..." -ForegroundColor Cyan
Invoke-Monitoring
}