Guide de renouvellement et d'étiquetage des clés
Guide de renouvellement et d'étiquetage des clés
Stratégies pour appliquer des étiquettes DKE lorsque l'étiquetage automatique n'est pas disponible
Le défi de l'étiquetage DKE
Cela signifie que les fichiers doivent être étiquetés manuellement ou via des méthodes alternatives avant la migration, afin de garantir que Microsoft 365 ne puisse pas lire leur contenu.
Solutions possibles
Étiquetage manuel
Via le Purview Label Client
AIP Scanner
Étiquetage automatisé sur site
PowerShell
Étiquetage des fichiers par script
1. Étiquetage manuel
Consiste à sélectionner des fichiers ou des dossiers individuels dans l'Explorateur de fichiers et à appliquer l'étiquette appropriée.
Inconvénient : journalisation limitée en cas d'erreur, et les fichiers doivent être vérifiés un par un — très chronophage et inadapté aux migrations de grande ampleur.
2. AIP Scanner
Un outil installé sur site pour appliquer automatiquement des étiquettes aux fichiers situés sur des partages de fichiers ou sur SharePoint On-Premises, en fonction de politiques définies.
Avantages
Idéal pour les environnements plus vastes ou lorsque l'étiquetage doit être étendu à des installations sur site.
Inconvénient
Pour de petits disques locaux, la charge de mise en œuvre peut être trop élevée.
3. Étiquetage basé sur PowerShell
En raison des limitations des méthodes ci-dessus, PowerShell peut être utilisé pour étiqueter les fichiers de manière programmatique.
Prérequis
- Un client avec PowerShell et le Purview Label Client installés
- Un enregistrement d'application dans Entra ID (anciennement Azure Active Directory)
- Les fichiers MSG (messages Outlook) ne peuvent pas être étiquetés via PowerShell
- Les PDF protégés par mot de passe ou signés par certificat ne peuvent pas non plus être étiquetés (limitation du système d'étiquetage lui-même)
Le défi PowerShell
L'utilisation des commandes PowerShell standard telles que documentées par Microsoft peut entraîner un blocage de PowerShell ou une exécution indéfinie.
Les tests ont démontré que ce qui précède n'est pas suffisant et qu'un travail supplémentaire est nécessaire pour étiqueter les fichiers de manière fiable à l'aide d'un mécanisme de nouvelle tentative et d'un traitement basé sur les tâches (jobs).
Script PowerShell fiable pour l'étiquetage
Le script suivant fournit une solution robuste avec logique de nouvelle tentative et exécution basée sur les tâches :
Get-ChildItem -Path \\Finance\Projects\ -Recurse -File | ForEach-Object {
try {
$maxRetries = 3
$retryCount = 0
$setSuccess = $false
while (-not $setSuccess -and $retryCount -lt $maxRetries) {
$retryCount++
$jobsetlabel = Start-Job -ScriptBlock {
param ($fileName, $DKELabelId)
Set-FileLabel -FileName $fileName -LabelId $DKELabelId
[GC]::Collect()
[GC]::WaitForPendingFinalizers()
return $true
} -ArgumentList $_.FullName, "d9f23ae3-4321-4321-4321-f515f824c57b"
$finishedsetlabel = $jobsetlabel | Wait-Job -Timeout 10 | Receive-Job
if ($finishedsetlabel) {
$setSuccess = $true
Write-Host "Label set successfully for $($_.FullName) on attempt $retryCount." -ForegroundColor Green
}
}
}
catch {
Write-Host "Failed to set label after $maxRetries attempts for $($_.FullName)." -ForegroundColor Red
}
}
Fonctionnalités du script
| Fonctionnalité | Description |
|---|---|
| Mécanisme de nouvelle tentative | Effectue jusqu'à 3 tentatives par fichier |
| Exécution basée sur les tâches | Chaque fichier est étiqueté dans une tâche distincte afin d'éviter les problèmes de ressources |
| Nettoyage de la mémoire | Utilise [GC]::Collect() et WaitForPendingFinalizers() après chaque tâche |
| Contrôle de délai d'attente | Empêche les blocages en utilisant Wait-Job -Timeout 10 |
Avec cette approche, vous pouvez étiqueter avec succès tous les fichiers concernés sans que PowerShell ne se bloque ou ne s'exécute indéfiniment.
Script d'audit avant migration
Pour garantir que tous les fichiers ont été correctement étiquetés avant la migration, rédigez un script qui lit l'étiquette de chaque fichier et consigne les résultats dans un fichier CSV. Cela permet un examen manuel et des ajustements là où c'est nécessaire.