Compartilhar via


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

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

Observação

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 do .NET da MIP. Esses guias de início rápido devem ser feitos serialmente após a inicialização do aplicativo e a implementação de classes delegadas de autenticação e de delegado 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, criamos e configuramos a solução e o projeto iniciais do Visual Studio, nos quais os outros Inícios Rápidos serão criados.

  1. Abra o Visual Studio 2019 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, clique no botão OK no canto inferior direito.

      Criação de solução do Visual Studio

  2. Adicione o pacote NuGet para o SDK de Arquivo MIP ao seu projeto:

    • No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto (diretamente no nó superior/solução) e selecione Gerenciar pacotes NuGet...:
    • Quando a guia Gerenciador de Pacotes NuGet é aberta na área de guias Grupo do Editor:
      • Selecione Procurar.
      • Insira "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 visualização alterar a confirmação for exibida.
  3. Repita as etapas acima para adicionar o pacote do SDK da Proteção MIP, mas adicione "Microsoft.IdentityModel.Clients.ActiveDirectory" ao aplicativo.

Se ainda não estiver implementado, siga as etapas listadas na inicialização do aplicativo SDK de Arquivo para implementar a autenticação e o delegado de 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 usada para inicialização, criação de perfis MipContextde carregamento e liberação de recursos. Para inicializar o wrapper para operações de SDK de Arquivo, chame MIP.Initialize(), passando MipComponent.Protection para carregar as bibliotecas necessárias para operações de proteção.

  4. No Main()Program.cs adicione o seguinte, substituindo <a ID> do aplicativo pela ID do Registro de Aplicativo do 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 e mecanismo de proteção

Conforme mencionado, os objetos de perfil e mecanismo são necessários para clientes do SDK usando APIs de MIP. Conclua a parte de codificação deste Início Rápido adicionando código para carregar as DLLs nativas e 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);

               // 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ê coleu usando os seguintes valores:

    Placeholder Value Example
    <application-id> A ID do Aplicativo Microsoft Entra atribuída ao aplicativo registrado em "Configuração e configuração do SDK do MIP" (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 um build final do aplicativo e resolva quaisquer erros. Seu código deve ser compilado com êxito.

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 começará a experimentar os SDKs de Proteção MIP.