Seguridad basada en Roles en Power Apps


En este artículo veremos cómo bloquear elementos con la seguridad basada en roles en Microsoft Power Apps para permitir incrementar la seguridad de nuestras aplicaciones.

En ocasiones necesitamos habilitar páginas y/o elementos (botones, paneles, controles en general) según políticas de seguridad. Por ejemplo, el control de Agregar Clientes o Modificar Límite de crédito sólo debe ser visible para Adminsitradores y/o gerentes.

Es ahí donde entra en juego esta funcionalidad que se divide en dos grandes configuraciones. La primera, en el portal de Azure y, la otra, en Power Apps.

Configuración en Azure

  1. En el portal de Azure, nos dirigimos a Grupos de Seguridad dentro de Microsoft Entra (antes llamado Azure Active Directory):

  2. Selecionamos la opción Grupo:

  3. Creamos un nuevo grupo:

  4. Colocamos los valores necesarios: Tener en cuenta que los propietarios y miembros son opcionales pero uno de ellos debe tener miembros para poder funcionar,

  5. Copiamos el elemento Object Id

  6. Listo, hemos terminado la configuración de Microsoft Azure

Desarrollo en Power Apps

  1. Agregar los conectores necesarios para el funcionamiento:

  2. Crear dos botones para las pruebas:

  3. En el Evento OnStart de la aplicación Canvas de Power Apps colocar el sigueinte código:

ClearCollect(AdminUsers,Office365Groups.ListGroupMembers("41474cce-cb2c-41f8-b66c-7c2d683c0dba").value);

If(User().Email in AdminUsers.mail ,Set(VerAdmin,true), Set(VerAdmin, false));

La clave guid dentro de CrearCollect es el Object Id que se copió del item 5 de la configuración de Azure

  1. En el paso anterior, se creó la variable VerAdmin entonces colocamos eso como la propiedad Visible del Button 2:

  2. Publicamos y probamos la App (con mi cuenta administrador):

  3. Probamos la misma aplicación con un usuario:

De esta manera, hemos visto cómo aplicar seguridad basada en roles en Microsoft Power Apps

¡Espero resulte de utilidad!


Ver también