Guia de início rápido: definir e obter um rótulo de sensibilidade (C#)
Este Guia de início rápido mostra como usar mais dos SDKs de arquivo MIP. Usando um dos rótulos de sensibilidade listados no Guia de início rápido anterior, você usa um manipulador de arquivos para definir/obter o rótulo em um arquivo. A classe File handler expõe várias operações para definir/obter rótulos ou proteção para tipos de arquivo suportados.
Pré-requisitos
Se ainda não o fez, certifique-se de que preenche os seguintes pré-requisitos antes de continuar:
- Guia de início rápido completo : liste rótulos de sensibilidade (C#) primeiro, que cria uma solução inicial do Visual Studio, para listar os rótulos de sensibilidade de uma organização. Este Guia de início rápido "Definir e obter um rótulo de sensibilidade" baseia-se no anterior.
- Opcionalmente: revise os manipuladores de arquivos nos conceitos do MIP SDK .
Adicionar lógica para definir e obter um rótulo de sensibilidade
Adicione lógica para definir e obter um rótulo de sensibilidade em um arquivo, usando o objeto File engine.
Usando o Gerenciador de Soluções, abra o arquivo de .cs em seu projeto que contém a implementação do método Main()'. O 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, apósvar 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();
No final de localizar o bloco de desligamento do aplicativo criado no primeiro início rápido e descomente a linha do
Main()
manipulador:// Application Shutdown handler = null; fileEngine = null; fileProfile = null; mipContext = null;
Substitua os valores de espaço reservado no código-fonte usando os 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 do rótulo> 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 arquivo de saída, que será uma cópia rotulada do arquivo de entrada, por exemplo: c:\\Test\\Test_labeled.docx
.
Crie e teste o aplicativo
Crie e teste seu aplicativo cliente.
Use CTRL-SHIFT-B (Build Solution) para criar seu aplicativo cliente. Se você não tiver erros de compilação, use F5 (Iniciar depuração) para executar seu aplicativo.
Se o seu projeto for compilado e executado com êxito, o aplicativo poderá solicitar autenticação via ADAL cada vez que o SDK chamar seu
AcquireToken()
método. 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.
Você pode verificar a aplicação do rótulo, abrindo o arquivo de saída e inspecionando visualmente as configurações de proteção de informações do documento.
Nota
Se você estiver rotulando um documento do Office, mas não estiver conectado usando uma conta do locatário do Microsoft Entra onde o token de acesso foi obtido (e os rótulos de confidencialidade estiverem configurados), você poderá ser solicitado a entrar antes de abrir o documento rotulado.