Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Schnellstart erfahren Sie, wie Sie eine Herabstufung einer Bezeichnung durchführen, wenn die Bezeichnungsrichtlinie eine Begründung erfordert. Verwenden Sie die IFileHandler Schnittstelle, um die Bezeichnungen einer Datei zu ändern. Weitere Informationen finden Sie unter API-Referenz.
Voraussetzungen
Falls noch nicht geschehen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen, bevor Sie fortfahren:
- Vollständige Schnellstartanleitung: Zuerst Vertraulichkeitsbezeichnungen (C#) festlegen/abrufen . Diese Schnellstartanleitung baut auf der vorherigen auf, in der eine Visual-Studio-Starterlösung erstellt wird, um die Sensitivitätsbezeichnungen einer Organisation aufzulisten sowie Sensitivitätsbezeichnungen für eine Datei festzulegen und aus einer Datei auszulesen.
- Optional: Überprüfen Sie die Konzepte von Dateihandlern in den MIP SDK-Konzepten.
Hinzufügen einer Logik zum Festlegen einer niedrigeren Bezeichnung für eine geschützte Datei
Fügen Sie logik hinzu, um eine Vertraulichkeitsbezeichnung für eine Datei mithilfe des Dateihandlerobjekts festzulegen.
Öffnen Sie die Visual Studio Lösung, die Sie in der vorherigen Schnellstartanleitung erstellt haben: Festlegen/Abrufen von Vertraulichkeitsbezeichnungen (C#).
Öffnen Sie in Projektmappen-Explorer die datei .cs in Ihrem Projekt, die die Implementierung der
Main()Methode enthält. Standardmäßig wird derselbe Name wie das Projekt verwendet, das es enthält, das Sie während der Projekterstellung angegeben haben.Aktualisieren Sie den Wert
<label-id>aus dem vorherigen Schnellstart in eine Vertraulichkeitsbezeichnung, die eine Begründung für das Herabsetzen erfordert. Legen Sie in dieser Schnellstartanleitung zuerst diese Bezeichnung fest, und versuchen Sie dann, sie mithilfe von Codeausschnitten in späteren Schritten zu verringern.Fügen Sie gegen Ende des
Main()-Body, nachConsole.ReadKey()und vor dem Block zum Herunterfahren der Anwendung (an der Stelle, an der Sie im vorherigen Schnellstart aufgehört haben), den folgenden Code ein.//Set paths and label ID string lowerInput = actualOutputFilePath; string lowerActualInput = lowerInput; string newLabelId = "<new-label-id>"; string lowerOutput = "<downgraded-labeled-output>"; string lowerActualOutput = lowerOutput; //Create a file handler for that file var downgradeHandler = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(lowerInput, lowerActualInput, true)).Result; //Set Labeling Options LabelingOptions options = new LabelingOptions() { AssignmentMethod = AssignmentMethod.Standard }; try { //Try to set new label downgradeHandler.SetLabel(fileEngine.GetLabelById(newLabelId), options, new ProtectionSettings()); } catch (Microsoft.InformationProtection.Exceptions.JustificationRequiredException) { //Request justification from user Console.Write("Please provide justification for downgrading a label: "); string justification = Console.ReadLine(); options.IsDowngradeJustified = true; options.JustificationMessage = justification; //Set new label downgradeHandler.SetLabel(fileEngine.GetLabelById(newLabelId), options, new ProtectionSettings()); } // Commit changes, save as outputFilePath var downgradedResult = Task.Run(async () => await downgradeHandler.CommitAsync(lowerActualOutput)).Result; // Create a new handler to read the labeled file metadata var commitHandler = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(lowerOutput, lowerActualOutput, true)).Result; // Get the label from output file var newContentLabel = commitHandler.Label; Console.WriteLine(string.Format("Getting the new label committed to file: {0}", lowerOutput)); Console.WriteLine(string.Format("File Label: {0} \r\nIsProtected: {1}", newContentLabel.Label.Name, newContentLabel.IsProtectionAppliedFromLabel.ToString())); Console.WriteLine("Press a key to continue."); Console.ReadKey();Suchen Sie gegen Ende von
Main()den im vorherigen Schnellstart erstellten Block zum Herunterfahren der Anwendung, und fügen Sie die folgenden Handler-Zeilen hinzu, um Ressourcen freizugeben.downgradeHandler = null; commitHandler = null;Ersetzen Sie die Platzhalterwerte im Quellcode durch die folgenden Werte:
Platzhalter Wert <herabgestuft-gekennzeichnete-Ausgabe> Der Ausgabedateipfad, in dem Sie die geänderte Datei speichern möchten. <new-label-id> Eine Vorlagen-ID, die aus der Konsolenausgabe in der vorherigen Schnellstartanleitung kopiert wurde, z. B.: bb7ed207-046a-4caf-9826-647cff56b990. Vergewissern Sie sich, dass sie eine niedrigere Vertraulichkeit aufweist als die Bezeichnung der zuvor geschützten Datei.
Erstellen und Testen der Anwendung
Erstellen und testen Sie Ihre Clientanwendung.
Verwenden Sie Strg-SHIFT-B (Lösung erstellen), um Ihre Client-App zu erstellen. Wenn keine Buildfehler auftreten, verwenden Sie F5 (Debuggen starten), um Ihre Anwendung auszuführen.
Wenn Ihr Projekt erfolgreich erstellt wird und ausgeführt werden kann, fordert die Anwendung möglicherweise jedes Mal zur Authentifizierung mit der Microsoft Authentication Library (MSAL) (MSAL) auf, wenn das SDK Ihre
AcquireToken()-Methode aufruft. Wenn bereits zwischengespeicherte Anmeldeinformationen vorhanden sind, werden Sie nicht aufgefordert, sich anzumelden, und Sie sehen die Liste der Bezeichnungen, gefolgt von den Informationen zur angewendeten Bezeichnung und der geänderten Datei.
Personal : 73c47c6a-eb00-4a6a-8e19-efaada66dee6
Public : 73254501-3d5b-4426-979a-657881dfcb1e
General : da480625-e536-430a-9a9e-028d16a29c59
Confidential : 569af77e-61ea-4deb-b7e6-79dc73653959
Highly Confidential : 905845d6-b548-439c-9ce5-73b2e06be157
Press a key to continue.
Getting the label committed to file: c:\Test\Test_labeled.docx
Name: Confidential
IsProtected: True
Press any key to continue . . .
Please provide justification for downgrading a label: Lower label approved.
Getting the new label committed to file: c:\Test\Test_downgraded.docx
File Label: General
IsProtected: False
Press a key to continue.
Wenn die Bezeichnungsrichtlinie eine Begründung zum Löschen einer Bezeichnung aus einer Datei erfordert, verwenden Sie einen ähnlichen Ansatz für den DeleteLabel() Vorgang. Die DeleteLabel() Funktion löst eine JustificationRequiredException Ausnahme aus. Legen Sie das IsDowngradeJustified Kennzeichen in der Ausnahmebehandlung auf "true" fest, bevor Sie die Bezeichnung löschen.
Nächste Schritte
- Sehen Sie sich das .NET-Beispiel für das MIP File SDK auf GitHub an.