SharePoint 2013: Concepto de autorización en el uso de aplicaciones!

Otra de las grandes novedades de SharePoint 2013 es que introduce el concepto autorización a través de implementar el protocolo OAuth a la hora de permitir que las aplicaciones del nuevo modelo de aplicaciones tengan permiso o no para interactuar con el despliegue de SharePoint dónde se van a instalar. Básicamente el mecanismo de autorización de SharePoint 2013 permite que los usuarios autoricen a una aplicación a actuar en su nombre sin compartir su usuario y contraseña:

  • Por ejemplo: permitir que los usuarios compartan recursos privados o datos que residen en un sito en otro sitio: lista de contactos, docs, etc
  • La clave es que los usuarios no tienen que proporcionar las credenciales cada momento.

OAuth en SharePoint 2013 proporciona “tokens” de acceso, no de “sign-in” y sólo soporta WS-Fed.

¿Cómo funciona OAuth en SharePoint? Pues de acuerdo a las siguientes puntos

  • Permite a los usuarios autorizar a SharePoint para proporcionar tokens de acceso a las aplicaciones.
  • Estos tokens se pueden usar para devolver datos de SharePoint.
  • Cada token permite acceder:
    • A un sitio específico.
    • A un recurso especifico (documentos en una carpeta).
  • Y este acceso tiene una duración definida.

Como hemos comentado, el mecanismo de autorización se utiliza a la hora de indicar si una aplicación tiene permisos o no para interactuar con SharePoint. ¿Cómos se asignan los permisos a la aplicación?

  • Durante el proceso de instalación.
  • Los permisos que necesita la aplicación se definen en el archivo de manifiesto de la misma
  • Es el usuario quien “confía” en la aplicación y asegura qué los permisos se asignen a la aplicación mientras se instala.
  • Los usuarios sólo pueden proporcionar los permisos que ellos tienen.

En cuanto a ámbitos de permisos para aplicaciones:

  • Se definen en el manifiesto de la aplicación (= que los permisos)
  • Indican en qué nivel de la jerarquía de SharePoint la aplicación está solicitando permisos:.
    • SPSite.
    • SPWeb.
    • SPList.
    • Tenancy.
    • Otros para consultas de búsqueda, acceso a los perfiles de usuario, acceso a los datos de una taxonomía, …

Los permisos que se garantizan en un cierto ámbito, aplican en todos sus “hijos”…y me explico, los permisos que se den en un ámbito de tipo SPSite aplicarán en todos los subsitios que se definan por debajo, así como en listas y elementos de listas.

Referencias