Cómo administrar flujos huérfanos cuando el propietario abandona la organización

¿Qué son los flujos huérfanos?

Un flujo se convierte en un flujo huérfano cuando ya no tiene un propietario válido. Esto suele ocurrir cuando el creador o propietario del flujo ha salido de la organización y no hay copropietario. Si el flujo usa conexiones que requieren autenticación, puede que comience a fallar porque la identidad del usuario ya no es válida.

Los administradores pueden mantener la continuidad en el proceso empresarial automatizado por el flujo agregando uno o más copropietarios. Los copropietarios básicamente tienen control total sobre el flujo, como el propietario original, y pueden corregir la autenticación de las conexiones si las hay y habilitar el flujo si se ha deshabilitado.

Administración de flujos huérfanos a través del centro de administración de flujo

Cómo comprobar si hay flujos huérfanos

Tenga en cuenta que solo los usuarios privilegiados pueden ver los flujos que no tienen propietarios válidos.

En la página entorno del centro de administración de flujo (https://admin.Flow.Microsoft.com/Environments), vaya a la pestaña "recursos" y abra la lista "flujo". Los flujos huérfanos muestran "ninguno" como propietario. 

Haga clic en "cargar más" para cargar el siguiente conjunto de flujos de modo que se asegure de que ha buscado todos los flujos que podrían estar huérfanos.

Asignar nuevos copropietario (es) a un flujo huérfano

  1. En la lista flujo, haga clic en el flujo huérfano para abrir la página Detalles de flujo.

  2. Haga clic en "administrar uso compartido" en la parte inferior de la lista de propietarios.

  3. Escriba un nuevo nombre de propietario y seleccione la nueva cuenta de propietario.

  4. Haga clic en "guardar" para guardar los cambios.

Nota

Puede que sea difícil encontrar los flujos huérfanos si hay una gran cantidad de flujos en la organización. En ese caso, también puede administrar flujos huérfanos a través de los cmdlets de PowerShell.

 

Administrar flujos huérfanos a través de la automatización de los cmdlets para administradores

Como administrador, también puede administrar flujos ejecutandolos cmdlets de Power apps para administradores. Si aún no lo ha hecho, asegúrese de que ha seguido las instrucciones para completar la instalación.

Solución de permisos para un flujo

Necesitará el nombre del entorno y el nombre del flujo (un GUID).

Ejecute el Get-AdminFlowOwnerRole cmdlet con nombre de entorno y nombre de flujo para obtener la lista de usuarios y sus roles. Esto le permitirá comprobar los permisos actuales establecidos para el flujo.

Para asignar un copropietario a un flujo, ejecute Set-AdminFlowOwnerRole con el identificador de objeto principal de AAD del nuevo propietario

Set-AdminFlowOwnerRole -EnvironmentName <env name> -FlowName <flow name> -PrincipalType User -RoleName CanEdit -PrincipalObjectId <new owner object id>

Pagaré

Para obtener el identificador de objeto principal de AAD de un usuario, ejecute el cmdlet Get-AzureADUser (que es de AzureAD Module).

Ejecute Get-AdminFlowOwnerRole de nuevo para comprobar que el nuevo propietario está en la lista.

Solución de permisos para los flujos creados por un usuario en particular

Para obtener una lista de los flujos creados por un usuario determinado, ejecute el siguiente cmdlet y, a continuación, aplique la sección anterior para corregir cada flujo de la lista.

Get-AdminFlow -EnvironmentName <env name> -CreatedBy <user AAD object id>

Lista de todos los flujos huérfanos en un entorno

Para obtener todos los flujos que no tienen usuarios válidos, recorra todos los flujos en un entorno y compruebe que haya al menos un propietario o copropietario que exista en AAD. La siguiente secuencia de comandos proporciona un ejemplo:

$env = "<your environment name>"
$flows = Get-AdminFlow -EnvironmentName $env
foreach ($flow in $flows)
{
    $hasValidOwner = $false
    $permissions = Get-AdminFlowOwnerRole -EnvironmentName $env -FlowName $flow.FlowName
    foreach ($permission in $permissions) 
    {
        $roleType = $permission.RoleType
        
        if ($roleType.ToString() -eq "Owner" -or $roleType.ToString() -eq "CanEdit")
        {
            $userId = $permission.PrincipalObjectId
            $users = Get-AzureADUser -Filter "ObjectId eq '$userId'"

            if ($users.Length -gt 0)
            {
                $hasValidOwner = $true
                break
            }
        }
    }

    if ($hasValidOwner -eq $false)
    {
        $flow
    }
}

También puede inyectar el Set-AdminFlowOwnerRole cmdlet para asignar un copropietario para cada flujo que no tiene un propietario válido.

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×