Démarrage rapide : Définir et obtenir une étiquette de sensibilité (C#)

Ce guide de démarrage rapide vous montre comment utiliser davantage de kits SDK de fichiers MIP. En utilisant l’une des étiquettes de confidentialité que vous avez répertoriées dans le guide de démarrage rapide précédent, vous utilisez un gestionnaire de fichiers pour définir et obtenir l’étiquette sur un fichier. La classe de gestionnaire de fichiers expose différentes opérations pour définir et obtenir des étiquettes ou une protection pour les types de fichiers pris en charge.

Prerequisites

Si ce n’est déjà fait, veillez à remplir les conditions préalables suivantes avant de continuer :

Ajouter une logique pour définir et obtenir une étiquette de sensibilité

Utilisez l’objet de moteur de fichiers pour ajouter une logique permettant de définir et d’obtenir une étiquette de confidentialité sur un fichier.

  1. Dans Explorateur de solutions, ouvrez le fichier .cs dans votre projet qui contient l’implémentation de la Main() méthode. Il a par défaut le même nom que le projet qui le contient, que vous avez spécifié lors de la création du projet.

  2. Vers la fin du Main() corps, après var fileEngine = et au-dessus du //Application Shutdown commentaire, insérez le code suivant :

      //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. À la fin de Main(), recherchez le bloc d’arrêt de l’application créé dans le premier guide de démarrage rapide et supprimez les marques de commentaire de la ligne du gestionnaire :

    // Application Shutdown
    handler = null;
    fileEngine = null;
    fileProfile = null;
    mipContext = null;
    
  4. Remplacez les valeurs d’espace réservé dans le code source par les valeurs suivantes :

    Espace réservé Valeur
    <chemin du fichier d'entrée> Chemin complet d’un fichier d’entrée de test, par exemple : c:\\Test\\Test.docx.
    <label-id> ID d’étiquette de confidentialité, copié à partir de la sortie de la console dans le démarrage rapide précédent, par exemple : f42a3342-8706-4288-bd31-ebb85995028z.
    <output-file-path> Chemin complet du fichier de sortie, qui est une copie étiquetée du fichier d’entrée, par exemple : c:\\Test\\Test_labeled.docx.

Concevoir et tester l’application

Générez et testez votre application cliente.

  1. Utilisez ctrl-SHIFT-B (générer la solution) pour générer votre application cliente. Si la build n’a aucune erreur, utilisez F5 (Démarrer le débogage) pour exécuter votre application.

  2. Si votre projet génère et s’exécute correctement, l’application peut demander l’authentification chaque fois que le SDK appelle votre AcquireToken() méthode (généralement via MSAL.NET). Si des informations d’identification mises en cache existent déjà, vous ne serez pas invité à vous connecter et à afficher la liste des étiquettes, suivie des informations sur l’étiquette appliquée et le fichier modifié.

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.

Vérifiez l’application d’étiquette en ouvrant le fichier de sortie et en inspectant visuellement les paramètres de protection des informations du document.

Note

Si vous étiquetez un document Office, mais que vous n’êtes pas connecté avec un compte du locataire Microsoft Entra qui a émis le jeton d’accès (et que les étiquettes de confidentialité sont configurées), vous pourriez être invité à vous connecter avant de pouvoir ouvrir le document étiqueté.

Étapes suivantes