Partilhar via


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

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

Nota

As etapas descritas neste início rápido são necessárias para qualquer aplicativo cliente que use o SDK de proteção do wrapper MIP .NET. Esse Guia de início rápido deve ser feito em série após a inicialização do aplicativo e a implementação das classes de delegado de autenticação e delegado de consentimento.

Pré-requisitos

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

  • Conclua as etapas na instalação e configuração do SDK do Microsoft Information Protection (MIP). Este Guia de início rápido "Perfil de proteção e configuração do mecanismo" depende da instalação e configuração adequadas do SDK.
  • Opcionalmente:
    • Revise os objetos do perfil e do mecanismo. Os objetos de perfil e mecanismo são conceitos universais, exigidos por clientes que usam os SDKs de arquivo/política/proteção MIP.
    • Analise os conceitos de autenticação para saber como a autenticação e o consentimento são implementados pelo SDK e pelo aplicativo cliente.

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

Primeiro, criamos e configuramos a solução e o projeto iniciais do Visual Studio, sobre os quais os outros Quickstarts serão criados.

  1. Abra o Visual Studio 2017, 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 o contém de acordo.

    • Quando terminar, clique no botão OK no canto inferior direito.

      Visual Studio solution creation

  2. Adicione o pacote Nuget para o MIP File SDK ao seu projeto:

    • No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto (diretamente abaixo do nó superior/solução) e selecione Gerenciar pacotes NuGet...:
    • Quando a guia Gerenciador de Pacotes NuGet for aberta na área de guias Grupo de Editores:
      • Selecione Procurar.
      • Digite "Microsoft.InformationProtection" na caixa de pesquisa.
      • Selecione o pacote "Microsoft.InformationProtection.File".
      • Clique em "Instalar" e, em seguida, clique em "OK" quando a caixa de diálogo de confirmação de alterações de visualização for exibida.
  3. Repita as etapas acima para adicionar o pacote MIP Protection SDK, mas adicione "Microsoft.IdentityModel.Clients.ActiveDirectory" ao aplicativo.

Se ainda não tiver sido implementado, siga as etapas listadas em Inicialização do aplicativo SDK de arquivo para implementar a autenticação e o delegado de consentimento.

Inicializar o wrapper gerenciado 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 wrapper gerenciado inclui uma classe estática, usada para inicialização, Microsoft.InformationProtection.MIP criação de um MipContext, carregando perfis e liberando recursos. Para inicializar o wrapper para operações do File SDK, chame MIP.Initialize(), passando MipComponent.Protection para carregar as bibliotecas necessárias para operações de proteção.

  4. Em Main() Programa.cs adicione o seguinte, substituindo <application-id> pela ID do Registro de Aplicativo Microsoft Entra criado 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 mecanismo

Como mencionado, os objetos de perfil e mecanismo são necessários para clientes SDK que usam APIs MIP. Conclua a parte de codificação deste Guia de início rápido, adicionando código para carregar as DLLs nativas e, em seguida, instancie os objetos de perfil e 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);

               // 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. Substitua os valores de espaço reservado no código-fonte que você colou, usando os seguintes valores:

    Marcador de Posição Valor Exemplo
    <ID do aplicativo> O ID do Aplicativo Microsoft Entra atribuído ao aplicativo registrado em "MIP SDK setup and configuration" (2 instâncias). 0edbblll-8773-44de-b87c-b8c6276d41eb
    <nome-amigável> Um nome amigável definido pelo usuário para seu aplicativo. AppInitialization
  2. Agora faça uma compilação final do aplicativo e resolva quaisquer erros. Seu código deve ser compilado com êxito.

Passos Seguintes

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