Inicio rápido: Establecimiento y obtención de una etiqueta de confidencialidad (C#)
En este inicio rápido se muestra cómo usar más de los SDK de archivos de MIP. Con una de las etiquetas de confidencialidad que se han enumerado en el inicio rápido anterior, use un controlador de archivos para establecer u obtener la etiqueta en un archivo. La clase Controlador de archivos expone varias operaciones para establecer u obtener etiquetas, o protección para los tipos de archivo admitidos.
Requisitos previos
Si todavía no lo ha hecho, complete los siguientes requisitos previos antes de continuar:
- Complete primero Inicio rápido: Enumeración de etiquetas de confidencialidad (C#), donde se crea una solución de inicio de Visual Studio, para enumerar las etiquetas de confidencialidad de una organización. Este inicio rápido "Establecimiento y obtención de una etiqueta de confidencialidad" se basa en el anterior.
- Opcionalmente: Revise los conceptos sobre controladores de archivos en el SDK de MIP.
Adición de lógica para establecer y obtener una etiqueta de confidencialidad
Agregue lógica para establecer y obtener una etiqueta de confidencialidad en un archivo, mediante el objeto de motor de archivos.
Con el Explorador de soluciones, abra el archivo .cs del proyecto que contiene la implementación del método Main(). De manera predeterminada, tiene el mismo nombre que el proyecto que lo contiene, que especificó al crear el proyecto.
Hacia la parte final del encabezado
Main()
, después devar fileEngine =
y antes del comentario//Application Shutdown
, inserte el código siguiente://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();
En la parte final de
Main()
, busque el bloque de cierre de la aplicación creado en el primer inicio rápido y quite la marca de comentario de la línea del controlador:// Application Shutdown handler = null; fileEngine = null; fileProfile = null; mipContext = null;
Reemplace los valores de marcador de posición del código fuente por los valores siguientes:
Marcador Valor <input-file-path> Ruta completa a un archivo de entrada de prueba, por ejemplo: c:\\Test\\Test.docx
.<label-id> Identificador de etiqueta de confidencialidad, copiado de la salida de la consola en el inicio rápido anterior, por ejemplo: f42a3342-8706-4288-bd31-ebb85995028z
.<output-file-path> Ruta completa al archivo de salida, que será una copia etiquetada del archivo de entrada, por ejemplo: c:\\Test\\Test_labeled.docx
.
Compilar y probar la aplicación
Compile y pruebe la aplicación cliente.
Presione CTRL-MAYÚS-B (Compilar solución) para compilar la aplicación cliente. Si no hay errores de compilación, presione F5 (Iniciar depuración) para ejecutar la aplicación.
Si el proyecto se compila y ejecuta correctamente, es posible que la aplicación solicite autenticación mediante ADAL cada vez que el SDK llame al método
AcquireToken()
. Si ya existen credenciales en caché, no se le pedirá que inicie sesión y verá la lista de etiquetas, seguida de la información sobre la etiqueta aplicada y el archivo 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.
Puede comprobar la aplicación de la etiqueta si abre el archivo de salida e inspecciona visualmente la configuración de protección de la información del documento.
Nota:
Si va a etiquetar un documento de Office, pero no ha iniciado sesión con una cuenta desde el inquilino de Microsoft Entra donde se ha obtenido el token de acceso (y se han configurado las etiquetas de confidencialidad), es posible que se le pida que inicie sesión antes de poder abrir el documento etiquetado.