Skip to the main content.

ScriptRunner Blog

Sensitivity Label – so funktioniert der Schutz von Informationen durch Kennzeichnung

Inhaltsverzeichnis

 

Post Featured Image

Mit Microsoft 365 und Sensitivity Labeln sind Sie einen Schritt voraus. Der Schutz der Informationen eines Unternehmens vor Diebstahl und anderen bösartigen Angriffen ist eine wichtige Aufgabe, bei der unterschiedliche Maßnahmen zum Einsatz kommen. Hier geht es um die Kennzeichnungsfunktion von Microsoft, die Sensitivity Label, welche den Schutz dieser Informationen auf internen Systemen, in Microsoft 365 oder bei der Freigabe nach außen ermöglichen. Diese Label bieten Verschlüsselung, einen Kopierschutz sowie erweiterte Schutzmechanismen für Ihre Informationen. Mit der Unterstützung nativer Anwendungen sind Label zudem unaufdringlich. Sensitivity Label sind ein Thema, das einer gewissen Planung bedarf, bevor sie dem gesamten Unternehmen zur Verfügung gestellt werden können.

Microsoft bietet ein eigenes PowerShell-Modul, das als Verwaltungstool für diese Microsoft 365-Funktion verwendet werden kann. Es kann auch mit der grafischen Benutzeroberfläche kombiniert werden, die im Microsoft Purview Security & Compliance-Portal (hier) zu finden ist. Damit erhalten Sie eine umfassende Verwaltungslösung:

1_information protection

Referenzrahmen 

Beim Thema Security Label gilt es eine Reihenfolge zu berücksichtigen, damit beim Erstellen, Anwenden und Verwalten alles funktioniert. Das zentrale Element sind die Label, die erstellt sein müssen, bevor die anderen Schritte erfolgen. Für das jeweilige Label wird eine Label-Policy (Richtlinie) erstellt, die ein oder mehrere Label für Benutzer in einer Organisation veröffentlicht. Alternativ erstellen Sie eine automatische Label-Policy, welche Label auf der Grundlage definierter Kriterien auf Inhalte anwenden kann. Darüber hinaus benötigen Sie eine Policy-Regel (oder AutoLabelling Policy Rule), die festlegt, für wen die Label veröffentlicht werden.

Label -> Richtlinie -> Regel

AutoLabelling: Ein automatisierter, maschinenlogikgesteuerter Prozess, durch den Sensitivitätskennzeichnungen auf Inhalte in einem Tenant angewendet werden, sei es in SharePoint, OneDrive oder Exchange-E-Mails. Dieses komplexe Thema liegt außerhalb des Rahmens dieses Artikels, in dem wir lediglich die Grundlagen von Labels behandeln.

 

Warum PowerShell?

Microsoft hat den Prozess der Erstellung von Labels stetig vereinfacht und die Benutzerfreundlichkeit bei der Verwaltung von Labels verbessert. Es wurde sowohl die Webschnittstelle (Purview Compliance Portal) als auch das PowerShell-Modul des Security and Compliance Centers verbessert. PowerShell bietet eine einzigartige und leistungsstarke Schnittstelle für die Verwaltung von Labeln, sei es für die Erstellung, Verwaltung oder das Reporting. Es lohnt sich, ein bisschen Zeit zu investieren, den Umgang mit Labels zu lernen und diese dann anzuwenden – die Zeit sparen Sie sich in Zukunft, wenn alles automatisch läuft.

 

Planung

Ein wichtiger Aspekt ist die Planung. Wenn Sie Label auf Dokumente in Ihrem Tenant oder Unternehmen anwenden wollen, investieren Sie in gute Planung. Welche Ziele sollen verfolgt werden? Wer wird davon betroffen sein? Vergessen Sie die Kommunikation nicht. Machen Sie also Ihre Hausaufgaben, bevor Sie Labels erstellen! Entscheiden Sie sich für Farbschemata, wenn Sie diese Funktion verwenden. Vermeiden Sie kryptische Namen und versetzen sich bei der Namensgebung kurz in die Lage der Endnutzer. Erstellen Sie FAQs, eine einfach zugängliche Seite mit den häufigsten Fragen, damit die Nutzer die erstellten Label richtig verwenden können.

 

