Usar Flow para la gobernanza de datos direccional
En algunas situaciones de negocios es posible que tenga datos provenientes de orígenes externas a través de conectores, y estos datos se envían a servicios que contienen su información empresarial importante. Cuando se trata de directivas de prevención de pérdida de datos (DLP), suelen requerir que ambos conectores se comuniquen entre sí. La parte complicada es asegurarse de que los conectores solo se comuniquen en una dirección y que sus valiosos datos empresariales no salgan accidentalmente a manos de un tercero. A esto lo llamamos administrar el flujo de datos, al igual que garantizar que solo vayan adonde tiene ir se le llama gobernanza direccional de datos.
En este momento, las directivas de DLP no gestionan automáticamente la gobernanza direccional de datos. Pero no se preocupe, puede utilizar Power Automate para captar y detener cualquier flujo que intente enviar datos empresariales al exterior.
Este es un ejemplo: supongamos que su organización desea utilizar SharePoint para realizar seguimiento de los datos de Twitter. La preocupación aquí es que la información privada podría terminar pasando de SharePoint a Twitter.
Para asegurarse de que sus datos solo se mueven en la dirección correcta, comience creando una directiva DLP en el Centro de administración de Power Platform. En esta directiva, agrupe los conectores de SharePoint y Twitter como Datos empresariales. De esta manera, permite que se creen flujos utilizando ambos conectores, pero también se asegura de que sus datos permanecen seguros y no terminan accidentalmente en las manos equivocadas.
El primer paso para llevar a cabo la gobernanza de datos direccional consiste en crear una directiva DLP, desde el Centro de administración de Power Platform, que incluya los conectores de SharePoint y Twitter en el grupo de datos Negocio. Al usar esta configuración, permite a los creadores compilar flujos que incluyan ambos conectores.
A continuación, realizará la transición al Maker Portal de Power Automate e iniciará sesión con su cuenta de administrador para así crear el flujo de gobernanza. El objetivo es crear un flujo programado que se ejecutará cada hora.
Se agregará automáticamente un desencadenador de periodicidad al flujo. Ahora agregará una acción Inicializar variable al flujo. Asigne a esta variable el nombre previousTimestamp y, a continuación, incluya una expresión de
ticks(addMinutes(utcNow(),-60))
. Esta expresión calculará el número de tics desde hace 60 minutos. La razón para incluir esta expresión es que desea ver si se ha creado o modificado algún flujo desde la última vez que se ejecutó el flujo, lo que se habría producido hace 60 minutos.Agregue otra variable llamada isFlowAction que sea de tipo booleano y tenga un valor predeterminado de false. Usará esta variable más adelante en el flujo cuando detecte que un flujo incluye una acción de Twitter.
A continuación, use el conector de Power Platform for Admins y la acción Mostrar entornos como administrador, que proporcionará al flujo una lista completa de los entornos del inquilino. A continuación, recorra en bucle cada entorno para buscar flujos que incluyan acciones de Twitter.
Después de enumerar todos los entornos, agregará el conector de administración de flujos y usará la acción Mostrar flujos como administrador, que proporcionará una lista con todos los flujos de un entorno determinado.
La acción Mostrar flujos como administrador requiere el nombre de un entorno como parámetro de entrada. Use la columna Nombre que se devuelve de la llamada a Mostrar entornos como administrador. Cuando proporcione esta entrada, se agregará automáticamente una acción Aplicar a cada uno que le permitirá recorrer en iteración todos los entornos.
Dado que solo está interesado en explorar flujos modificados recientemente, agregará una condición al flujo y comparará los tics de la marca de tiempo de la última modificación del flujo con el de la variable que estableció anteriormente en el flujo. Para realizar esta tarea, use una expresión para calcular los tics de la marca de tiempo de la última modificación. La instrucción completa es
ticks(items('Apply_to_each_2')?['properties']?['lastModifiedTime']) is greater than previousTimestamp
.Cuando detecte que un flujo se ha modificado en los últimos 60 minutos, querrá asegurarse de que no pertenece al administrador. Esta comprobación ayuda a evitar que se produzca un error al intentar agregar el administrador como copropietario de un flujo en un paso posterior. Para detectar si el flujo actual pertenece al administrador, use el conector de Usuarios de Office 365 y la acción Obtener mi perfil (V2). Este paso devolverá información sobre el usuario que estableció una conexión con el conector, que en este caso es el administrador. A continuación, agregue la acción Usuarios de Office 365 a la rama En caso afirmativo.
Ahora, agregará otra condición que comprobará si el identificador de objeto del creador (de la acción Mostrar flujos como administrador) no es igual al identificador (de la acción Obtener mi perfil [V2]). En la rama En caso afirmativo, agregue la acción Editar rol de propietario de Flow como administrador que pertenece al conector de Microsoft Flow for Admins. Esta acción agregará el usuario administrador como copropietario del flujo y le ayudará a extraer la definición de flujo, aunque para ello debe ser copropietario del flujo. Recuperará la definición de flujo en un próximo paso, pero por ahora, proporcione el nombre del entorno actual, el nombre del flujo actual y los detalles sobre el usuario administrador, como la dirección de correo electrónico, el nombre para mostrar y el identificador. Estos valores son accesibles desde la acción Obtener mi perfil (V2).
Después de agregar la cuenta de administrador como copropietario del flujo, puede llamar a la acción Obtener flujo como administrador desde el conector de administración de Flow.
Las entradas de la acción Obtener flujo como administrador incluyen el nombre del entorno actual y el nombre del flujo. La salida de esta acción incluye la definición de flujo que le permitirá determinar si existe una acción de Twitter.
Para comprobar si se está usando una acción de Twitter, agregue una condición al flujo y compruebe si el nombre de la API de acción (de la acción Obtener flujo como administrador) es igual a shared_twitter. Después de agregar esta condición, se aplicará un bucle Aplicar a cada uno porque el atributo de nombre de la API de acción forma parte de una matriz, ya que cada flujo puede tener muchas acciones.
En la rama If yes, actualice la variable isFlowAction para que se establezca en true porque ahora ha encontrado un flujo que incluye una acción de Twitter. Usará esta variable más adelante en el flujo para determinar si necesita deshabilitar un flujo y enviar un correo electrónico al propietario del flujo.
Fuera de la variable Aplicar a cada uno que le permite recorrer en iteración todas las acciones del flujo, agregue otra condición. Esta condición comprobará si el valor de la variable isFlowAction es true.
En la rama En caso afirmativo, agregue el conector de Microsoft Flow for Admins y luego seleccione la acción Deshabilitar Flow como administrador. Esta acción le permitirá deshabilitar el flujo para que no se pueda enviar información a Twitter. Para llamar a esta acción, incluya el nombre del entorno actual y el nombre de flujo.
Al deshabilitar el flujo de algún usuario, le interesará enviarle un correo electrónico para que sepa que el flujo ya no se está ejecutando. Para obtener la dirección de correo electrónico del propietario del flujo, use el conector de Usuarios de Office 365 y use la acción Obtener el perfil de usuario (V2) para devolver la dirección de correo electrónico del propietario. Para obtener su dirección de correo electrónico, deberá agregar el identificador de objeto del creador, que se puede recuperar de la acción Mostrar flujos como administrador.
Envíe un correo electrónico al propietario del flujo mediante el conector de Outlook de Office 365 y la acción Enviar correo electrónico (V2). Use la información que devuelve la acción Obtener el perfil de usuario (V2) para enviar este correo electrónico, incluidos los atributos Correo y Nombre de pila. Además, puede incluir el nombre del flujo agregando el atributo Nombre para mostrar del flujo que se encuentra en salida de Mostrar flujos como administrador.
Dado que está recorriendo en bucle todos los flujos del inquilino, deberá volver a establecer la variable isFlowAction en false para buscar otros flujos que puedan tener una acción de Twitter. Ahora puede guardar el flujo administrativo.
Para probar el flujo, inicie sesión en Maker Portal de Power Automate con una cuenta diferente. Ahora, creará un flujo que incluya un desencadenador de SharePoint y una acción de Twitter. La directiva DLP no bloqueará este escenario, pero debe detectarlo el flujo administrativo que haya creado.
Ahora, puede ejecutar el flujo para detectar acciones de Twitter que creó anteriormente como administrador. Este flujo, al ejecutarse, debe detectar que un flujo se ha modificado recientemente y que incluye una acción de Twitter. Como resultado, se enviará un correo electrónico al propietario del flujo.
Si examina el flujo de SharePoint a Twitter, detectará que se ha deshabilitado como resultado de que el administrador deshabilitara el flujo.
Sin embargo, la recuperación de información de Twitter y su envío a SharePoint no infringe las reglas de gobernanza. Como resultado, puede crear otro flujo usando la cuenta del creador del flujo, que incluye un desencadenador de Twitter y una acción de SharePoint. Al ejecutar el flujo de gobernanza de detección de las acciones de Twitter, este sigue siendo funcional y no está deshabilitado porque se trata de un caso de uso permitido.