Guia de início rápido: definir e obter um rótulo de sensibilidade (C#)

Este guia de início rápido mostra como utilizar mais funcionalidades dos SDKs de ficheiros MIP. Ao usar uma das etiquetas de sensibilidade que mencionaste no quickstart anterior, utilizas um gestor de ficheiros para definir e colocar a etiqueta num ficheiro. A classe gestor de ficheiros expõe várias operações para definir e obter etiquetas, ou proteção, para tipos de ficheiros suportados.

Pré-requisitos

Se ainda não o fez, certifique-se de que preenche os seguintes pré-requisitos antes de continuar:

  • Início rápido: Liste as etiquetas de sensibilidade (C#). Conclua este guia de início rápido primeiro. Constrói uma solução inicial no Visual Studio que lista os rótulos de sensibilidade da organização. Este início rápido "Definir e obter uma etiqueta de sensibilidade" baseia-se no anterior.
  • Opcionalmente: reveja os conceitos dos manipuladores de ficheiros no MIP SDK.

Adicionar lógica para definir e obter um rótulo de sensibilidade

Use o objeto do motor de ficheiros para adicionar lógica que define e recebe uma etiqueta de sensibilidade num ficheiro.

  1. No Explorador de Soluções, abre o ficheiro .cs no teu projeto que contém a implementação do Main() método. O nome padrão é o mesmo do projeto que o contém, que você especificou durante a criação do projeto.

  2. No final do Main() corpo, após var fileEngine = e acima do //Application Shutdown comentário, insira o seguinte código:

      //Set paths and label ID
      string inputFilePath = "<input-file-path>";
      string actualFilePath = inputFilePath;
      string labelId = "<label-id>";
      string outputFilePath = "<output-file-path>";
      string actualOutputFilePath = outputFilePath;
    
      //Create a file handler for that file
      //Note: the 2nd inputFilePath is used to provide a human-readable content identifier for admin auditing.
      var handler = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(inputFilePath, actualFilePath, true)).Result;
    
      //Set Labeling Options
      LabelingOptions labelingOptions = new LabelingOptions()
      {
           AssignmentMethod = AssignmentMethod.Standard
      };
    
      // Set a label on input file
      handler.SetLabel(fileEngine.GetLabelById(labelId), labelingOptions, new ProtectionSettings());
    
      // Commit changes, save as outputFilePath
      var result = Task.Run(async () => await handler.CommitAsync(outputFilePath)).Result;
    
      // Create a new handler to read the labeled file metadata
      var handlerModified = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(outputFilePath, actualOutputFilePath, true)).Result;
    
      // Get the label from output file
      var contentLabel = handlerModified.Label;
      Console.WriteLine(string.Format("Getting the label committed to file: {0}", outputFilePath));
      Console.WriteLine(string.Format("File Label: {0} \r\nIsProtected: {1}", contentLabel.Label.Name, contentLabel.IsProtectionAppliedFromLabel.ToString()));
      Console.WriteLine("Press a key to continue.");
      Console.ReadKey();
    
  3. No final de Main(), encontre o bloco de encerramento da aplicação criado no primeiro quickstart e descomente a linha do handler:

    // Application Shutdown
    handler = null;
    fileEngine = null;
    fileProfile = null;
    mipContext = null;
    
  4. Substitua os valores provisórios no código-fonte pelos seguintes valores:

    Marcador de posição Valor
    <caminho do arquivo de entrada> O caminho completo para um arquivo de entrada de teste, por exemplo: c:\\Test\\Test.docx.
    <ID de etiqueta> Um ID de rótulo de sensibilidade, copiado da saída do console no Guia de início rápido anterior, por exemplo: f42a3342-8706-4288-bd31-ebb85995028z.
    <caminho do arquivo de saída> O caminho completo para o ficheiro de saída, que é uma cópia rotulada do ficheiro de entrada, por exemplo: c:\\Test\\Test_labeled.docx.

Crie e teste o aplicativo

Crie e teste seu aplicativo cliente.

  1. Utilize CTRL-SHIFT-B (Compilar Solução) para criar o seu aplicativo cliente. Se a compilação não tiver erros, use F5 (Iniciar depuração) para executar a sua aplicação.

  2. Se o seu projeto for construído e executado com sucesso, a aplicação pode pedir autenticação cada vez que o SDK chama o seu AcquireToken() método (tipicamente através do MSAL.NET). Se as credenciais em cache já existirem, você não será solicitado a entrar e ver a lista de rótulos, seguida pelas informações sobre o rótulo aplicado e o arquivo modificado.

Personal : 73c47c6a-eb00-4a6a-8e19-efaada66dee6
Public : 73254501-3d5b-4426-979a-657881dfcb1e
General : da480625-e536-430a-9a9e-028d16a29c59
Confidential : 569af77e-61ea-4deb-b7e6-79dc73653959
      Recipients Only (C) : d98c4267-727b-430e-a2d9-4181ca5265b0
      All Employees (C) : 2096f6a2-d2f7-48be-b329-b73aaa526e5d
      Anyone (not protected) (C) : 63a945ec-1131-420d-80da-2fedd15d3bc0
Highly Confidential : 905845d6-b548-439c-9ce5-73b2e06be157
      Recipients Only : 05ee72d9-1a75-441f-94e2-dca5cacfe012
      All Employees : 922b06ef-044b-44a3-a8aa-df12509d1bfe
      Anyone (not protected) : c83fc820-961d-40d4-ba12-c63f72a970a3
Press a key to continue.

 Applying Label ID 074e457c-5848-4542-9a6f-34a182080e7z to c:\Test\Test.docx
 Committing changes

 Label committed to file: c:\Test\Test_labeled.docx
 Press any key to continue.

 Getting the label committed to file: c:\Test\Test_labeled.docx
 File Label: Confidential
 IsProtected: false   
 Press any key to continue.

Verifique a aplicação do rótulo abrindo o ficheiro de saída e inspecionando visualmente as definições de proteção de informação do documento.

Observação

Se estiver a etiquetar um documento do Office, mas não tiver iniciado sessão com uma conta do inquilino do Microsoft Entra que emitiu o token de acesso (e se as etiquetas de sensibilidade estiverem configuradas), poderá ser-lhe pedido que inicie sessão antes de poder abrir o documento etiquetado.

Passos seguintes