Neue Label erstellen

Je nach Anforderung an das Label kann die Komplexität beim Konfigurieren variieren. 

Brechen Sie die Anforderungen herunter auf den genauen Use Case und darauf, welche Nutzer das jeweilige Label einmal verwenden werden, und zuletzt ob und wenn ja welche visuelle Hilfe zur Verfügung gestellt werden. Einfache Labels können schon mit sehr wenig PowerShell-Code erstellt werden:


New-Label -DisplayName 'Confidential' -Name 'Confidential'
New-Label -DisplayName 'vertraulich' -Name 'vertraulich'

Mit diesem Einzeiler haben wir nun ein einfaches Label mit dem Namen "Confidential" oder "vertraulich", dessen Name sowohl für den Administrator als auch für den Endbenutzer sichtbar ist. Es werden keine Einstellungen wie Verschlüsselung, Farben oder andere Einstellungen konfiguriert. Dieses neue Label kann auf Dokumente angewendet werden, hat aber eher dekorativen Charakter. Wie bereits angedeutet, gibt es weitere Optionen und Einstellungen, die mit Labeln verwendet werden können, um sie funktioneller zu gestalten.

 

Verschlüsselung

Das Verschlüsseln von Dokumenten und E-Mails ist eine beliebte und wichtige Funktion von Labels in Microsoft 365, und mit PowerShell können wir eine Reihe von Parametern festlegen, um die Nützlichkeit eines Labels zu erweitern.

EncryptionDoNotForward:
Aktiviert den Do-Not-Forward-Schutz für das Objekt, auf das das Label angewendet wird. Erfordert, dass EncryptionEnabled auf $True gesetzt ist.

EncryptionDoubleKeyEncryptionUrl:
In der öffentlichen Vorschau. Es wird verwendet, um das Label auf die Double Key Encryption-Endpunkt-URL für diesen Verschlüsselungstyp zu verweisen.

EncryptionEnabled:
Der Standardwert (default value) ist $False und muss auf $True gesetzt werden, damit Verschlüsselung in einem Label verwendet werden kann.

EncryptionOfflineAccessDays:
Gibt die Anzahl der Tage an, an denen ein Benutzer offline sein kann und nicht eincheckt, damit die Verschlüsselung zugelassen wird. Erfordert, dass EncryptionEnabled auf $True gesetzt ist.

EncryptionPromptUser:
Standardmäßig $False, wenn auf $True gesetzt, können Benutzer Berechtigungen für Word-, Excel- und PowerPoint-Dokumente festlegen. Erfordert die Einstellung von EncryptionEnabled auf $True.

EncryptionProtectionType:
Erlaubte Werte sind Template, RemoveProtection und UserDefined. Verwenden Sie diese Option, um einem Dokument einen AIP-Vorlagenentfernungsschutz zuzuweisen oder einen benutzerdefinierten Schutz zuzuweisen. Erfordert, dass EncryptionEnabled auf $True gesetzt ist.

EncryptionRightsDefinitions:
Verwenden Sie diesen Parameter, um granulare Rechte für dieses Label zu vergeben. Erfordert, dass EncryptionEnabled auf $True gesetzt ist.

EncryptionContentExpiredOnDateInDaysOrNever:
Legt ein Ablaufen von "niemals" oder nach einer bestimmten Anzahl von Tagen fest. Erfordert die Einstellung von EncryptionEnabled auf $True.

Einige der verfügbaren Parameter sind lediglich für die Verwendung durch Microsoft reserviert, verwenden Sie diese also nicht für Ihre eigenen Label:

EncryptionEncryptOnly und EncryptionLinkedTemplateId. Außerdem ist ein Parameter 'EncryptionAipTemplateScopes' nur mit AIP Classic zu verwenden, was vermieden werden sollte, da diese Funktion in Microsoft 365 veraltet ist.

 

