top of page
  • Foto del escritorAlejandro Caravantes Molina

Exenciones de DLP´s sobre recursos específicos



Si alguna vez has trabajado en algún proyecto orientado a administración y gobierno de Microsoft Power Platform, con total seguridad te ha tocado pegarte con directivas de prevención de pérdida de datos o DLP´s.


No hay nada nuevo cuando hablamos que son directivas que agrupan los mas de 800 conectores de los que dispone Power Platform hoy en día, en tres grupos: Empresariales, No Empresariales y Bloqueados. Básicamente lo que la política nos impide es utilizar en una misma app o flujo conectores de grupos distintos o nos impide directamente utilizar conectores que están bloqueados.


Lo siguiente es configurar sobre que entornos aplica o no aplica cada política DLP y voilá.


Pero... ¿qué ocurre si tenemos un entorno donde aplica una política DLP y donde además tenemos alguna app o flujo excepcional que necesita sí o sí por necesidades de negocio utilizar un conector bloqueado por la DLP? Pues para ayudarnos, aparecen en nuestro rescate las listas de exenciones de recursos.😎


Vamos al lío

A día de hoy, esta customización o personalización del mensaje de error que aparece en la imagen inicial, sólo se puede realizar a traves de PowerShell. Si no lo tienes instalado, ¿a qué estas esperando 😜?. Instala también los módulos necesarios para poder trabajar con Power Platform, ejecutando los siguientes comandos:

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber

Antes de ver lo que tenemos que hacer para crear una lista de exención de recursos, veamos que pasa en la actualidad cuando intentamos utilizar un conector bloqueado por una DLP en un flujo de Power Automate. En mis entornos de prueba tengo una DLP que tiene bloqueado el conector de DropBox. Si leíste además la entrada donde hablabamos sobre cómo personalizar los mensajes de error por incumplimiento de DLP, entenderás por que en la imagen que puedes ver a continuación obtengo el mensaje de error que aparece.


Ahora sí. Imagina que este flujo es crítico para el negocio y sólo este flujo tiene que ser capaz de utilizar el conector de DropBox. Imagina también que tenemos una aplicación que utiliza el mismo conector y que tambien es crítica para el negocio.


En tal caso necesitaremos crear una Exemption List o una lista de exención de recursos para que "escapen" de la DLP que aplica al propio entorno donde se encuentran desplegados estos dos recursos.


Para crear esa lista de exención necesitamos ejecutar el siguiente script:

$flow = Get-Flow -EnvironmentName #ENVIRONMENT_INTERNAL_NAME -FlowName #FLOW_INTERNAL_NAME 
$app = Get-PowerApp -EnvironmentName #ENVIRONMENT_INTERNAL_NAME -AppName #APP_INTERNAL_NAME 
$exemptFlow = [pscustomobject]@{ 
             id = $flow.Internal.id 
             type = $flow.Internal.type 
         } 
$exemptApp = [pscustomobject]@{ 
           id = $app.Internal.id 
           type = $app.Internal.type 
         } 
$exemptResources = [pscustomobject]@{ 
             exemptResources = @($exemptFlow, $exemptApp) 
         } 
New-PowerAppDlpPolicyExemptResources -TenantId #TENANT_ID -PolicyName #POLICY_INTERNAL_NAME -NewDlpPolicyExemptResources $exemptResources   

En mi caso el script queda como puede ves en la imagen inferior.


Una vez ejecutado el script y si no ha ocurrido ningún error, dirígete de vuelta al flujo o aplicación que estaba utilizando el conector bloqueado y como podrás comprobar ya no hay ningún mensaje de error y el flujo o aplicación se ejecuta sin ningún problema. Eso si: el uso del conector bloqueado sigue estando restringido para todos los recursos de ese entorno que no formen parte de la lista de exención.


¡Gracias por haber leído hasta aquí! ¡Hasta la próxima!

bottom of page