Início Rápido: Inicialização do aplicativo cliente para SDKs de Proteção (C#)

Este guia de início rápido mostra como implementar o padrão de inicialização de cliente usado pelo wrapper .NET do SDK do MIP em tempo de execução.

Observação

Qualquer aplicativo cliente que use o SDK de Proteção do wrapper .NET do MIP exige seguir as etapas deste guia de início rápido. Conclua estes guias de início rápido em sequência após a inicialização do aplicativo e a implementação das classes de delegado de autenticação e de consentimento.

Pré-requisitos

Caso ainda não tenha feito isso, certifique-se de:

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

Primeiro, crie e configure a solução e o projeto de Visual Studio iniciais nos quais os outros inícios rápidos se baseiam.

  1. Abra o Visual Studio 2022 ou posterior, selecione o menu Arquivo , 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 Aplicativo de Console (.NET Framework).

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

    • Quando terminar, selecione OK no canto inferior direito.

      Criação da solução do Visual Studio.

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

    • Em Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto diretamente no nó superior da solução e selecione Gerenciar pacotes NuGet...:
    • Quando a guia Gerenciador de Pacotes NuGet é aberta na área de guias Grupo do Editor:
      • Selecione Procurar.
      • Digite Microsoft.InformationProtection na caixa de pesquisa.
      • Selecione o Microsoft.InformationProtection.Protection pacote.
      • Selecione Instalar e, em seguida, selecione OK quando a caixa de diálogo de confirmação de alterações de visualização for exibida.
  3. Repita as etapas anteriores, mas adicione Microsoft.Identity.Client (MSAL) ao aplicativo.

Se ainda não estiver implementado, siga as etapas listadas na inicialização do aplicativo SDK de Arquivo para implementar o delegado de autenticação e consentimento.

Inicializar o wrapper gerenciado do SDK do MIP

  1. No Gerenciador de Soluções, abra o arquivo .cs em seu projeto que contém a implementação do Main() método. Ele usa como 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 de main().

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

  4. No Main()Program.cs, adicione o código a seguir, substituindo <a ID> do aplicativo pela ID do registro de aplicativo Microsoft Entra que você 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);
        }
    }
}

Criar um perfil e um mecanismo de Proteção

Como mencionado, os clientes do SDK que usam APIs de MIP exigem objetos de perfil e de mecanismo. Conclua a parte de codificação deste início rápido adicionando código para carregar as DLLs nativas e, em seguida, instanciar o perfil e os objetos do mecanismo.

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 dos marcadores de posição no código-fonte que você colou pelos seguintes valores:

    Placeholder Value Example
    <application-id> ID de Aplicativo do Microsoft Entra atribuída ao aplicativo registrado na "Instalação e configuração do SDK da PIM" (2 instâncias). 00001111-aaaa-2222-bbbb-3333cccc4444
    <nome amigável> Um nome amigável definido pelo usuário para seu aplicativo. Inicialização do Aplicativo
  2. Agora, faça um build final do aplicativo e resolva quaisquer erros. Seu código deve ser construído com sucesso.

Próximas Etapas 

Agora que o código de inicialização está concluído, você está pronto para o próximo início rápido, no qual você começa a experimentar os SDKs de Proteção MIP.