Compartir a través de


Creación de un flujo de trabajo con permisos elevados mediante la plataforma de flujo de trabajo de SharePoint

En este artículo se describe cómo crear flujos de trabajo de SharePoint que tienen acceso a objetos de SharePoint que requieren permisos elevados. Estas soluciones usan dos características: la concesión de permisos a la aplicación de flujo de trabajo y el ajuste de acciones con el paso de la aplicación.

Nota:

Los flujos de trabajo de SharePoint 2010 se han retirado desde el 1 de agosto de 2020 para los nuevos espacios empresariales y se han quitado de los espacios empresariales existentes el 1 de noviembre de 2020. Si está usando los flujos de trabajo de SharePoint 2010, le recomendamos que migre a Power Automate u otras soluciones compatibles. Para obtener más información, consulte Retirada del flujo de trabajo de SharePoint 2010.

Importante

En este artículo, se presupone que se ha instalado y configurado la plataforma de flujo de trabajo de SharePoint y que se ha configurado SharePoint para complementos. Para obtener más información sobre los flujos de trabajo y los complementos de SharePoint, incluida la instalación y la configuración, vea Flujos de trabajo de SharePoint e Instalar y administrar complementos de SharePoint.

Imagine que, como administrador de SharePoint, le gustaría definir algunos procesos para administrar las solicitudes de usuario para la compra de complementos de la Tienda Office. En el caso más sencillo, es recomendable enviar un correo electrónico de confirmación cuando un usuario solicita un complemento. Además, es posible que también quiera agregar una estructura al proceso de aprobación de la solicitud.

De manera predeterminada, el flujo de trabajo no tiene permisos de acceso al catálogo de aplicaciones. Las listas de catálogo de SharePoint requieren permisos de propietario (control total). Los flujos de trabajo generalmente se ejecutan con un nivel de permiso equivalente al de escritura.

Para resolver esto, tiene que crear un flujo de trabajo con permisos elevados realizando los pasos siguientes en el sitio de la Colección de sitios:

  1. Permita que el flujo de trabajo use permisos de complemento.
  2. Conceda permiso de control total al flujo de trabajo.
  3. Desarrolle el flujo de trabajo para ajustar acciones dentro de un paso de aplicación.

Permitir que un flujo de trabajo use permisos de complemento en un sitio de SharePoint

El primer paso consiste en permitir que el flujo de trabajo use permisos de complemento. Configure el flujo de trabajo para que use los permisos de complemento en la página Configuración del sitio del sitio de SharePoint donde se ejecuta el flujo de trabajo. El siguiente procedimiento configura el sitio de SharePoint para permitir que el flujo de trabajo use permisos de complemento.

Importante

Un usuario con permisos de Administrador del sitio debe completar el procedimiento.

Para permitir que el flujo de trabajo use permisos de complemento

  1. Seleccione el icono de Configuración como se muestra en la ilustración para abrir la página Configuración del sitio.

Menú Configuración

  1. Vaya a Configuración del sitio.

  2. En la sección Acciones del sitio, seleccione Administrar las características del sitio.

  3. Busque la característica denominada Los flujos de trabajo pueden usar permisos de aplicación, como se muestra en la figura, y seleccione Activar.

    Advertencia

    Esta característica no se activará a menos que se hayan configurado correctamente la plataforma de flujo de trabajo de SharePoint y los complementos para SharePoint.

    El flujo de trabajo puede usar la característica de permisos de la aplicación

Conceder permiso de control total a un flujo de trabajo

Para que el flujo de trabajo funcione correctamente, es necesario concederle permiso de control total en el sitio. Siga el procedimiento siguiente para conceder permiso de control total al flujo de trabajo.

Importante

Un usuario con permisos de Propietario del sitio debe completar el procedimiento. Es necesario que el flujo de trabajo ya esté publicado en el sitio de SharePoint.

Para conceder permiso de control total a un flujo de trabajo

  1. Seleccione el icono de Configuración.

