SDK de Microsoft Information Protection: Conceptos del gestor de políticas

En el SDK de directivas, mip::PolicyHandler expone las operaciones usadas para procesar acciones de directivas y enviar eventos de auditoría.

Funciones del controlador de directivas

mip::PolicyHandler expone métodos para leer, escribir y quitar tanto etiquetas como información de protección. Para obtener la lista completa, consulte la referencia de API.

En este artículo, trataremos los siguientes métodos:

  • ComputeActions
  • NotifyCommittedActions

Requisitos

La creación de un elemento PolicyHandler requiere lo siguiente:

  • Una operación mip::MipContext
  • Una operación mip::PolicyProfile
  • Un mip::PolicyEngine añadido a mip::PolicyProfile
  • Una clase que implemente mip::PolicyHandler::Observer

Creación de un controlador de directivas

El primer paso necesario para obtener acciones de directivas es crear un objeto PolicyHandler. Esta clase implementa la funcionalidad necesaria para obtener la lista de acciones que debe realizar una etiqueta específica. También implementa la función para desencadenar un evento de auditoría.

Para crear PolicyHandler, solo hay que llamar a la función PolicyEngine de CreatePolicyHandlerAsync mediante el patrón promesa/futuro.

CreatePolicyHandlerAsync acepta un único parámetro: isAuditDiscoveryEnabled. Establezca este valor en verdadero si la aplicación debe exponer los eventos de latido y detección en el registro de auditoría.

Nota:

La clase mip::PolicyHandler::Observer debe implementarse en una clase derivada, ya que CreatePolicyHandler requiere el objeto Observer.

auto createPolicyHandlerPromise = std::make_shared<std::promise<std::shared_ptr<mip::PolicyHandler>>>();
auto createPolicyHandlerFuture = createPolicyHandlerPromise->get_future();
PolicyEngine->CreatePolicyHandlerAsync(true);
auto handler = createPolicyHandlerFuture.get();

Después de crear correctamente el objeto PolicyHandler, se podrán procesar las acciones y auditar eventos enviados.

Pasos siguientes

Ahora que ha aprendido a crear un controlador de directivas: