✨ Asignación de Permisos a Aplicaciones en Microsoft Entra ID 🌐👥

✨ Asignación de Permisos a Aplicaciones en Microsoft Entra ID 🌐👥

Descubre cómo personalizar el acceso y mejorar la seguridad en tus aplicaciones .NET con roles personalizados en Azure AD.

Introducción

Como Arquitectos de Soluciones en Azure, es esencial comprender cómo asignar roles personalizados a aplicaciones registradas en Microsoft Azure AD. Esto no solo refuerza la seguridad sino que también permite una gestión de acceso más granular. En este post, exploraremos cómo esta capacidad puede ser una herramienta poderosa para mostrar o bloquear páginas en aplicaciones .NET, asegurando que solo los usuarios autorizados tengan acceso a información sensible.

¿Qué es este servicio?

Azure Active Directory (Azure AD) es un servicio de gestión de identidades y accesos basado en la nube de Microsoft. Permite a los desarrolladores asignar roles específicos a usuarios o grupos para controlar el acceso a los recursos en la nube. 🌐🔑 Con la funcionalidad de asignar roles personalizados a aplicaciones registradas, los arquitectos y desarrolladores pueden definir permisos precisos sobre quién puede ver o interactuar con ciertas partes de una aplicación .NET.

¿Qué cubrirá este post?

En este post, detallaremos paso a paso cómo registrar una aplicación en Azure AD, crear roles personalizados, y asignar estos roles a usuarios específicos. 🛠️💡 Abordaremos cómo utilizar estos roles para controlar el acceso a páginas específicas en aplicaciones .NET, asegurando que solo los usuarios con los permisos adecuados puedan acceder a ellas.

¿Por qué es importante para los arquitectos de soluciones?

Para los arquitectos de soluciones, comprender y aplicar correctamente la asignación de roles personalizados en Azure AD es crucial para la creación de aplicaciones seguras y eficientes. Permite una segmentación detallada del acceso a los recursos, lo que es fundamental en entornos empresariales donde diferentes usuarios necesitan diferentes niveles de acceso. 🛡️👥 Esta práctica no solo mejora la seguridad sino que también facilita la gestión de las aplicaciones y los datos.

¿Qué problemas puede resolver?

La asignación de roles personalizados puede resolver varios problemas de seguridad y gestión de acceso, como:

  • Prevención de Acceso No Autorizado: Asegura que solo los usuarios con los permisos necesarios puedan acceder a ciertas áreas de la aplicación. 🚫👤

  • Seguridad Mejorada: Minimiza el riesgo de exposición de datos sensibles a usuarios no autorizados. 🔒💼

  • Gestión de Acceso Flexible: Permite a los administradores ajustar fácilmente quién puede acceder a qué recursos, sin necesidad de cambiar el código de la aplicación. 🔄🔧

Ejercicio en Practica

  1. Vamos a la opcion Applications -> App registrations, luego hacemos clic en la aplicacion que hemos registrado.

  1. Luego vamos a la opción "App roles"

  1. En esta parte, hacemos clic en el boton "Create app role", esto con el fin de crear un rol personalizado que usaremos en la aplicación.

  1. Al hacer clic nos mostrará una página en donde colocaremos, el nombre del rol, a quien será aplicado y el valor del rol, para este ejemplo lo llenaremos con la siguiente información.

  1. Ahora vamos a la opción "Enterprise applications"

  1. Luego vamos a la opción "All applications", luego hacemos click en la aplicación que hemos registrado y usado para este ejemplo

  1. Luego vamos a la opcíón "Users and groups" y hacemos clic en el boton "Add user/group"

  1. En esta parte vamos a relacionar a un usuario con un rol para poder darle acceso al modulo a este usuario. Hacemos clic en los links "None Selected" de Users y Select a role.

  1. Cuando hacemos clic en "Users" elegimos el usuario que deseemos.

  1. Luego en Roles, le asignaremos el rol que acabamos de crear.

  1. Aqui vemos que ya estan relacionados el usuario y el rol.

  1. Vemos que ya el usuario tiene el rol asignado para esta aplicación.

  1. En nuestro controlador de la pagina de mascotas tendremos que agregar esta linea para que solo usuarios con el rol "user.mascotas" tengan acceso al modulo

  1. En el archivo Program.cs debe quedar configurado de esta manera para que pueda funcionar la authenticación. Puede ver mas información en este link
    https://learn.microsoft.com/en-us/entra/external-id/customers/tutorial-web-app-dotnet-sign-in-prepare-app

  1. Vemos que cuando iniciamos sesión con el usuario que tiene el rol se muestra el modulo.

  1. Pero vemos que el usuario que no tiene el rol, se le niega el acceso.

Consideraciones finales

La asignación de roles personalizados a aplicaciones registradas en Azure AD es una herramienta poderosa para mejorar la seguridad y la gestión del acceso en aplicaciones .NET. 🌟🛡️