Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este início rápido mostra mais casos de uso dos SDKs de arquivo da PIM. Ao usar um dos rótulos de confidencialidade que você listou no guia de início rápido anterior, você usa um manipulador de arquivo para definir e obter o rótulo de um arquivo. A classe de manipulador de arquivos expõe várias operações para definir e obter rótulos ou proteção para tipos de arquivo com suporte.
Pré-requisitos
Caso ainda não tenha feito isso, certifique-se de concluir os seguintes pré-requisitos antes de continuar:
- Início rápido: Listar rótulos de confidencialidade (C#). Conclua primeiro este guia de início rápido. Ele cria uma solução de Visual Studio inicial que lista os rótulos de confidencialidade de uma organização. Este guia de início rápido "Definir e obter um rótulo de confidencialidade" baseia-se no anterior.
- Opcionalmente: Revisar os conceitos de manipuladores de arquivos no SDK do MIP.
Adicionar uma lógica para definir e obter um rótulo de confidencialidade
Use o objeto de mecanismo de arquivo para adicionar lógica que define e recupera um rótulo de confidencialidade em um arquivo.
Em 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.No final do
Main()corpo, depois dovar fileEngine =e acima do comentário//Application Shutdown, 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();No final, localize o bloco de
Main()desligamento do aplicativo criado no primeiro início rápido e descompacte a linha do manipulador:// Application Shutdown handler = null; fileEngine = null; fileProfile = null; mipContext = null;Substitua os valores dos marcadores no código-fonte pelos seguintes valores:
Espaço reservado Valor <caminho-do-arquivo-de-entrada> O caminho completo para um arquivo de entrada de teste, por exemplo: c:\\Test\\Test.docx.<label-id> Uma ID de rótulo de confidencialidade, copiada da saída do console no Início Rápido anterior. Por exemplo: f42a3342-8706-4288-bd31-ebb85995028z.<output-file-path> O caminho completo para o arquivo de saída, que é uma cópia rotulada do arquivo de entrada, por exemplo: c:\\Test\\Test_labeled.docx.
Criar e testar o aplicativo
Crie e teste seu aplicativo cliente.
Use CTRL-SHIFT-B (Build Solution) para criar seu aplicativo cliente. Se o build não tiver erros, use F5 (Iniciar depuração) para executar seu aplicativo.
Se o projeto for compilado e executado com êxito, o aplicativo poderá solicitar a autenticação sempre que o SDK chamar seu
AcquireToken()método (normalmente por meio de MSAL.NET). Se as credenciais armazenadas em cache já existirem, você não será solicitado a entrar e ver a lista de rótulos, seguido 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 o aplicativo de rótulo abrindo o arquivo de saída e inspecionando visualmente as configurações de proteção de informações do documento.
Observação
Se você estiver rotulando um documento do Office, mas não estiver conectado usando uma conta do locatário do Microsoft Entra que emitiu o token de acesso (e os rótulos de confidencialidade estão configurados), talvez você seja solicitado a entrar antes de abrir o documento rotulado.