Partager via


Démarrage rapide : initialisation des applications clientes pour les kit de développement logiciel (SDK) Protection (C#)

Ce démarrage rapide vous expliquera comment implémenter le modèle d’initialisation du client, utilisé par le wrapper .NET du kit de développement logiciel (SDK) MIP lors du runtime.

Remarque

Les étapes décrites dans ce démarrage rapide sont nécessaires pour toute application cliente qui utilise le kit de développement logiciel (SDK) MIP Protection du wrapper .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é d’authentification et délégué de consentement.

Prérequis

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 reposeront les autres démarrages rapides.

  1. Ouvrez Visual Studio 2017, sélectionnez le menu Fichier, puis Nouveau et Projet. Dans la boîte de dialogue Nouveau projet :

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

    • 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 la solution qui le contient en conséquence.

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

      Visual Studio solution creation

  2. Ajoutez le package NuGet du kit de développement logiciel (SDK) MIP File à votre projet :

    • Dans l’Explorateur de solutions, cliquez avec le bouton de droite sur le nœud du projet (directement sous le nœud supérieur/de la solution), puis sélectionnez Gérer les packages NuGet… :
    • Lorsque l’onglet Gestionnaire de packages NuGet s’ouvre dans la zone des onglets du groupe d’éditeurs :
      • Cliquez sur 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 Aperçu des modifications s’affiche.
  3. Répétez les étapes ci-dessus pour ajouter le package du kit de développement logiciel (SDK) Protection MIP, mais ajoutez « Microsoft.IdentityModel.Clients.ActiveDirectory » à l’application.

Si ce n’est pas déjà fait, suivez les étapes répertoriées dans Initialisation de l’application du kit de développement logiciel (SDK) File pour implémenter le délégué d’authentification et de consentement.

Initialiser le wrapper managé du kit de développement logiciel (SDK) MIP

  1. À partir de 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. 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 MipContext, le chargement des profils et le lancement de ressources. Pour initialiser le wrapper pour les opérations du kit de développement logiciel (SDK) File, appelez MIP.Initialize(), en passant par MipComponent.Protection pour charger les bibliothèques nécessaires aux opérations de protection.

  4. Dans Main() dans Program.cs ajoutez ce qui suit, en remplaçant <application-id> par l’ID d’inscription d’application Microsoft Entra créé 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 et un moteur Protection

Comme mentionné, les objets de profil et de moteur sont requis par les clients du kit de développement logiciel (SDK) qui utilisent les API MIP. Complétez la partie de code de ce Démarrage rapide en ajoutant du code pour charger les DLL natives et instancier 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 que vous avez collé par les valeurs suivantes :

    Paramètre substituable Valeur Exemple
    <application-id> ID d’application Microsoft Entra attribué à l’application inscrite dans « Installation et configuration du kit de développement logiciel (SDK) MIP » (2 instances). 0edbblll-8773-44de-b87c-b8c6276d41eb
    <friendly-name> Nom convivial défini par l’utilisateur pour votre application. AppInitialization
  2. Maintenant, procédez à une dernière génération de l’application et résolvez les erreurs éventuelles. Votre code doit être correctement généré.

Étapes suivantes

Maintenant que votre code d’initialisation est terminé, vous êtes prêt pour le prochain démarrage rapide, où vous allez commencer à utiliser les kits de développement logiciel (SDK) MIP Protection.