Guida introduttiva: Impostare e ottenere un'etichetta di riservatezza (C#)
Questa guida introduttiva illustra come usare più SDK di file MIP. Usando una delle etichette di riservatezza elencate nella guida introduttiva precedente, si usa un gestore file per impostare/ottenere l'etichetta in un file. La classe gestore file espone varie operazioni per l'impostazione/recupero di etichette o la protezione per i tipi di file supportati.
Prerequisiti
Se non è già stato fatto, assicurarsi di completare i prerequisiti seguenti prima di continuare:
- Completare la guida introduttiva: Elencare prima le etichette di riservatezza (C#), che compila una soluzione Visual Studio iniziale per elencare le etichette di riservatezza di un'organizzazione. Questa guida introduttiva "Impostare e ottenere un'etichetta di riservatezza" si basa su quella precedente.
- Facoltativamente: esaminare i gestori di file nei concetti di MIP SDK .
Aggiungere la logica per impostare e ottenere un'etichetta di riservatezza
Aggiungere la logica per impostare e ottenere un'etichetta di riservatezza in un file usando l'oggetto Motore file.
Usando Esplora soluzioni, aprire il file con estensione cs nel progetto che contiene l'implementazione del metodo Main()'. Per impostazione predefinita, il nome del progetto che lo contiene è stato specificato durante la creazione del progetto.
Verso la fine del
Main()
corpo, dopovar fileEngine =
e sopra il//Application Shutdown
commento, inserire il codice seguente://Set paths and label ID string inputFilePath = "<input-file-path>"; string actualFilePath = inputFilePath; string labelId = "<label-id>"; string outputFilePath = "<output-file-path>"; string actualOutputFilePath = outputFilePath; //Create a file handler for that file //Note: the 2nd inputFilePath is used to provide a human-readable content identifier for admin auditing. var handler = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(inputFilePath, actualFilePath, true)).Result; //Set Labeling Options LabelingOptions labelingOptions = new LabelingOptions() { AssignmentMethod = AssignmentMethod.Standard }; // Set a label on input file handler.SetLabel(fileEngine.GetLabelById(labelId), labelingOptions, new ProtectionSettings()); // Commit changes, save as outputFilePath var result = Task.Run(async () => await handler.CommitAsync(outputFilePath)).Result; // Create a new handler to read the labeled file metadata var handlerModified = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(outputFilePath, actualOutputFilePath, true)).Result; // Get the label from output file var contentLabel = handlerModified.Label; Console.WriteLine(string.Format("Getting the label committed to file: {0}", outputFilePath)); Console.WriteLine(string.Format("File Label: {0} \r\nIsProtected: {1}", contentLabel.Label.Name, contentLabel.IsProtectionAppliedFromLabel.ToString())); Console.WriteLine("Press a key to continue."); Console.ReadKey();
Alla fine di trovare il blocco di arresto dell'applicazione
Main()
creato nella prima guida introduttiva e rimuovere il commento dalla riga del gestore:// Application Shutdown handler = null; fileEngine = null; fileProfile = null; mipContext = null;
Sostituire i valori segnaposto nel codice sorgente usando i valori seguenti:
Segnaposto Valore <input-file-path> Percorso completo di un file di input di test, ad esempio : c:\\Test\\Test.docx
.<label-id> ID etichetta di riservatezza, copiato dall'output della console nell'argomento di avvio rapido precedente, ad esempio: f42a3342-8706-4288-bd31-ebb85995028z
.<output-file-path> Percorso completo del file di output, che sarà una copia etichettata del file di input, ad esempio : c:\\Test\\Test_labeled.docx
.
Compilare e testare l'applicazione
Compilare e testare l'applicazione client.
Usare CTRL-MAIUSC-B (Compila soluzione) per compilare l'applicazione client. Se non sono presenti errori di compilazione, usare F5 (Avvia debug) per eseguire l'applicazione.
Se il progetto viene compilato ed eseguito correttamente, l'applicazione potrebbe richiedere l'autenticazione tramite ADAL ogni volta che l'SDK chiama il
AcquireToken()
metodo. Se le credenziali memorizzate nella cache esistono già, non verrà richiesto di accedere e visualizzare l'elenco delle etichette, seguite dalle informazioni sull'etichetta applicata e sul file modificato.
Personal : 73c47c6a-eb00-4a6a-8e19-efaada66dee6
Public : 73254501-3d5b-4426-979a-657881dfcb1e
General : da480625-e536-430a-9a9e-028d16a29c59
Confidential : 569af77e-61ea-4deb-b7e6-79dc73653959
Recipients Only (C) : d98c4267-727b-430e-a2d9-4181ca5265b0
All Employees (C) : 2096f6a2-d2f7-48be-b329-b73aaa526e5d
Anyone (not protected) (C) : 63a945ec-1131-420d-80da-2fedd15d3bc0
Highly Confidential : 905845d6-b548-439c-9ce5-73b2e06be157
Recipients Only : 05ee72d9-1a75-441f-94e2-dca5cacfe012
All Employees : 922b06ef-044b-44a3-a8aa-df12509d1bfe
Anyone (not protected) : c83fc820-961d-40d4-ba12-c63f72a970a3
Press a key to continue.
Applying Label ID 074e457c-5848-4542-9a6f-34a182080e7z to c:\Test\Test.docx
Committing changes
Label committed to file: c:\Test\Test_labeled.docx
Press any key to continue.
Getting the label committed to file: c:\Test\Test_labeled.docx
File Label: Confidential
IsProtected: false
Press any key to continue.
È possibile verificare l'applicazione dell'etichetta aprendo il file di output e controllando visivamente le impostazioni di protezione delle informazioni del documento.
Nota
Se si assegna un'etichetta a un documento di Office, ma non si è connessi usando un account dal tenant di Microsoft Entra in cui è stato ottenuto il token di accesso (e vengono configurate le etichette di riservatezza), potrebbe essere richiesto di accedere prima di poter aprire il documento etichettato.