Usar Flow para la gobernanza de datos direccional

Completado

En algunos contextos de negocio, es posible que tenga datos de orígenes externos a través de conectores y que estos datos entren en servicios donde haya información empresarial importante. Normalmente, estos conectores se comunican entre sí. El desafío de las directivas de prevención de pérdida de datos (DLP) es garantizar que los conectores solo se comuniquen en una dirección, a fin de evitar que esos valiosos datos empresariales se envíen accidentalmente a un tercero. Administrar el flujo de datos de modo que solo vaya donde debe es algo que se denomina gobernanza direccional de datos.

En este momento, las directivas de DLP no gestionan automáticamente la gobernanza direccional de datos. Sin embargo, puede usar Power Automate para interceptar los flujos y evitar que envíen datos empresariales a terceros.

Por ejemplo, supongamos que su organización desea utilizar SharePoint para hacer un seguimiento de las publicaciones en X (anteriormente Twitter). Si no se han implementado controles, la información empresarial podría pasar de SharePoint a X.

Para asegurarse de que los datos solo fluyan en el sentido correcto (de X a SharePoint), siga estos pasos:

  1. Cree una directiva DLP desde el Centro de administración de Power Platform para incluir los conectores de SharePoint y X en el grupo de datos empresariales. Con esta medida, los creadores podrán diseñar flujos utilizando ambos conectores.

    Captura de pantalla de la página de directivas de datos del Centro de administración de Microsoft Power Platform, en el paso Asignar conectores; se muestran los conectores de X y SharePoint

  2. A continuación, inicie sesión en Power Automate Maker Portal con su cuenta de administrador para crear un flujo de gobernanza. Creará un flujo programado que se ejecutará cada hora.

  3. En el menú izquierdo de la pantalla de inicio, seleccione + Crear y Flujo de nube programado. Póngale al flujo un Nombre de flujo, una fecha/hora de inicio y una repetición cada hora; después, seleccione Crear.

    Captura de pantalla de

    Se agregará automáticamente un desencadenador de periodicidad al flujo.

  4. A continuación, creará una variable que calcule el número de "tics" desde hace 60 minutos hasta ahora (un tic es una pequeña unidad de tiempo). Usará la variable de este paso en una etapa posterior del flujo para ver si se ha creado o modificado algún otro flujo desde la última ejecución de su flujo (60 minutos antes).

  5. Seleccione el signo + bajo el desencadenador Periodicidad: aparecerá el menú Agregar una acción. En Buscar, escriba Inicializar variable y baje por los resultados hasta encontrar la acción Inicializar variable (se encuentra en las acciones de variable).

  6. Seleccione el título Inicializar variable y póngale a la acción el nombre Inicializar Variable: hace marca de tiempo. En Nombre, ponga previousTimestamp. En Tipo, seleccione Entero. Coloque el cursor en el campo Valor y verá la opción para seleccionar un rayo (a fin de añadir contenido dinámico desde un paso anterior) o fx (para añadir una expresión). Vamos a introducir una expresión, así que seleccione fx.

    Introduzca la fórmula ticks(addMinutes(utcNow(),-60)) y seleccione Agregar.

    Captura de pantalla de la página Mis flujos de Power Automate, con la propiedad Value de la acción Inicializar variable con la fórmula de tics resaltada

    A continuación, creará otra variable. Usará esta variable más adelante en el flujo para detectar si otros flujos incluyen una acción de X.

  7. Seleccione el signo + bajo el paso que acaba de crear a fin de añadir otra acción. Busque y añada otra acción Inicializar variable. Seleccione la acción Inicializar variable y cámbiela a Inicializar variable: ¿El flujo contiene una acción de X? En Nombre, añada isFlowAction y cambie el Tipo a Booleano. Ponga falso como valor predeterminado seleccionando falso en el menú desplegable que encontrará bajo Valor. Usará esta variable más adelante en el flujo cuando detecte que un flujo incluye una acción de X.

    Captura de pantalla de una segunda acción Inicializar variable, llamada

    A continuación, obtendrá una lista de entornos. En una etapa posterior del flujo, usará esta lista de entornos creados a fin de comprobar los entornos para ver si hay flujos que incluyan acciones de X.

  8. Seleccione el signo + bajo el paso que ha creado y busque la acción Mostrar entornos como administrador (en el conector de PowerPlatform para administradores). No es necesario cambiar ninguno de los parámetros en este paso.

    Captura de pantalla de la nueva acción Power Platform para administradores, con la opción

    Tras enumerar los entornos, obtendrá una lista de los flujos en cada entorno.

  9. Seleccione el signo + bajo el paso que ha creado y busque Mostrar flujos como administrador (V2). (Si hay una versión posterior a V2, use la más reciente). Encontrará esta acción en el conector de administración de Power Automate.

    Captura de pantalla del paso de acción Elegir una acción, con Administración de flujos y Mostrar flujos como administrador resaltados

  10. La acción Mostrar flujos como administrador requiere el nombre de un entorno como parámetro de entrada. Coloque el cursor en el campo Entorno y seleccione Valores personalizados en el menú desplegable. El rayo y fx volverán a aparecer. Esta vez, usaremos el contenido dinámico generado en el paso Mostrar entornos como administrador, así que seleccione el rayo.

  11. Verá una lista de salidas disponibles de los pasos anteriores que creó en su flujo. Baje y busque el paso Mostrar entornos como administrador; debajo de ese paso, seleccione la columna Nombre. 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.

    Captura de pantalla de