Beispiele 

Neues Label mit Do Not Forward

New-Label -DisplayName 'InternalUseOnly' -Name 'InternalUseOnly' -EncryptionEnabled $True -EncryptionDoNotForward $True

Offline-Zugriff für 35 Tage zulassen und Benutzerberechtigungen konfigurieren

New-Label -DisplayName 'RnD-OfflineAccess' -Name 'RnD-OfflineAccess' -EncryptionEnabled $True -EncryptionOfflineAccessDays 35 -ToolTip 'R&D Department use - 35 days of Offline Access'

 

Visuelle Einstellungen für Label

Neben der Verschlüsselungsfunktion von Labeln, die die Benutzer sehen können oder auch nicht, gibt es auch Optionen für das Hinzufügen von visuellen Hinweisen zu Labeln. Diese lassen sich in drei Kategorien einteilen:

  • Kopfzeile (Header)
  • Fußzeile (Footer)
  • Wasserzeichen (Water Marks)

2_Label Header Footer Watermark


Optionen für die Kopfzeile

ApplyContentMarkingHeaderText,
ApplyContentMarkingHeaderAlignment,
ApplyContentMarkingHeaderEnabled, 
ApplyContentMarkingHeaderFontColor,
ApplyContentMarkingHeaderFontSize,
ApplyContentMarkingHeaderMargin,
ApplyContentMarkingHeaderFontName

Optionen für die Fußzeile

ApplyContentMarkingFooterFontSize,
ApplyContentMarkingFooterMargin,
ApplyContentMarkingFooterAlignment,
ApplyContentMarkingFooterText,
ApplyContentMarkingFooterFontColor,
ApplyContentMarkingFooterEnabled,
ApplyContentMarkingFooterFontName

Optionen für die Wasserzeichen 

ApplyWaterMarkingFontSize,
ApplyWaterMarkingFontName,
ApplyWaterMarkingFontColor,
ApplyWaterMarkingText,
ApplyWaterMarkingLayout,
ApplyWaterMarkingEnabled

 

Diese drei visuellen Arten der Markierung haben Gemeinsamkeiten, die ein einheitliches Erscheinungsbild ermöglichen, je nachdem, welche davon in einem neu erstellten Label verwendet werden. Diese Gemeinsamkeiten sind die Schriftfarbe, die Größe und der Name sowie die Ausrichtung und die Ränder. Nachstehend finden Sie einige Beispiel-Label mit Kopf- und Fußzeilen sowie Wasserzeichen:

 

Wasserzeichen

New-Label -DisplayName 'Internal Only' -Name 'Internal Only' -ApplyWaterMarkingEnabled $True -ApplyWaterMarkingFontSize 20 -ApplyWaterMarkingFontName 'Times New Roman' -ApplyWaterMarkingFontColor #515A5A -ApplyWaterMarkingLayout Diagonal -ApplyWaterMarkingText 'INTERNAL ONLY' -Tooltip 'Use this Label for documents that are not for sharing outside the company, even with partners.'

3_screenshot Watermark

 

Kopf- und Fußzeile 

New-Label -DisplayName 'Partner Collaboration' -Name 'Partner Collaboration' -ApplyContentMarkingHeaderEnabled $True -ApplyContentMarkingHeaderAlignment 'Center' -ApplyContentMarkingHeaderFontColor '#3498DB' -ApplyContentMarkingHeaderFontSize 10 -ApplyContentMarkingHeaderFontName 'Comic Sans' -ApplyContentMarkingHeaderText 'INTERNAL ONLY' -Tooltip 'Use this Label for documents that are intended for partner collaboration.'

4_screenshot Header and Footer

 

Lokale Einstellungen 

