Guia de início rápido: inicialização de aplicativo cliente para SDKs de proteção (C#)

Este quickstart mostra-lhe como implementar o padrão de inicialização do cliente que o wrapper .NET do MIP SDK usa em tempo de execução.

Observação

Qualquer aplicação cliente que utilize o SDK de Proteção do wrapper .NET do MIP exige os passos descritos neste guia de início rápido. Conclua estes guias de introdução rápida sequencialmente após a inicialização da aplicação e a implementação das classes de delegado para autenticação e consentimento.

Pré-requisitos

Se ainda não o fez, certifique-se de:

Criar uma solução e um projeto do Visual Studio

Primeiro, crie e configure a solução inicial do Visual Studio e o projeto sobre o qual os outros quickstarts se baseiam.

  1. Abra o Visual Studio 2022 ou versão posterior, selecione o menu Ficheiro , Novo, Projeto. Na caixa de diálogo Novo projeto :

    • No painel esquerdo, em Instalado, Visual C#, selecione Área de Trabalho do Windows.

    • No painel central, selecione Consola App (.NET Framework).

    • No painel inferior, atualize o nome do projeto, o local e o nome da solução que o contém de acordo.

    • Quando terminar, selecione OK no canto inferior direito.

      Criação de soluções no Visual Studio.

  2. Adicione o pacote NuGet para o SDK de Proteção MIP ao seu projeto:

    • No Explorador de Soluções, clique com o botão direito no nó do projeto diretamente por baixo do nó superior da solução e depois selecione Gerir pacotes NuGet...:
    • Quando a guia Gerenciador de Pacotes NuGet é aberta na área de guias Grupo de Editores:
      • Selecione Procurar.
      • Digite Microsoft.InformationProtection na caixa de pesquisa.
      • Selecione o Microsoft.InformationProtection.Protection pacote.
      • Selecione Instalar e depois selecione OK quando aparecer o diálogo de confirmação de Pré-visualização de alterações.
  3. Repita os passos anteriores, mas em vez disso adicione Microsoft.Identity.Client (MSAL) à aplicação.

Se ainda não estiver implementado, siga os passos listados na inicialização da aplicação do SDK de ficheiros para implementar o delegado de autenticação e consentimento.

Inicializar o wrapper gerido do MIP SDK

  1. No Gerenciador de Soluções, abra o arquivo de .cs em seu projeto que contém a Main() implementação do método. O padrão é o mesmo nome do projeto que o contém, que você especificou durante a criação do projeto.

  2. Remova a implementação gerada do main().

  3. O invólucro gerido inclui uma classe estática, Microsoft.InformationProtection.MIP, para a inicialização, a criação de um MipContext, o carregamento de perfis e a libertação de recursos. Para inicializar o wrapper para operações do Protection SDK, chame MIP.Initialize() e passe MipComponent.Protection para carregar as bibliotecas necessárias às operações de proteção.

  4. Em Main()Program.cs, adicione o seguinte código, substituindo <o ID> da aplicação pelo ID do registo da Microsoft Entra que criou anteriormente.

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

Construir um perfil de proteção e um motor

Como mencionado, os clientes SDK que usam APIs MIP requerem objetos de perfil e motor. Complete a parte de programação deste quickstart adicionando código para carregar as DLLs nativas e depois instanciando os objetos de perfil e do motor.

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, CacheStorageType.OnDiskEncrypted);

               // Create MipContext using Configuration
               MipContext 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. Substitua os valores provisórios no código-fonte que colou usando os seguintes valores:

    Placeholder Valor Example
    <ID do aplicativo> O ID de Aplicação Microsoft Entra atribuído ao aplicativo registrado em "MIP SDK setup and configuration" (2 instâncias). 00001111-aaaa-2222-bbbb-3333cccc444
    <nome-amigável> Um nome amigável definido pelo usuário para seu aplicativo. Inicialização de Aplicação
  2. Agora faça uma compilação final do aplicativo e resolva quaisquer erros. O seu código deve compilar com sucesso.

Passos seguintes

Agora que o seu código de inicialização está completo, está pronto para o próximo quickstart, onde começa a experienciar os SDKs de Proteção MIP.