Partager via


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

Ce démarrage rapide vous montre utiliser davantage de SDK MIP File. À l’aide de l’une des étiquettes de confidentialité que vous avez listées dans le démarrage rapide précédent, vous utilisez un Gestionnaire de fichiers pour définir/obtenir l’étiquette sur un fichier. La classe du Gestionnaire de fichiers expose différentes opérations pour définir/obtenir des étiquettes, ou la protection, pour les types de fichiers pris en charge.

Prérequis

Si ce n’est déjà fait, veillez à satisfaire les prérequis suivants avant de poursuivre :

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

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

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

  2. Vers la fin du corps Main(), après var fileEngine = et au-dessus du commentaire //Application Shutdown, 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 d’application créé dans le premier démarrage rapide et supprimez les marques de commentaire de la ligne de 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 :

    Paramètre substituable Valeur
    <input-file-path> 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 sera 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-MAJ-B (Créer une solution) pour créer votre application cliente. Si vous n’avez aucune erreur de build, utilisez F5 (Démarrer le débogage) pour exécuter votre application.

  2. Si votre projet est généré et exécuté correctement, l’application peut demander une authentification via ADAL chaque fois que le kit de développement logiciel (SDK) appelle votre méthode AcquireToken(). Si des informations d’identification mises en cache existent déjà, vous n’êtes pas invité à vous connecter pour voir 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.

Vous pouvez vérifier l’application de l’étiquette en ouvrant le fichier de sortie et en inspectant visuellement les paramètres de protection des informations du document.

Remarque

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