Microsoft 365 ist eindeutig ein multinationaler Dienst, der Nutzer auf der ganzen Welt hat, die andere Sprachen als Englisch sprechen. Um diesen Nutzern entgegenzukommen und die Label an einem bestimmten Ort zu verwenden, stellt Microsoft einen Parameter namens 'LocalSettings' zur Verfügung, der diese Anpassung ermöglicht. Die unterstützten Sprachen finden Sie in der Dokumentation von Microsoft – Language identifiers and OptionState Id values in Office 2016. Mit dieser Einstellung können Sie den Anzeigenamen und die QuickInfo, die der Benutzer sieht, in seine lokale Sprache ändern. Das funktioniert nur mit den von Office unterstützten Sprachen und auch nur dann, wenn nutzerseitig die Änderung in der App vorgenommen wurde, sprich eine andere Sprache ausgewählt worden ist.

Wie funktioniert dies in PowerShell? Sehen Sie sich zunächst das in der Get-Help bereitgestellte Beispiel für das Cmdlet New-Label an:

5_screenshot get-help new-label cmdlet

Erstellen Sie dann Ihr eigenes Cmdlet, basierend auf der benötigten Sprache. In unserem Beispiel unten ist es Englisch und Französisch für eine Organisation, die in Quebec, Kanada, und Miami, Florida, USA, tätig ist:

Name des Labels und Tooltip

New-Label -DisplayName 'Confidential' -Name 'Confidential' -LocaleSettings '{"localeKey":"DisplayName","Settings":[{"Key":"en-us","Value":"Confidential"},{"Key":"fr-FR","Value":"Confidentiel"}]}' , '{"localeKey":"tooltip","Settings":[{"Key":"en-us","Value":"For internal and email documents only."},{"Key":"fr-FR","Value":"Uniquement pour les documents internes et les e-mails."}]}'

Achten Sie bei der Erstellung des obigen Textes auf Ihre Befehle, Klammern und Benennungen, da diese für den Einzeiler wichtig sind.

 

Erweiterte Einstellungen (Advanced Settings)

Neben den in der Get-Help für die Label-Cmdlets aufgeführten Einstellungen gibt es erweiterte Einstellungen, die nicht in der grafischen Benutzeroberfläche, sondern nur über PowerShell verfügbar sind. Es gibt unglaublich viele verfügbare Einstellungen, die konfiguriert werden können, wir können hier nur ein paar abdecken. Weiter unten folgt ein Link zu den restlichen Einstellungen:

Festlegen der Farbe eines Labels

Set-Label -Identity 'Confidential' -AdvancedSettings @{Color='#111111'}

Ein Problem melden

Set-LabelPolicy -Identity Confidential -AdvancedSettings @{ReportAnIssueLink="mailto:ithelpdesk@domain.com"}

Dokumentation zu den erweiterten Einstellungen

Hier finden Sie den Link zur 'Microsoft Documentation' (EN) (Hier die Dokumentation auf Deutsch)

 

Ändern vorhandener Labels

PowerShell ermöglicht auch die Änderung von Bezeichnungen, wenn eine Änderung erforderlich ist oder beim Erstellen einer Bezeichnung ein Fehler gemacht wurde. Die für das Cmdlet 'New-Label' verfügbaren Parameter werden in ähnlicher Weise im Cmdlet 'Set-Label' angeboten, das eine breite Palette von Änderungen am Label ermöglicht. Mit dem Cmdlet 'Set-Label' können wir ToolTips benutzerfreundlicher gestalten, Farben anpassen und vieles mehr. Im Folgenden finden Sie einige Beispiele dafür:

Wechsel von einer vorhandenen Farbe auf einen Gelbton (ChangeColor) 