Solo le interesa explorar flujos modificados desde la última vez que se ejecutó el flujo, así que añadirá una condición al flujo para comparar los tics de la marca de tiempo de la última modificación del flujo con el de la variable "hace marca de tiempo" que estableció anteriormente en este flujo.

  1. Para ello, primero debe 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.

    Captura de pantalla de la condición con un número de tics mayor que el anterior con las opciones If yes e If not.

  2. Cuando detecte que un flujo se ha modificado en los últimos 60 minutos, compruebe no pertenezca a usted como 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.

    Utilice el conector Usuarios de Office 365 y la acción Obtener mi perfil (v2) y añádalos en la rama En caso afirmativo. Este paso devolverá información sobre el usuario que estableció una conexión con el conector, que, en este caso, es el administrador.

    Captura de pantalla de Usuarios de Office 365, con la condición En caso afirmativo y la acción Obtener mi perfil resaltada

  3. Ahora, agregará otra condición que comprobará si el identificador de objeto del creador (de la acción Mostrar flujos como administrador) 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 Power Automate para administradores. Añadirá al administrador como copropietario del flujo y ayudará a extraer la definición de flujo, aunque para ello debe ser copropietario del flujo.

    Recuperará la definición del flujo en un paso posterior; por ahora, proporcione el Nombre del entorno y el Nombre del flujo actual. Expanda la sección Body/put y añada estos detalles sobre el usuario administrador: dirección de correo electrónico, nombre para mostrar e id. Estos valores son accesibles en el contenido dinámico desde la acción Obtener mi perfil (V2).

    Captura de pantalla de

  4. 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.

    Captura de pantalla de la Administración de flujo con Obtener flujo como administrador resaltado.

  5. 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 X.

    Captura de pantalla de la condición

  6. Para comprobar si está usando una acción de X, 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. Tras añadir esta condición, se aplicará un bucle Aplicar a cada uno. Esto sucede porque el atributo del nombre de la API de acción forma parte de una matriz, ya que un flujo puede tener muchas acciones.

  7. En la rama En caso afirmativo, actualice la variable isFlowAction para que se establezca en true, ya que 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.

    Captura de pantalla de la Condición con If yes con Establecer variable: la acción de Twitter existe resaltada.

  8. 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.

    Captura de pantalla de la Condición 3: ¿Existe la acción de Twitter? resaltada

  9. En la rama En caso afirmativo, agregue el conector de Microsoft Flow for Admins y seleccione la acción Deshabilitar Flow como administrador. Esto le permite deshabilitar el flujo para que no se pueda enviar información a X. Para llamar a esta acción, incluya el Nombre de entorno y el Nombre de flujo actuales.

    Captura de pantalla de la condición

  10. Al deshabilitar el flujo de algún usuario, es recomendable 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.

    Captura de pantalla de Obtener el perfil de usuario: Creador de flujo con usuario (UPN) configurado en el Id. de objeto del creador.

  11. 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.

    Captura de pantalla de Enviar un correo electrónico con Para configurado como Correo, texto en el Asunto y texto en el cuerpo con los campos Nombre de pila y Nombre para mostrar del flujo.

  12. 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.

    Captura de pantalla de Establecer variable: restablecer marca de Twitter, con el nombre establecido en isFlowAction y el valor establecido en false

  13. Para probar el flujo, inicie sesión en Power Automate Maker Portal con una cuenta distinta. Cree un flujo que incluya un desencadenador de SharePoint y una acción de X. La directiva DLP no bloqueará este escenario, pero el flujo administrativo que haya creado debe detectarlo.

    Captura de pantalla de Power Automate en la página Mis flujos creando un flujo con la acción de Twitter con los pasos

  14. Ahora, puede ejecutar el flujo Detectar acciones de X (anteriormente Twitter) que ha creado como administrador. Cuando este flujo se ejecute, 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.

    Captura de pantalla del correo electrónico con el asunto

  15. Si analiza el flujo de SharePoint a X, detectará que se ha deshabilitado como resultado de que el administrador deshabilitara el flujo.

    Captura de pantalla de la página de flujos de Power Automate, con el flujo SharePoint > Twitter desactivado

Sin embargo, la recuperación de información de X y su envío a SharePoint no infringen las reglas de gobernanza. Como resultado, puede crear otro flujo usando la cuenta del creador del flujo, que incluye un desencadenador de X y una acción de SharePoint. Al ejecutar el flujo de gobernanza de detección de las acciones de X, este sigue siendo funcional y no está deshabilitado porque se trata de un caso de uso permitido.

Captura de pantalla de Power Automate en la página Mis flujos creando un flujo con la acción de X con los pasos