Partager via


Démarrage rapide : Initialisation de l’application cliente pour les SDK de Protection (C#)

Ce guide de démarrage rapide vous montre comment implémenter le modèle d’initialisation du client, utilisé par le wrapper .NET du SDK MIP au moment de l’exécution.

Note

Les étapes décrites dans ce guide de démarrage rapide sont requises pour toutes les applications clientes qui utilisent le Kit de développement logiciel (SDK) de protection du wrapper MIP .NET. Ces démarrages rapides doivent être effectués en série après l’initialisation de l’application et l’implémentation des classes délégués d’authentification et de consentement.

Prerequisites

Si ce n’est déjà fait, veillez à :

Créer une solution et un projet Visual Studio

Tout d’abord, nous créons et configurons la solution et le projet Visual Studio initiaux, sur lesquels les autres démarrages rapides seront générés.

  1. Ouvrez Visual Studio 2019 ou version ultérieure, sélectionnez le menu Fichier , Nouveau, Projet. Dans la boîte de dialogue Nouveau projet :

    • Dans le volet gauche, sous Installé, Visual C#, sélectionnez Windows Desktop.

    • Dans le volet central, sélectionnez Application console (.NET Framework)

    • Dans le volet inférieur, mettez à jour le nom du projet, l’emplacement et le nom de solution contenant en conséquence.

    • Lorsque vous avez terminé, cliquez sur le bouton OK en bas à droite.

      Création de la solution Visual Studio

  2. Ajoutez le package NuGet pour le Kit de développement logiciel (SDK) de fichier MIP à votre projet :

    • Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet (directement sous le nœud supérieur/solution), puis sélectionnez Gérer les packages NuGet... :
    • Lorsque l’onglet Gestionnaire de package NuGet s’ouvre dans la zone onglets Groupe d’éditeurs :
      • Sélectionnez Parcourir.
      • Entrez « Microsoft.InformationProtection » dans la zone de recherche.
      • Sélectionnez le package « Microsoft.InformationProtection.File ».
      • Cliquez sur « Installer », puis sur « OK » lorsque la boîte de dialogue de confirmation Prévisualiser les modifications s’affiche.
  3. Répétez les étapes ci-dessus pour ajouter le package sdk MIP Protection, mais ajoutez plutôt « Microsoft.IdentityModel.Clients.ActiveDirectory » à l’application.

S’il n’est pas déjà implémenté, suivez les étapes répertoriées dans l’initialisation de l’application sdk file pour implémenter l’authentification et le délégué de consentement.

Initialiser le wrapper managé du SDK MIP

  1. À partir de l’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. Supprimez l’implémentation générée de main().

  3. Le wrapper managé inclut une classe statique, Microsoft.InformationProtection.MIP utilisée pour l’initialisation, la création d’un MipContextprofil de chargement et la libération de ressources. Pour initialiser le wrapper pour les opérations du SDK de fichiers, appelez MIP.Initialize() et passez MipComponent.Protection pour charger les bibliothèques nécessaires aux opérations de protection.

  4. Dans Main()Program.cs ajoutez ce qui suit, en <remplaçant l’ID d’application par l’ID> de l’inscription d’application Microsoft Entra créée précédemment.

using System;
using System.Threading.Tasks;
using Microsoft.InformationProtection;
using Microsoft.InformationProtection.Exceptions;
using Microsoft.InformationProtection.Protection;

namespace mip_sdk_dotnet_quickstart
{
    class Program
    {
        private const string clientId = "<application-id>";
        private const string appName = "<friendly-name>";

        static void Main(string[] args)
        {
            //Initialize Wrapper for Protection SDK operations
            MIP.Initialize(MipComponent.Protection);
        }
    }
}

Construire un profil de protection et un moteur

Comme mentionné, les objets de profil et de moteur sont requis pour les clients sdk utilisant des API MIP. Terminez la partie de codage de ce guide de démarrage rapide, en ajoutant du code pour charger les DLL natives, puis instanciez les objets de profil et de moteur.

using System;
using System.Threading.Tasks;
using Microsoft.InformationProtection;
using Microsoft.InformationProtection.Exceptions;
using Microsoft.InformationProtection.Protection;

namespace mip_sdk_dotnet_quickstart
{
     class Program
     {
          private const string clientId = "<application-id>";
          private const string appName = "<friendly-name>";

          static void Main(string[] args)
          {
               // Initialize Wrapper for Protection SDK operations.
               MIP.Initialize(MipComponent.Protection);

               // Create ApplicationInfo, setting the clientID from Azure AD App Registration as the ApplicationId.
               ApplicationInfo appInfo = new ApplicationInfo()
               {
                    ApplicationId = clientId,
                    ApplicationName = appName,
                    ApplicationVersion = "1.0.0"
               };

               // Instantiate the AuthDelegateImpl object, passing in AppInfo.
               AuthDelegateImplementation authDelegate = new AuthDelegateImplementation(appInfo);

               // Create MipConfiguration Object
               MipConfiguration mipConfiguration = new MipConfiguration(appInfo, "mip_data", LogLevel.Trace, false);

               // Create MipContext using Configuration
               mipContext = MIP.CreateMipContext(mipConfiguration);
                
               // Initialize and instantiate the ProtectionProfile.
               // Create the ProtectionProfileSettings object.
               // Initialize protection profile settings to create/use local state.
               var profileSettings = new ProtectionProfileSettings(mipContext,
                                        CacheStorageType.OnDiskEncrypted,                                        
                                        new ConsentDelegateImplementation());

               // Load the Profile async and wait for the result.
               var protectionProfile = Task.Run(async () => await MIP.LoadProtectionProfileAsync(profileSettings)).Result;

               // Create a ProtectionEngineSettings object, then use that to add an engine to the profile.
               var engineSettings = new ProtectionEngineSettings("user1@tenant.com", authDelegate, "", "en-US");
               engineSettings.Identity = new Identity("user1@tenant.com");
               var protectionEngine = Task.Run(async () => await protectionProfile.AddEngineAsync(engineSettings)).Result;

               // Application Shutdown
               // handler = null; // This will be used in later quick starts.
               protectionEngine = null;
               protectionProfile = null;
               mipContext = null;
          }
     }
}
  1. Remplacez les valeurs d’espace réservé dans le code source où vous les avez collées, en utilisant les valeurs suivantes :

    Placeholder Valeur Example
    <id d’application> ID d’application Microsoft Entra affecté à l’application inscrite dans « Configuration et configuration du Kit de développement logiciel (SDK) MIP » (2 instances). 0edbblll-8773-44de-b87c-b8c6276d41eb
    <nom convivial> Nom convivial défini par l’utilisateur pour votre application. Initialisation de l'application
  2. Effectuez maintenant une build finale de l’application et résolvez toutes les erreurs. Votre code doit se compiler avec succès.

Étapes suivantes

Maintenant que votre code d’initialisation est terminé, vous êtes prêt pour le prochain guide de démarrage rapide, où vous découvrirez les SDK de protection MIP.