Set-Label -Identity 'Confidential' -AdvancedSettings @{Color='#F1FC03}

Ändern des ToolTip Textes

Set-Label -DisplayName 'Partner Collaboration' -ToolTip 'Use this Label for partner collaboration documents.'

Natürlich gibt es noch mehr Optionen, diese beiden waren sehr praxisnahe Beispiele für Änderungen, die nach der Erstellung des Labels vorgenommen werden.

 

Anwendung von Labeln

Nachdem wir nun einige Label zur Verfügung haben, können wir damit beginnen, diese Label mit Policies zu versehen. Je nach Komplexität des Labels und Szenarios ist eine Label-Policy recht einfach zu erstellen. Die Funktionen New-LabelPolicy und Set-LabelPolicy ermöglichen die Festlegung von Datenbereichen, die Ausnahme oder Auswahl von bestimmten Bereichen sowie die Kombination mehrerer Labels zu einem ganzen, auf das die Benutzer zugreifen können. Der einfachste Ansatz besteht darin, zwei zuvor erstellte Labels wie folgt global zu veröffentlichen:

New-LabelPolicy 'GlobalLabels' -Labels 'Confidential','Internal Only'

Sie können die Label auch auf bestimmte Exchange-Target zuschneiden, etwa so:

New-LabelPolicy 'Labels for Damian' -Labels 'Confidential','Internal Only' -ExchangeLocation damian@practicalpowershell.com

Damit haben Sie sich für die Veröffentlichung von Labels entschieden, die nun in E-Mails, Dokumenten und mehr verwendet werden können. Wenn ein Label von den Benutzern verwendet wurde, ist es besser, die Policy zu entfernen und das Label zu belassen, da das Entfernen eines angewendeten Labels Fehler verursacht, die für die Benutzer sichtbar sind und zu Problemen/Helpdesk-Anrufen führen können.

 

Reporting und Dokumentation

Genauso wichtig wie das Erstellen und Veröffentlichen von Labeln ist auch das Überprüfen und Dokumentieren von Labeln als Teil Ihrer IT-Prozesse und auch aus aus Gründen der Compliance. Die Cmdlets Get-Label und Get-LabelPolicy sind nützlich, um Listen dieser Objekte aus einem Tenant abzurufen und können zur Dokumentation, Überprüfung oder Prüfung der aktuellen Konfiguration verwendet werden. Einige wichtige Eigenschaften eines Labels sind Einstellungen, LabelActions, Bedingungen, LocalSettings, ToolTip und ContentType.

Beispiele

Get-Label | fl Settings,LabelActions,Conditions,LocalSettings,ToolTip,ContentType

 

Filter: Label mit Label-Aktionen

Get-Label | Where LabelActions -ne $Null | fl Settings,LabelActions,Conditions,LocalSettings,ToolTip,ContentType

Filter: Nicht-E-Mail/Datei-Label

Get-Label | Where ContentType -ne 'File, Email' | fl Settings,LabelActions,Conditions,LocalSettings,ToolTip,ContentType


Reporting der Label-Richtlinien

Mit dem Cmdlet Get-LabelPolicyRule können Sie, wie mit dem Cmdlet Get-Label, die in der Label-Policy verwendeten Einstellungen zu Validierungs- und/oder Dokumentationszwecken exportieren:

Beispiele 


Get-LabelPolicy | ft Type,Settings,Labels,ScopedLabels,PolicySettingsBlob,UPELabelRules,*location

Get-LabelPolicy | fl Name,Type,*Labels,Settings,*location,*exception

5_screenshot Get-LabelPolicy

Beachten Sie, dass einige dieser Felder sehr lang werden können und möglicherweise erweitert werden müssen, um alle Einstellungen korrekt anzuzeigen:

6_screenshot Get-LabelPolicy expanded

(Get-LabelPolicy 'Teams Private Policy').Settings | fl

7_screenshot Get-LabelPolicy settings

 

Entfernen von Labeln

Das Entfernen von Labeln ist zwar möglich, sollte aber immer mit Vorsicht geschehen. Wenn Label angewandt wurden und das angewandte Label entfernt wird, kommt es zu einem "orphaned Label scenario" (zu verwaisten Labeln), d. h. die Label-Informationen bleiben im Dokument erhalten, sind aber für den Client nicht mehr sichtbar. Wenn das Label nicht angewendet wurde, ist das Entfernen des Labels in Ordnung. Beispiele für das Entfernen von Labeln und Label-Richtlinien - um eine Kennzeichnung zu entfernen, müssen wir sicherstellen, dass sie nicht Teil einer Kennzeichnungsrichtlinie ist:

Get-LabelPolicy | Ft Name,Labels

8_screenshot removing labels

Beispiel

Die untere Zeile dieser Ausgabe zeigt eine Richtlinie mit dem Namen 'Test44 Label Policy', die ein Label mit dem Namen 'test44' enthält, und beide wurden in einem Test von Features in Labeln verwendet. Jetzt werden das Label und die damit verbundene Label-Richtlinie nicht mehr benötigt. Wie können wir beide entfernen? Zunächst müssen wir die Richtlinie entfernen:

Remove-LabelPolicy 'Test44 Label Policy'

Sobald die Richtlinie entfernt ist, können wir auch das Label entfernen:

Remove-Label test44

In beiden Fällen werden Sie aufgefordert, das Entfernen zu bestätigen. Denken Sie daran, dass das Entfernen eines Labels nur als letzter Ausweg erfolgen sollte, da es negative Auswirkungen auf die User Experience haben kann.

 

Fazit

Wie wir gesehen haben, bietet PowerShell hilfreiche Cmdlets und eine Syntax zum Erstellen einer Reihe von Labeln, die von einer Organisation verwendet werden können. Ein weiterer Vorteil der PowerShell ist die Erstellung einer angemessenen Dokumentation von Labeln und Richtlinien, die in einer Umgebung verwendet werden. Mit PowerShell lässt sich auch feststellen, welche Label aktiv oder inaktiv sind, um diese zu verwenden oder gegebenenfalls zu bereinigen. Darüber hinaus können erweiterte Einstellungen, die in der grafischen Benutzeroberfläche nicht verfügbar sind, mit PowerShell konfiguriert werden - dazu gibt es eine gute Dokumentation von Microsoft. Denken Sie daran, dass jedes Label/jede Label-Richtlinie vor dem Einsatz im Produktivsystem vollständig überprüft werden sollte. Es ist viel einfacher, ein Problem im Vorfeld mit einer kleinen Testgruppe zu beheben. 

 

 

Good2know

Automatisieren mit PowerShell - aber sicher!

Sie möchten mehr erfahren? Nehmen Sie am nächsten Webinar teil.

PowerShell Skripte sicher auszuführen ist in der Administration komplexer IT Infrastruktur erfolgsentscheidend. Unter anderem müssen die erforderlichen Credentials sicher verwahrt und verwaltet werden.

PowerShell besitzt bereits umfangreiche Sicherheitsfeatures, und mit ScriptRunner werden diese um sichere Delegation und zentralem Skript und Credentials Management erweitert.

Dieses Webinar richtet sich an Administratoren, IT- und DevOps-Professionals, PowerShell-Entwickler und IT-Leiter.

webinar-powershell-security-landscape

 

In diesem Webinar erfahren Sie:

  • Wie Sie das PowerShell SecretManagement Modul verwenden
  • Mit Execution Policies arbeiten
  • Sicheres Credential Management
  • Passwort Server Integration
  • Delegation einzelner parametrisierbarer PowerShell Skripte - ohne Administrationsrechte vergeben zu müssen
  • Sichere browserbasierte Ausführung von PowerShell Skripten

Wir freuen uns darauf, Sie als Webinar-Teilnehmer begrüßen zu dürfen!

30. November | 10:00 - 10:45 MEZ

Wenn Sie an dem Termin nicht teilnehmen können, kein Problem: Melden Sie sich an und wir senden wir Ihnen im Nachgang einen Link zur Webinar-Aufzeichnung.

Bitte beachten Sie, dass Sie Ihre Email Adresse während des Anmeldeprozesses per Email bestätigen müssen, um die Aufzeichnung zu erhalten.

Die Teilnahme an all unseren Webinaren ist kostenlos.

 

Hier geht es zum Webinar!

 

 

 

Weiterführende Links

Zusammenhängende Posts

5 min read

Microsoft Exchange mit PowerShell managen

2 min read

VMUG Webcast: VMware Management meistern mit PowerCLI

Über den Autor: