Quickstart: Initialisatie van clienttoepassingen voor beveiligings-SDK's (C#)

In deze quickstart ziet u hoe u het initialisatiepatroon van de client implementeert, dat tijdens runtime wordt gebruikt door de MIP SDK .NET-wrapper.

Notitie

De stappen die in deze quickstart worden beschreven, zijn vereist voor elke clienttoepassing die gebruikmaakt van de PROTECTION SDK van MIP .NET Wrapper. Deze snelstartgidsen moeten serieel worden uitgevoerd na de initialisatie en implementatie van de klassen Verificatie-gemachtigde en Toestemmingsdelegatie.

Vereisten

Als u dat nog niet hebt gedaan, moet u het volgende doen:

  • Voer de stappen uit in de installatie en configuratie van microsoft Information Protection (MIP) SDK. Deze quickstart 'Beveiligingsprofiel en engine instellen' is afhankelijk van de juiste SDK-installatie en -configuratie.
  • Optioneel:
    • Profiel- en engineobjecten controleren. Het profiel- en engineobject zijn universele concepten die vereist zijn voor clients die gebruikmaken van de MIP File/Policy/Protection SDK's.
    • Bekijk de verificatieconcepten om te leren hoe verificatie en toestemming worden geïmplementeerd door de SDK en clienttoepassing.

Een Visual Studio-oplossing en -project maken

Eerst maken en configureren we de eerste Visual Studio-oplossing en -project, waarop de andere quickstarts worden gebouwd.

  1. Open Visual Studio 2017, selecteer het menu Bestand , Nieuw, Project. In het dialoogvenster Nieuw project :

    • Selecteer Windows Desktop in het linkerdeelvenster onder Geïnstalleerd, Visual C#.

    • Selecteer Console-app (.NET Framework) in het middelste deelvenster

    • Werk in het onderste deelvenster de projectnaam, locatie en de naam van de oplossing dienovereenkomstig bij.

    • Wanneer u klaar bent, klikt u op de knop OK in de rechterbenedenhoek.

      Visual Studio solution creation

  2. Voeg het Nuget-pakket voor de MIP File SDK toe aan uw project:

    • Klik in Solution Explorer met de rechtermuisknop op het projectknooppunt (direct onder het bovenste/oplossingsknooppunt) en selecteer NuGet-pakketten beheren...:
    • Wanneer het tabblad NuGet Pakketbeheer wordt geopend in het tabbladen editorgroep:
      • Selecteer Bladeren.
      • Voer 'Microsoft.InformationProtection' in het zoekvak in.
      • Selecteer het pakket Microsoft.InformationProtection.File.
      • Klik op Installeren en klik vervolgens op OK wanneer het bevestigingsvenster voor wijzigingen in het voorbeeld wordt weergegeven.
  3. Herhaal de bovenstaande stappen voor het toevoegen van het MIP Protection SDK-pakket, maar voeg in plaats daarvan 'Microsoft.IdentityModel.Clients.ActiveDirectory' toe aan de toepassing.

Als dit nog niet is geïmplementeerd, volgt u de stappen in de initialisatie van de File SDK-toepassing voor het implementeren van verificatie en de gedelegeerde voor toestemming.

De beheerde wrapper van de MIP SDK initialiseren

  1. Open vanuit Solution Explorer het .cs-bestand in uw project dat de implementatie van de Main() methode bevat. Deze wordt standaard ingesteld op dezelfde naam als het project dat het bevat, die u hebt opgegeven tijdens het maken van het project.

  2. Verwijder de gegenereerde implementatie van main().

  3. De beheerde wrapper bevat een statische klasse die Microsoft.InformationProtection.MIP wordt gebruikt voor initialisatie, het maken van een MipContext, laadprofielen en het vrijgeven van resources. Als u de wrapper voor bestands-SDK-bewerkingen wilt initialiseren, roept u het aan MIP.Initialize()en geeft u deze MipComponent.Protection door om de bibliotheken te laden die nodig zijn voor beveiligingsbewerkingen.

  4. Voeg Main() in Program.cs het volgende toe, waarbij <u de toepassings-id> vervangt door de id van de Microsoft Entra-toepassingsregistratie die u eerder hebt gemaakt.

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);
        }
    }
}

Een beveiligingsprofiel en engine maken

Zoals vermeld, zijn profiel- en engineobjecten vereist voor SDK-clients die GEBRUIKMAKEN van MIP-API's. Voltooi het codegedeelte van deze quickstart door code toe te voegen om de systeemeigen DLL's te laden en vervolgens het profiel- en engineobject te instantiëren.

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. Vervang de tijdelijke aanduidingen in de broncode waarin u hebt geplakt, met behulp van de volgende waarden:

    Tijdelijke aanduiding Waarde voorbeeld
    <toepassings-id> De Microsoft Entra-toepassings-id die is toegewezen aan de toepassing die is geregistreerd in 'MIP SDK setup and configuration' (2 exemplaren). 0edbblll-8773-44de-b87c-b8c6276d41eb
    <beschrijvende naam> Een door de gebruiker gedefinieerde beschrijvende naam voor uw toepassing. AppInitialization
  2. Voer nu een definitieve build van de toepassing uit en los eventuele fouten op. Uw code moet goed worden gebouwd.

Volgende stappen

Nu uw initialisatiecode is voltooid, bent u klaar voor de volgende quickstart, waar u de MIP Protection SDK's gaat ervaren.