SPProtectContentOptions

Versión 5 (Emilio Penna, Viernes, 1 de Abril de 2016 14:31:23 -0300)

1 1
h1. Opciones para protección de contenido web
2 1
3 4 Emilio Penna
Fragmento de: https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPProtectContent
4 1
5 3 Emilio Penna
>There are two ways that you can use the SP to protect content:
6 3 Emilio Penna
>
7 2 Emilio Penna
> * Actively, by intercepting requests for particular resources and ensuring that a valid, authenticated session exists between the user agent and the SP software before passing along the request
8 2 Emilio Penna
> * Passively, by publishing information about valid, authenticated sessions through CGI, but passing unauthenticated requests through unmolested
9 2 Emilio Penna
> 
10 2 Emilio Penna
> In both cases, the information about the session supplied by the SP is provided uniformly so that applications can be programmed to respond dynamically based on the information.
11 1
12 1
h2. Protección Activa:
13 1
14 1
Se puede proteger la webapp completa, indicando en el Location de apache la raiz de la aplicación.
15 1
16 1
Si la aplicación tiene alguna parte que deberia ser publica, se puede agregar en un segundo directorio o aplicación no protegido. 
17 5 Emilio Penna
Esto es lo que se hace en el MAP (Módulo de Autogestión de Personal), donde el usuario primero ingesa a una parte publica (portalmap) donde hay vínculos, y algunos de ellos dirigen a la aplicación privada, protegida (map).
18 1
En este caso se protege la aplicacion completa (map) con shibboleth.
19 1
20 5 Emilio Penna
Las webapps en el ejemplo son:
21 5 Emilio Penna
22 1
<pre>
23 5 Emilio Penna
/webapps/portalmap (público)
24 1
/webapps/map (protegido con shibboleth)
25 1
</pre>
26 1
27 1
28 1
h2. Protección Pasiva:
29 1
30 1
(O cómo utilizar autenticación shibboleth en una aplicación sin proteger toda la web application)
31 1
32 5 Emilio Penna
En este caso hay que tener mayor cuidado en la aplicación, de que se realice el control de acceso correctamente, es decir, que el acceso a un recurso privado solo sea posible para usuarios autenticados. Por este motivo, se recomienda la forma anterior si es posible, para tener una protección de toda la aplicación a nivel de infraestructura.
33 5 Emilio Penna
34 5 Emilio Penna
h4. Opción 1: proteger sólo una página de inicio de sesión (de la aplicación)
35 5 Emilio Penna
36 1
Se configura apache para proteger dicha página. 
37 1
Esta es la forma que usa moodle (https://moodle.org/auth/shibboleth/README.txt) 
38 1
39 5 Emilio Penna
h4. Opción 2: usar el SessionInitiator del SP (la aplicación debe tener un botón de login que redirija a la página de inicio de sesión por defecto que tiene el SP, ubicada en /Shibboleth.sso/Login)
40 1
41 5 Emilio Penna
Se puede usar el mecanismo de "lazy session", donde para cierta página o location se indica que es "opcional" tener una sesión iniciada. En caso de que la haya, el SP carga las variables de entorno con los atributos informados por el IdP, para que estén accesibles para la aplicación.
42 1
43 1
44 1
Refs: 
45 1
46 1
https://aai-demo.switch.ch/lazy/
47 1
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPProtectContent
48 1
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPEnableApplication
49 1
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPSessionCreationParameters