Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart wordt de verwerking van een downgradelabelbewerking behandeld wanneer voor het labelbeleid een reden is vereist. Hier gebruiken IFileHandler we de interface voor het wijzigen van de labels van een bestand. Raadpleeg de API-naslaginformatie voor meer informatie.
Vereiste voorwaarden
Als u dat nog niet hebt gedaan, moet u de volgende vereisten voltooien voordat u doorgaat:
- Volledige quickstart: Vertrouwelijkheidslabels (C#) instellen/ophalen waarmee een eenvoudige Visual Studio-oplossing wordt gebouwd om de vertrouwelijkheidslabels van een organisatie weer te geven en vertrouwelijkheidslabels in te stellen en te lezen naar/van een bestand. Deze snelstartgids 'How to - Downgrade/Remove a label that needs a justification C#' bouwt voort op de vorige.
- Optioneel: Controleer de concepten van bestandshandlers in de MIP SDK-concepten.
Logica toevoegen om een lager label in te stellen op een beveiligd bestand
Voeg logica toe om een vertrouwelijkheidslabel in te stellen op een bestand met behulp van het object Bestandshandler.
Open de Visual Studio-oplossing die u in de vorige quickstart hebt gemaakt: Vertrouwelijkheidslabels instellen/ophalen (C#).
Open met Solution Explorer het .cs-bestand in uw project dat de implementatie van de
Main()methode bevat. Deze wordt standaard ingesteld op dezelfde naam als het project dat het bevat, die u hebt opgegeven tijdens het maken van het project.Werk de
<label-id>waarde uit de vorige quickstart bij naar een gevoeligheidslabel die rechtvaardiging vereist voor verlaging. Tijdens deze quickstart stellen we eerst dit label in en proberen we het vervolgens te verlagen via codefragmenten in verdere stappen.Tegen het einde van de
Main()body, onderConsole.ReadKey()en boven het afsluitblok van de applicatie (waar u de vorige keer in de Quickstart was gebleven), voegt u de volgende code in.//Set paths and label ID string lowerInput = actualOutputFilePath; string lowerActualInput = lowerInput; string newLabelId = "<new-label-id>"; string lowerOutput = "<downgraded-labled-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();Aan het einde van Main() zoek je het afsluitblok van de toepassing dat in de vorige quickstart is gemaakt en voeg je de onderstaande handlerregels toe om resources vrij te geven.
downgradeHandler = null; commitHandler = null;Vervang de tijdelijke aanduidingen in de broncode met behulp van de volgende waarden:
Plaatsvervanger Waarde <gedegradeerde-gelabelde-uitvoer> Het pad naar het uitvoerbestand waarnaar u het gewijzigde bestand wilt opslaan. <nieuwe-label-id> Een sjabloon-id, gekopieerd uit de console-uitvoer in de vorige quickstart, bijvoorbeeld: bb7ed207-046a-4caf-9826-647cff56b990. Zorg ervoor dat het een lagere gevoeligheid heeft dan het eerder beveiligde bestandslabel.
De toepassing bouwen en testen
Bouw en test uw cliƫntapplicatie.
Gebruik Ctrl-SHIFT-B (build solution) om uw clienttoepassing te bouwen. Als u geen buildfouten hebt, gebruikt u F5 (Foutopsporing starten) om uw toepassing uit te voeren.
Als uw project succesvol wordt gebouwd en uitgevoerd, kan de toepassing elke keer dat de SDK uw -methode aanroept, om authenticatie vragen met behulp van Microsoft Authentication Library (MSAL). Als er al referenties in de cache aanwezig zijn, wordt u niet gevraagd u aan te melden en verschijnt de lijst met labels, gevolgd door de informatie over het toegepaste label en het gewijzigde bestand.
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.
Houd er rekening mee dat een vergelijkbare benadering ook van toepassing is op DeleteLabel() de bewerking, voor het geval het label dat uit een bestand wordt verwijderd, een reden vereist volgens het labelbeleid.
DeleteLabel() functie gooit een JustificationRequiredException uitzondering en IsDowngradeJustified vlag moet worden ingesteld op true bij de afhandeling van uitzonderingen voordat een label succesvol wordt verwijderd.