Menú Configuración

  1. Vaya a Configuración del sitio.

  2. En la sección Usuarios y permisos, seleccione Permisos de aplicaciones del sitio.

    Importante

    En SharePoint Online, seleccione Permisos de aplicación de colección de sitios. Esta opción solo es visible para los Administradores de la colección de sitios.

  3. Copy the client section of the App Identifier. This is the identifier between the last "|" and the "@" sign, as shown in the figure.

    Selección del identificador de aplicación

  4. Vaya a la página Conceder permiso a una aplicación. Debe hacerlo a través de la página appinv.aspx del sitio.

    Ejemplo: http://{hostname}/{the Site Collection}/_layouts/15/appinv.aspx.

    Nota:

    En este paso, "app" hace referencia al complemento de flujo de trabajo en general, no solo a un flujo de trabajo específico. No se puede controlar el acceso de los flujos de trabajo individuales. Al habilitar permisos de complemento, estos se habilitan para todos los flujos de trabajo de la colección de sitios.

    Para obtener más información sobre cómo configurar un flujo de trabajo, vea el artículo del blog de Sympraxis Consulting: Looping Through Content in a SharePoint Site Workflow (Enlazar en bucle el contenido en un flujo de trabajo del sitio de SharePoint).

    La ilustración siguiente es un ejemplo.

    Página y ejemplo de dirección URL appinv.aspx.

  5. Pegue el identificador de cliente en el campo Id. de la aplicación y luego seleccione Búsqueda, como se muestra en la ilustración anterior.

  6. Pegue el código siguiente en el campo XML de solicitud de permiso para conceder el permiso de control total. (Nota: Este bloque de código se actualizó el 29 de diciembre de 2017 para incluir AllowAppOnlyPolicy).

    <AppPermissionRequests AllowAppOnlyPolicy="true">
        <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
    </AppPermissionRequests>
    

    Advertencia

    No hay marcadores de posición en el valor Scope. Es un valor literal. Escríbalo exactamente como aparece aquí.

    En la ilustración siguiente se muestra un ejemplo de la página completada (tenga en cuenta que el código en el área XML de solicitud de permiso no refleja la actualización reciente del código en el paso 7).

    Búsqueda de un identificador de aplicación

  7. Seleccione Crear.

  8. A continuación, se le pide que confíe en el complemento de flujo de trabajo, como se muestra en la siguiente ilustración. Seleccione Confiar.

    Confíe en la aplicación de flujo de trabajo.

Ajuste de acciones dentro de un paso de aplicación

Por último, tiene que ajustar las acciones de flujo de trabajo dentro de un paso de aplicación. El procedimiento siguiente encapsula una acción Enviar un correo electrónico dentro de un paso de aplicación. El flujo de trabajo de este ejemplo envía un mensaje de correo electrónico de confirmación desde una lista personalizada.

Para ajustar acciones dentro de un paso de aplicación

  1. Abra el sitio del catálogo de aplicaciones en SharePoint Designer.

  2. Cree una lista personalizada en la que se ejecutará el flujo de trabajo. En este ejemplo, el nombre de la lista es Demo de la aplicación.

  3. En la ventana de navegación, seleccione Flujos de trabajo.

  4. Cree un Flujo de trabajo de lista para la lista Demo de la aplicación, como se muestra en la ilustración.

    Creación de un flujo de trabajo de lista.

  5. Inserte un Paso de aplicación, como se muestra en la ilustración.

    Adición de un paso de aplicación.

  6. Inserte una acción Enviar un correo electrónico en el Paso de aplicación.

  7. Seleccione el botón Libreta de direcciones. En el campo Para, seleccione Búsqueda de flujo de trabajo para un usuario y luego Agregar, como se muestra en la ilustración.

    Selección de la búsqueda de flujo de trabajo para un usuario.

  8. Seleccione el campo Creado por como el valor de búsqueda, como se muestra en la ilustración.

    Cuadro de diálogo Buscar una persona.

  9. Seleccione Correo electrónico desde la lista Demo de la aplicación en el cuerpo del mensaje de correo electrónico.

  10. Seleccione Aceptar para volver al flujo de trabajo. El flujo de trabajo completo se muestra en la ilustración.

    Acción de correo electrónico en el paso de aplicación.

  11. Seleccione el icono Configuración del flujo de trabajo de la cinta de opciones, como se muestra en la ilustración.

    Icono de Configuración del flujo de trabajo en la cinta de opciones.

  12. Desactive la casilla junto a Actualizar automáticamente el estado del flujo de trabajo al nombre de la etapa actual y luego seleccione Publicar.

    Desactivación de la casilla de actualizaciones automáticas y publicación.

Comprender cómo funciona

Para comprender por qué se requiere elevar permisos para un flujo de trabajo, considere la posibilidad de que los flujos de trabajo son fundamentalmente complementos para SharePoint y que siguen las mismas reglas de autorización que el modelo de complemento. La configuración de flujo de trabajo predeterminada es que los permisos efectivos del flujo de trabajo son una intersección de permisos de usuario y permisos de complemento, como se muestra en la ilustración.

Diagrama de permisos.

Las dos razones por las que es necesario elevar permisos para crear un flujo de trabajo en la lista Solicitud de aplicación son las siguientes:

  • De manera predeterminada, el flujo de trabajo solo tiene permiso de escritura.
  • El usuario no tiene permisos.

El primer paso para resolver este problema es permitir a la aplicación que autorice usando solo su identidad y omitiendo al usuario. Esto se realiza habilitando la característica de paso de aplicación. El segundo paso concede permiso de control total al flujo de trabajo.

El siguiente diagrama ilustra el cambio de permisos.

Matriz de permisos.

Vea también