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 utilizza un handler di file per impostare e recuperare l'etichetta di un file. La classe del gestore di file espone varie operazioni per l'impostazione e il recupero di etichette o protezione per i tipi di file supportati.

Prerequisiti

Se non è già stato fatto, assicurarsi di completare i prerequisiti seguenti prima di continuare:

  • Avvio rapido: Elencare le etichette di riservatezza (C#). Completa prima questa guida introduttiva rapida. Crea una soluzione iniziale Visual Studio che elenca le etichette di riservatezza di un'organizzazione. Questa guida introduttiva "Impostare e ottenere un'etichetta di riservatezza" si basa su quella precedente.
  • Facoltativo: esaminare i concetti relativi ai gestori di file in MIP SDK.

Aggiungere logica per impostare e ottenere un'etichetta di sensibilità.

Usare l'oggetto File engine per aggiungere una logica per impostare e recuperare un'etichetta di riservatezza su un file.

  1. In Esplora soluzioni aprire il file .cs nel progetto che contiene l'implementazione del Main() metodo . Per impostazione predefinita, assume lo stesso nome del progetto che lo contiene, specificato durante la creazione del progetto.

  2. Verso la fine del Main() corpo, dopo var 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();
    
  3. Alla fine di Main(), trova il blocco di arresto dell'applicazione creato nella prima guida introduttiva e decommenta la riga del gestore:

    // Application Shutdown
    handler = null;
    fileEngine = null;
    fileProfile = null;
    mipContext = null;
    
  4. Sostituire i valori segnaposto nel codice sorgente con i valori seguenti:

    Segnaposto Valore
    <percorso-del-file-di-input> Percorso completo di un file di input di test, ad esempio : c:\\Test\\Test.docx.
    <label-id> ID etichetta di sensibilità, copiato dall'output della console nel Quickstart precedente, ad esempio: f42a3342-8706-4288-bd31-ebb85995028z.
    <percorso-del-file-di-output> Percorso completo del file di output, ovvero 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.

  1. Usare CTRL-SHIFT-B (Compila soluzione) per compilare l'applicazione client. Se la compilazione non presenta errori, usare F5 (Avvia debug) per eseguire l'applicazione.

  2. Se il progetto viene compilato ed eseguito correttamente, l'applicazione potrebbe richiedere l'autenticazione ogni volta che l'SDK chiama il AcquireToken() metodo (in genere tramite MSAL.NET). 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.

Verificare l'applicazione dell'etichetta aprendo il file di output e verificando visivamente le impostazioni di protezione delle informazioni del documento.

Annotazioni

Se si assegna un'etichetta a un documento di Office ma non si è connessi usando un account del tenant Microsoft Entra che ha emesso il token di accesso (e le etichette di riservatezza sono configurate), potrebbe essere richiesto di accedere prima di poter aprire il documento etichettato.

Passaggi successivi