Controlando el acceso a mi sitio web con autorizaciones mediante ADFS

Este post es parte de una serie de artículos complementarios a la VAN sobre Identity Providers.

Escenario

Para decidir cual usuario ingresa y cual no a una aplicación debemos configurarlo en ADFS, es decir que si el usuario no tiene autorización para ingresar a la aplicación, ADFS nunca va a redireccionar nuevamente al sitio que lo invocó.

Configurando ADFS

Lo que debemos configurar se llama “Issuance Authorization Rule” y lo encontramos entre las “Claims Rule” en la consola de ADFS. debemos crear una que emita un token de cuyo type debe ser: “http://schemas.microsoft.com/authorization/claims/permit” y, en caso de que tenga el acceso permitido, el valor de dicho claim debe ser “true”.

Ejemplo de Authorization Rule

autorizando-adfs-1   autorizando-adfs-2

Si vemos un caso donde se permita la entrada a todos los usuarios (el valor por defecto), veremos que se trata de una rule como la siguiente:

=> issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");

mientras que si controlamos el acceso, vamos a tener algo mas parecido a:

c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"]
=> issue(store = "AttributeStore", types = ("http://schemas.microsoft.com/authorization/claims/permit"), query = "EXEC sp_Is_Allow_Access {0}, {1}", param = c.Value, param = "https://testigomvc.neluz.int/");

en este caso estamos invocando al stored procedure “sp_Is_Allow_Access” mediante la conexión configurada en “AttributeStore” con el nombre del usuario autenticado (c.value) y con el identificador de la aplicación en cuestión: “https://testigomvc.neluz.int/” como parámetros. Si este stored procedure devuelve un registro con el valor “true” entonces se permitirá el acceso, en caso contrario se denegará.

De esta manera y sin cambiar nada en nuestra aplicación controlamos quien puede ingresar y quien no.

Seguir leyendo otros artículos de la serie

No hay comentarios.:

Publicar un comentario