Definición del esquema de autorización
9 Tareas
30 minutos
Escenario
La organización Front Stage desea implementar los siguientes requerimientos de seguridad:
- Solo los ejecutivos de ventas y gerentes ejecutivos pueden ver información financiera.
- Un ejecutivo de ventas puede trabajar en los casos creados por otros ejecutivos de ventas. Sin embargo, un ejecutivo de ventas no puede acceder al caso de un colega para un evento con más de 10 000 asistentes.
- Los gerentes de eventos solo pueden trabajar en los casos asignados a ellos. Sin embargo, el líder del equipo de gerentes de un evento puede trabajar en los casos asignados a cualquier gerente de evento.
- Los coordinadores de instalaciones solo pueden ver y trabajar en los casos asignados a ellos.
- Los oficiales ejecutivos pueden ver los casos de todo el ciclo de vida y crear nuevos reportes personalizados.
La estructura organizacional de Front Stage para la planificación de eventos se muestra en la siguiente imagen:
La siguiente tabla incluye las credenciales que necesita para completar el reto.
Función | Nombre de usuario | Contraseña |
---|---|---|
Administrador | Admin@Booking | reglas |
La siguiente tabla ofrece una lista de usuarios de muestra que están disponibles para pruebas.
Department | Función | Nombre de usuario | Contraseña |
---|---|---|---|
Ejecutivos | Oficial ejecutivo y CEO | CEO@Booking | reglas |
Ventas | Ejecutivo de ventas | SalesExecutive1@Booking | reglas |
Ventas | Ejecutivo de ventas | SalesExecutive2@Booking | reglas |
Instalación | Coordinador de instalaciones especializado en estacionamiento | FacilityCoordinator1@Booking | reglas |
Instalación | Coordinador de instalaciones especializado en preparación para el clima | FacilityCoordinator2@Booking | reglas |
Instalación | Coordinador de instalaciones especializado en preparación para el clima y estacionamiento | FacilityCoordinator3@Booking | reglas |
EventManagers | Gerente de evento y líder del equipo | EventManager1@Booking | reglas |
EventManagers | Gerente de evento | EventManager2@Booking | reglas |
EventManagers | Gerente de evento | EventManager3@Booking | reglas |
Diseñe e implemente el esquema de autorización para cumplir con los requerimientos.
- Identifique los roles y grupos de acceso.
- Implemente los requerimientos anteriores.
Tareas detalladas
1 Revisar los detalles de la solución
Crear unidades
Agregue las siguientes unidades:
Unidad de organización |
---|
Ejecutivos |
EventManagers |
Instalaciones |
Ventas |
Crear operadores y asignar habilidades
Crear/actualizar habilidades
Agregue el CEO, líder de equipo, estacionamiento, habilidades de clima con un rango bajo-alto de 1 a 10.
Cree a los operadores con el grupo de acceso del gerente y el grupo de acceso predeterminado.
Nombre de usuario |
SalesExecutive1@Booking |
SalesExecutive2@Booking |
Para cada uno de los siguientes operadores, actualice las habilidades y calificaciones de los operadores definidos en la tabla:
Nombre de usuario | Habilidad(es) y calificación |
---|---|
CEO@Booking | CEO (5), líder de equipo (5) |
FacilityCoordinator1@Booking | Estacionamiento (5) |
FacilityCoordinator2@Booking | Clima (5) |
FacilityCoordinator3@Booking | Estacionamiento (5), clima (5) |
EventManager1@Booking | Líder de equipo (5) |
Asignar roles y grupos de acceso
Roles generados por el sistema
El asistente de nueva aplicación crea un rol Booking:Administrator / Booking:Authors y dos roles de usuario: Booking:User y Booking:Manager.
Los usuarios con el rol Booking:User pueden abrir cualquier caso en la aplicación y realizar cualquier asignación. El rol Booking:Manager ofrece la capacidad de crear y actualizar informes, reglas delegadas y grupos de trabajo.
Verificar los grupos de acceso de Booking
Cree y configure roles y grupos de acceso para cada departamento, ya que el acceso se otorga según el departamento.
Cuando la aplicación Reserva de eventos se desarrolló por primera vez, es posible que se hayan creado los siguientes grupos de acceso. De ser así, es posible que los nombres de los grupos de acceso no cumplan con las convenciones de nomenclatura de Pega. Cámbiele los nombres, según sea necesario, usando la información en la siguiente tabla.
Nombre de grupo de acceso del POC | Nuevo nombre de grupo de acceso |
---|---|
Booking:FacilityCoordinator | Booking:Facilities |
Para cambiar el nombre de los grupos de acceso existentes, realice los siguientes pasos:
- Desde el sistema de ejercicios, regístrese como administrador@Booking.
- En el menú de Dev Studio, haga clic en System > Configure > Refactor > Rules (Sistema > Configurar > Refactorizar > Reglas) y abra el asistente Search/Replace a String (Buscar/reemplazar una cadena).
- Seleccione Search/Replace a String.
- En el campo Original String Value (Valor de cadena original), ingrese Booking:FacilityCoordinator.
- En el campo New String Value (Nuevo valor de cadena), ingrese Booking:Facilities.
- Configure Limit search to RuleSets in my RuleSet list? (¿Desea limitar la búsqueda a los rulesets en la lista Mis ruleset?) en No.
- En la sección Select RuleSet Scope (Seleccionar alcance de ruleset), seleccione el ruleset Booking .
- Haga clic en Next (Siguiente) para mostrar un reporte que muestre la cantidad de registros con ocurrencias y ocurrencias encontradas.
- Haga clic en Next (Siguiente) para mostrar un reporte que muestre las reglas seleccionables disponibles que tienen referencias a la clase que se está refactorizando.
- En el encabezado del reporte, seleccione el checkbox Rule Type (Tipo de regla) para seleccionar todos los registros.
- Opcional: Export to Excel (Exportar a Excel) para mantener un registro de los registros afectados.
- Seleccione Finish (Finalizar) para mostrar una confirmación de que el proceso de refactorización está completo, y se muestra un reporte de las instancias de datos y reglas que no se refactorizaron.
- Opcional: Export Page to Excel (Exportar página a Excel) o Review Log (Revisar registro).
- Haga clic en Done (Listo).
- En el grupo de acceso Booking:Facilities, haga clic en Save as (Guardar como) para crear tres grupos de acceso más:
Grupo de acceso Booking:Executives Booking:Sales Booking:EventManagers
Crear roles de Reserva de eventos
Cree los siguientes roles para cada departamento, ya que los permisos y privilegios se otorgan según el departamento. Guarde los roles en el ruleset del evento.
Identificador de nombre de rol | Label | Depende de |
---|---|---|
Booking:Executive | Ejecutivo | PegaRULES:WorkMgr4 |
Booking:SalesExecutive | Ejecutivo de ventas | PegaRULES:WorkMgr4 |
Booking:EventManager | Gerente de evento | PegaRULES:WorkMgr4 |
Booking:FacilityCoordinator | Coordinador de instalaciones | PegaRULES:WorkMgr4 |
Asignar roles a los grupos de acceso de Reserva de eventos
Asigne los siguientes roles a los grupos de acceso renombrados. Quite todos los demás roles.
Grupo de acceso | Roles |
---|---|
Booking:Executives | Booking:Executive, Booking:Manager, Booking:User, PegaRULES:PegaAPI |
Booking:Sales | Booking:SalesExecutive, Booking:User, PegaRULES:PegaAPI |
Booking:Facilities | Booking:FacilityCoordinator, Booking:User, PegaRULES:PegaAPI |
Booking:EventManagers | Booking:EventManager, Booking:User, PegaRULES:PegaAPI |
Crear grupos de trabajo de Reserva de eventos
Cree los siguientes grupos de trabajo para cada departamento porque el trabajo suele asignárseles a ellos. Guarde los grupos de trabajo en el ruleset del evento. Además, agregue a los gerentes autorizados, llamados administradores@Booking y autores@Booking en cada grupo de trabajo.
Identificador de grupo de trabajo | Descripción | Gerente | Cesta de trabajo predeterminada |
---|---|---|---|
Ejecutivos@FSG | Ejecutivos de FSG | CEO@Booking | Booking:Executives |
Ventas@FSG | Ventas de FSG | SalesExecutive1@Booking | Booking:Sales |
EventManagers@FSG | Gerentes de evento de FSG | EventManager1@Booking | Booking:EventManagers |
Instalaciones@FSG | Coordinadores de instalaciones de FSG | FacilityCoordinator1@Booking | Booking:Facilities |
Crear/actualizar cestas de trabajo de Reserva de eventos
Cree o actualice las siguientes cestas de trabajo:
Cesta de trabajo | Unidad de organización | Grupo de trabajo | Función |
---|---|---|---|
Booking:Executives | Ejecutivos | Ejecutivos@FSG | Booking:Executive |
Booking:EventManagers | EventManagers | EventManagers@FSG | Booking:EventManager |
Booking:Facilities | Instalaciones | Instalaciones@FSG | Booking:FacilityCoordinator |
Booking:Sales | Ventas | Ventas@FSG | Booking:SalesExecutive |
Actualizar para los operadores
Para cada uno de los siguientes operadores, actualice la unidad, los grupos de trabajo y el grupo de acceso predeterminado:
Id. de operador | Grupo de trabajo predeterminado | Grupo de acceso predeterminado | Unidad |
---|---|---|---|
CEO@Booking | Ejecutivos@FSG | Booking:Executives | Ejecutivos |
SalesExecutive1@Booking | Ventas@FSG | Booking:Sales | Ventas |
SalesExecutive2@Booking | Ventas@FSG | Booking:Sales | Ventas |
FacilityCoordinator1@Booking | Instalaciones@FSG | Booking:Facilities | Instalaciones |
FacilityCoordinator2@Booking | Instalaciones@FSG | Booking:Facilities | Instalaciones |
FacilityCoordinator3@Booking | Instalaciones@FSG | Booking:Facilities | Instalaciones |
EventManager1@Booking | EventManagers@FSG | Booking:EventManagers | EventManagers |
EventManager2@Booking | EventManagers@FSG | Booking:EventManagers | EventManagers |
EventManager3@Booking | EventManagers@FSG | Booking:EventManagers | EventManagers |
2 Permitir el acceso de oficiales ejecutivos a los casos en todo el ciclo de vida de la reserva de evento
Para permitirles a los oficiales ejecutivos ver los casos en todo el ciclo de vida, edite los Id. de operador y realice los siguientes pasos:
- Abra el registro de Id. de operador del CEO@Booking.
- En la pestaña Work (Trabajo), en la sección Routing (Enrutamiento), realice los siguientes pasos:
- Agregue los siguientes grupos de trabajo: Ejecutivos@FSG, Ventas@FSG, Gerentes de evento@FSG e Instalaciones@FSG.
- Especifique Ejecutivos@FSG como el valor predeterminado. La sección completada se asemeja a la siguiente imagen.
- Abra el grupo de acceso Booking:Executives.
-
En la pestaña Definition (Definición), agregue los siguientes roles disponibles: Booking:Executive, Booking:SalesExecutive, Booking:EventManager, Booking:FacilityCoordinator, Booking:Manager, Booking:User y PegaRULES:PegaAPI.
El grupo de acceso completado debería asemejarse a la siguiente imagen:
-
Guarde el grupo de acceso Ejecutivo.
Actualizar el enrutamiento de tipo de caso Reserva de eventos
- Desde Case Explorer (Explorador de casos), abra el tipo de caso Reserva de eventos.
- En la etapa Manage Event, abra el proceso Hotels (Hoteles).
- Abra el panel de propiedades de asignación Search Hotels (Buscar hoteles) y verifique que Specific user (Usuario específico) está configurado como EventManager , como se muestra en la siguiente imagen.
Actualizar enrutamiento de tipo de caso Estacionamiento
- Desde Case Explorer (Explorador de casos), abra el tipo de caso Estacionamiento.
- En la etapa Search Parking , abra el proceso Search Parking.
- Abra el panel de propiedades de asignación SearchParkingLocations y verifique la siguiente configuración:
Campo Configuración Enrutar a Personalizada Tipo de asignación Lista de trabajo Enrutador ToLeveledGroup Grupo de trabajo Instalaciones@FSG Habilidad Estacionamiento - En la etapa Reporting , abra el proceso Reporting.
- Abra el panel de propiedades de asignación Enter Number of Cars Parked y verifique la siguiente configuración:
Campo Configuración Enrutar a Personalizada Tipo de asignación Lista de trabajo Enrutador ToWorkParty Parte FacilityCoordinator - En la etapa Search Parking , abra el proceso Search Parking.
- Abra la acción de flujo SearchParkingLocations.
- En la acción de flujo, en la pestaña Action (Acción), en la sección Post-processing (Posprocesamiento), ingrese la siguiente información:
Campo Configuración Ejecutar actividad addWorkObjectParty Parámetro PartyRole Coordinador de instalaciones Parámetro PartyClass Data-Party-Operator Parámetro PartyModel CurrentOperator Los ajustes Run activity realizados se muestran en la siguiente imagen:
Actualizar enrutamiento de tipo de caso Clima
-
En el proceso Forecast de la etapa Preparation , abra el panel de propiedades de asignación Track Preparation y verifique que esté configurado con la siguiente información:
Campo Configuración Enrutar a Personalizada Tipo de asignación Lista de trabajo Enrutador ToLeveledGroup Grupo de trabajo Instalaciones@FSG Habilidad Clima -
En el proceso Resolve Weather Prep de la etapa Resolve , abra el panel de propiedades de asignación Teardown y verifique que esté configurado con la siguiente información:
Campo Configuración Enrutar a Personalizada Tipo de asignación Lista de trabajo Enrutador ToLeveledGroup Grupo de trabajo Instalaciones@FSG Habilidad Clima
3 Habilite la seguridad de control de acceso basado en atributos
Use el control de acceso basado en atributos (ABAC) para configurar su esquema de autorización.
Limite el acceso a información financiera con ABAC
Para restringir el acceso a información financiera como se describe en el escenario, debe:
- Cree registros de decisión de acceso de SalesExecutive y ExecutiveOfficer para probar si un operador pertenece al grupo de acceso de ejecutivos de ventas o de oficiales ejecutivos.
- Cree una condición de políticas de control de acceso de SalesAndExecutives que haga referencia a los nuevos registros de decisión de acceso.
- Cree una política de control de acceso de propiedades de lectura RestrictFinancialInformation que haga referencia a la nueva condición de política de control de acceso. Los usuarios definidos en la condición de política de control de acceso SalesAndExecutives pueden ver las propiedades .Profit , .Totalcost, .TotalPrice, .DiscountPercentage, .PricingDisplay.EventPrice, .PricingDisplay.HotelServicePrice.
Crear registros de decisión de acceso de SalesExecutive y ExecutiveOfficer
- En Records Explorer (Explorador de registros), expanda la categoría Security (Seguridad).
- Seleccione el tipo de registro Access When (Decisión de acceso).
- Haga clic en Create (Crear).
- En el formulario de registro nuevo, ingrese la siguiente información:
Campo Configuración Label Ejecutivo de ventas Aplicar a FSG-Booking-Work-BookEvent Agregar al ruleset Evento - Haga clic en Create and open (Crear y abrir) para crear el nuevo registro de decisión de acceso.
- En la pestaña Conditions (Condiciones), ingrese la siguiente expresión When (Decisión):
pxThread.pxCurrentAccessGroup = "Booking:Sales".
La pestaña Conditions (Condiciones) se asemeja a la siguiente imagen:
- Guarde el nuevo registro de decisión de acceso de SalesExecutive.
- Repita los pasos 1 a 4.
- En el formulario de registro nuevo, ingrese la siguiente información.
Campo Configuración Label Oficial ejecutivo Aplicar a FSG-Booking-Work-BookEvent Agregar al ruleset Evento - Haga clic en Create and open (Crear y abrir) para crear el nuevo registro de decisión de acceso.
- En la pestaña Conditions (Condiciones), ingrese la siguiente expresión When (Decisión):
pxThread.pxCurrentAccessGroup = "Booking:Executives"
La pestaña Conditions (Condiciones) se asemeja a la siguiente imagen:
- Guarde el nuevo registro de decisión de acceso de ExecutiveOfficer.
Nota: Cree un registro de decisión de acceso de BookingAdministrator con pxThread.pxCurrentAccessGroup = "Booking:Authors" o especifique el grupo de acceso requerido en la expresión, para que pueda continuar editando y viendo las propiedades restringidas como administrador@Booking o cualquier otro operador autor (administrador).
Crear una condición de política de control de acceso SalesAndExecutives
- Abra el Explorador de registros.
- Expanda la categoría Security (Seguridad).
- Seleccione los tipos de registros de Access Control Policy Condition (Condición de política de control de acceso).
- Haga clic en Create (Crear).
-
En el formulario de registro nuevo, ingrese la siguiente información:
Campo Configuración Label Ventas y ejecutivos Aplicar a FSG-Booking-Work-BookEvent Agregar al ruleset Evento - Haga clic en Create and open (Crear y abrir) para crear la nueva condición de política de control de acceso de SalesAndExecutives.
- En la pestaña Definition (Definición) de la condición de política de control de acceso, en la sección Conditional Logic (Lógica condicional), agregue los registros de decisión de acceso de ExecutiveOfficer y SalesExecutive que creó.
- Opcional: en la sección Policy Conditions (Condiciones de políticas), especifique una condición que siempre resulte falsa para garantizar que el acceso solo se proporcione si una regla de decisión de acceso se evalúa como verdadera.
- Guarde el nuevo registro de condición de política de control de acceso de SalesAndExecutives.
Nota: Agregue una condición de decisión de acceso de BookingAdministrator para que pueda continuar editando y visualizando las propiedades restringidas como administrador@Booking.
La pestaña Definition (Definición), una vez completa, se asemeja a la siguiente imagen:
Crear una política de control de acceso de RestrictFinancialInformation
- Abra el Explorador de registros.
- Expanda la categoría Security (Seguridad).
- Seleccione los tipos de registros Access Control Policy (Política de control de acceso).
- Haga clic en Create (Crear).
-
En el formulario de registro nuevo, ingrese la siguiente información:
Campo Configuración Label Restringir información financiera Acción PropertyRead Aplicar a FSG-Booking-Work-BookEvent Agregar al ruleset Reserva - Haga clic en Create and open (Crear y abrir) para crear la nueva política de control de acceso de RestrictFinancialInformation.
- En la pestaña Definition (Definición) de la política de control de acceso, en el campo Permit access if (Permitir acceso si), ingrese la condición de política de control de la política de SalesAndExecutives que creó.
- Agregue las propiedades .Profit , .Totalcost, .TotalPrice, .DiscountPercentage, .PricingDisplay.EventPrice, .PricingDisplay.HotelServicePrice. Para todas las propiedades, use los dígitos Mask with N (Enmascarar con N) como Método de restricción.
La pestaña Definition (Definición), una vez completa, se asemeja a la siguiente imagen:
- Guarde el nuevo registro de política de control de acceso RestrictFinancialInformation.
4 Restricción del acceso a casos de Reserva de eventos con ABAC
Para restringir el acceso a los casos de Reserva de eventos como se describe en el escenario:
- Cree el registro de decisión de acceso de EventManager para probar si un operador está en el grupo de acceso de EventManager.
- Cree el registro de decisión de acceso de TeamLeadEventManager para probar si un operador está en el grupo de acceso de gerente de eventos y tiene una habilidad de líder de equipo.
- Configure las propiedades usadas en la condición de política de control de acceso para usarlas en búsquedas y reportes.
- Cree una condición de política de control de acceso de HasEventReadAccess que haga referencia a las nuevas condiciones de decisión de acceso e incluya las condiciones de políticas y los permisos de acceso.
- Cree una política de control de acceso de RestrictEventAccess que haga referencia a la nueva condición de política de control de acceso.
Crear registros de decisión de acceso de EventManager y TeamLeadEventManager
Realice los siguientes pasos para crear el registro de decisión de acceso de EventManager para probar si un operador pertenece al grupo de acceso de EventManagers.
- Desde Records Explorer (Explorador de registros), expanda la categoría Security (Seguridad).
- Seleccione los tipos de registro Access When (Decisión de acceso).
- Haga clic en Create (Crear).
- En el formulario de reglas nuevo, ingrese la siguiente información:
Campo Configuración Label Gerente de evento Aplicar a FSG-Booking-Work-BookEvent Agregar al ruleset Evento - Haga clic en Create and open (Crear y abrir) para crear el registro de decisión de acceso de EventManager.
-
En la pestañaConditions , ingrese la siguiente expresión When (Decisión):
pxThread.pxCurrentAccessGroup = "Booking:EventManagers".
La pestaña Conditions (Condiciones) se asemeja a la siguiente imagen:
- Guarde el nuevo registro de decisión de acceso de EventManager.
Realice los siguientes pasos para crear el registro de decisión de acceso TeamLeadEventManager para probar si un operador pertenece al grupo de acceso de gerentes de evento y tiene la habilidad de líder de equipo.
- Desde Records Explorer (Explorador de registros), expanda la categoría Security (Seguridad).
- Seleccione los tipos de registro Access When (Decisión de acceso).
- Haga clic en Create (Crear).
- En el formulario de reglas nuevo, ingrese la siguiente información.
Campo Configuración Label Gerente de evento y líder de equipo Aplicar a FSG-Booking-Work-BookEvent Agregar al ruleset Evento - Haga clic en Create and open (Crear y abrir) para crear el registro de decisión de acceso de TeamleadEventManager.
-
En la pestaña Conditions (Condiciones), use la siguiente expresión When (Decisión):
pxThread.pxCurrentAccessGroup = "Booking:EventManagers" AND function @IsInPageList("TeamLead","pySkillName",OperatorID.pySkills) .La pestaña Conditions (Condiciones) se asemeja a la siguiente imagen.
- Guarde el nuevo registro de decisión de acceso de TeamLeadEventManager.
Configurar las propiedades de condición de política de control de acceso
Antes de poder configurar la nueva condición de política de control de acceso HasEventReadAccess, realice las siguientes acciones:
- Crear una nueva propiedad EventManager y asignar un valor
- Optimizar las propiedades .EventManager y .NumAttendees para la generación de reportes
- Hacer que NumAttendees sea una propiedad de búsqueda que pueda filtrarse
Crear una nueva propiedad EventManager y asignar un valor
- Crear una nueva propiedad de tipo de texto EventManager en la clase FSG-Booking-Work-BookEvent
- Cree un nuevo nombre de data transform PopulateEventManager para completar EventManager desde .pyAssignedOperator, como se muestra en la siguiente imagen:
- Actualice la acción de flujo ManagerAssignment agregando el data transform PopulateEventManager en el posprocesamiento, como se muestra en la siguiente imagen:
Optimizar las propiedades de EventManager y NumberOfAttendee
En App Explorer, haga clic con el botón secundario en las siguientes propiedades y seleccione Optimize for reporting.
- (FSG-Booking-Work-BookEvent) EventManager
- (FSG-Booking-Work-BookEvent) NumberOfAttendees
Hacer que NumAttendees sea una propiedad de búsqueda que pueda filtrarse
- En el encabezado del encabezado de Dev Studio, haga clic en Create > SysAdmin > Custom Search Properties (Crear > Administrador del sistema > Propiedades de búsqueda personalizadas).
- En el campo Class Name (Nombre de clase), ingrese FSG-Booking-Work-BookEvent.
- Haga clic en Create and open (Crear y abrir).
- En el encabezado de registro, configure Associated RuleSet (Ruleset asociado) en Event.
- Seleccione el checkbox Use dedicated index .
- Guarde el botón del formulario de regla,
- Click on Create dedicated index que está disponible solo en Save (Guardar) del formulario de regla.
- En la pestaña Definition (Definición) de las propiedades de búsqueda personalizadas, seleccione la propiedad FSG-Booking-Work-BookEvent.
- Haga clic en Add (Agregar) para abrir el cuadro de diálogo Property Configurations (Configuraciones de propiedad).
- En el cuadro de diálogo Property Configurations (Configuraciones de propiedad), seleccione la propiedad NumAttendees.
- Haga clic en Submit (Enviar) para guardar sus actualizaciones y cierre el cuadro de diálogo.
-
Expanda FSG-Booking-Work-BookEvent.
-
Seleccione el cuadro de verificación Include in search results (Incluir en resultados de búsqueda).
La pestaña Definition (Definición), completada en el registro de propiedades de búsqueda personalizada, se ve de la siguiente manera:
- Guarde el registro de propiedades de búsqueda personalizada FSG-Booking-Work-BookEvent • pySearch.
5 Configurar la condición de política de control de acceso de HasEventReadAccess
- En Records Explorer (Explorador de registros), expanda la categoría Security (Seguridad).
- Seleccione los tipos de registros de Access Control Policy Condition (Condición de política de control de acceso).
- Haga clic en Create (Crear).
- En el formulario de reglas nuevo, ingrese la siguiente información:
Campo Configuración Label Tiene acceso de lectura de evento Aplicar a FSG-Booking-Work-BookEvent Agregar al ruleset Evento - Haga clic en Create and open (Crear y abrir) para crear la condición de política de control de acceso HasEventReadAccess.
- En la pestaña Pages & Classes (Páginas y clases), agregue el OperatorID de Page name (Nombre de página) usando la clase Data-Admin-Operator-ID.
- En la pestaña Definition , realice lo siguiente:
- en la sección Conditional Logic , agregue los registros de decisión de acceso TeamLeadEventManager, EventManager y SalesExecutive que creó como condiciones.
-
En la sección Policy Conditions (Condiciones de política), especifique las siguientes condiciones. Condition D (Condición D) siempre resulta verdadera para garantizar que no se evite el acceso si ninguna de las reglas de decisión de acceso se evalúa como verdadera.
Condición Origen de la columna Relación Valor A .NumberOfAttendees es inferior a 10000 B .pxCreateOperator Es igual a OperatorID.pyUserIdentifier C .EventManager Es igual a OperatorID.pyUserIdentifier D .pxCreateOperator No es nulo La pestaña Definition (Definición), completada en el registro de condiciones de políticas de control de acceso, se ve de la siguiente manera:
- Guarde la condición de política de control de acceso HasEventReadAccess.
Crear la política de control de acceso RestrictEventAccess
En el tipo de caso Event Booking (Reserva de evento), cree una política de control de acceso con una acción de lectura, para restringir el acceso a los casos de Event Booking.
- Abra el Explorador de registros.
- Expanda la categoría Security (Seguridad).
- Seleccione los tipos de registros Access Control Policy (Política de control de acceso).
- Haga clic en Create (Crear).
- En el formulario de reglas nuevo, ingrese la siguiente información:
Campo Configuración Label Restringir acceso al evento Aplicar a FSG-Booking-Work-BookEvent Agregar al ruleset Evento Acción Leer - Haga clic en Create and open (Crear y abrir) para abrir la nueva política de control de acceso RestrictEventAccess.
-
En el campo Permit access if (Permitir acceso si), ingrese la condición de política de control de acceso HasEventReadAccess que creó.
La política de control de acceso Read • RestrictEventAccess completada se muestra en la siguiente imagen:
- Guarde la política de control de acceso RestrictEventAccess.
Restringir el acceso a casos de instalaciones
Puede restringir la apertura de casos Facility (Instalaciones) usando el control de acceso basado en el rol. Para hacerlo, abra el tipo de caso Facility (Instalaciones) y use Access Manager para configurar el impedimento de acceso a Perform (Ejecutar).
6 Confirme su trabajo
- Cierre sesión como administrador@Booking.
- Inicie sesión como usuario@Booking y cree un nuevo caso de Event Booking (Reserva de evento). Tenga en cuenta que los campos .Profit , .Totalcost, .TotalPrice, .DiscountPercentage están enmascarados y son de solo lectura.
- Cierre sesión.
-
Inicie sesión como SalesExecutive1@Booking y cree un nuevo caso de Event Booking (Reserva de evento). Tenga en cuenta que los campos .Profit , .Totalcost, .TotalPrice, .DiscountPercentage, .PricingDisplay.EventPrice, .PricingDisplay.HotelServicePrice no están enmascarados y son editables.
- Cree dos casos de Event Booking (Reserva de eventos):
- Uno con menos de 10.000 asistentes y otro
- Uno con más de 10.000 asistentes.
No complete el paso de aprobación del cliente en ningún caso.
- Cierre sesión.
- Inicie sesión como SalesExecutive2@Booking y cambie al portal de gerente de casos y realice lo siguiente:
- En el dashboard, seleccione Sales Executive 1 (Ejecutivo de ventas 1) en la sección Team members (Miembros del equipo) para ver los casos abiertos de SalesExecutive1@Booking.
- Seleccione Customer Approval (Aprobación del cliente) para el caso con menos de 10.000 asistentes. Como resultado, puede trabajar en el caso.
- Seleccione Customer Approval (Aprobación del cliente) para el caso con más de 10.000 asistentes. Se muestra el siguiente mensaje de error: Access Control Policy denied access for class FSG-Booking-Work-BookEvent and action Open.
- Cierre sesión.
- Inicie sesión como EventManager2@Booking. Cambie al portal de gerente de casos y realice lo siguiente:
- En el dashboard, seleccione Event Manager 1 (Gerente de evento 1) en la sección Team members (Miembros del equipo) para ver casos abiertos de EventManager1@Booking.
- Seleccione Approve Assignment (Aprobar asignación) para cualquier caso enumerado. Como resultado, debe recibir un mensaje de error: “La política de control de acceso rechazó el acceso para la clase FSG-Booking-Work-BookEvent y la acción Open (Abierto)”.
- Cierre sesión.
- Inicie sesión como EventManager1@Booking. Cambie al portal de gerente de casos y realice lo siguiente.
- En el dashboard, seleccione Event Manager 2 (Gerente de evento 2) en la sección Team members (Miembros del equipo) para ver casos abiertos de EventManager2@Booking.
- Seleccione Approve Assignment (Aprobar asignación) para cualquier caso enumerado. Como resultado, puede trabajar en el caso seleccionado.
7 Enfoques alternativos
Se presentan los siguientes enfoques alternativos. No es necesario desarrollarlos. Las instrucciones detalladas proporcionadas son una guía en caso de que quiera experimentar usando el control de acceso basado en roles (RBAC) para restringir el acceso a casos de Event Booking (Reserva de eventos) o restringir el acceso a asignaciones de instalaciones usando ABAC.
Restringir el acceso a información financiera
No hay enfoques alternativos para restringir el acceso a la información financiera.
Restringir el acceso a casos de eventos usando RBAC
Cree un rol para los eventos y agréguelo a grupos de acceso adecuados. Use Access Manager para crear un registro de acceso del rol al objeto con un registro de decisión de acceso que defina las restricciones.
Restricción del acceso a casos de Event Booking (Reserva de eventos): comparación entre RBAC y ABAC
La siguiente tabla describe los pros y los contras de cada enfoque.
Diseño | Pros | Contras |
---|---|---|
Control de acceso basado en atributos | Fácil de configurar | No se muestra en Access Manager |
Control de acceso basado en roles | Se muestra en Access Manager | Requiere un rol adicional |
Restringir el acceso a asignaciones de instalaciones usando ABAC (opcional)
- Para la clase Assign-Worklist, cree una condición de decisión de acceso llamada FacilityCoordinator en el ruleset Event (Evento).
-
En la pestaña Conditions (Condiciones), use la siguiente expresión When... (Decisión):
pxThread.pxCurrentAccessGroup = "Booking:Facilities"
La pestaña Conditions (Condiciones) debe asemejarse a la siguiente imagen:
- Para la clase Assign-Worklist, cree una nueva condición de política de control de acceso FacilityCaseAssignedToMe en el ruleset Event (Evento).
- En la pestaña Pages & Classes (Páginas y clases) del registro de condición de política de control de acceso, ingrese OperatorID en el campo Page name (Nombre de página) e ingrese Data-Admin-Operator-ID en el campo Class (Clase).
-
En la pestaña Definition (Definición), verifique si el usuario es coordinador de instalaciones y compruebe si el caso está asignado a ese usuario. Para todos los demás, otorgue el acceso.
La configuración de la pestaña Definition (Definición) se muestra en la siguiente imagen: - Para la clase Assign-Worklist, cree una política de control de acceso RestrictFacilityCases en el ruleset EventBooking. Configure Action to Read (Acción de lectura) para restringir a otros coordinadores de instalaciones para que no puedan abrir la asignación y realizar el trabajo.
-
En el campo Permit access if (Permitir acceso si), ingrese la condición de política de control de acceso FacilityCaseAssignedToMe que creó.
La política de control de acceso debería verse como la siguiente imagen:
Restricción del acceso a asignaciones de instalaciones: comparación entre RBAC y ABAC
La siguiente tabla describe los pros y los contras de cada enfoque.
Diseño | Pros | Contras |
---|---|---|
Control de acceso basado en atributos | Fácil de configurar | No se muestra en Access Manager |
Control de acceso basado en roles | Se muestra en Access Manager | Requiere un rol adicional |
8 Revisar opciones alternativas
Se presentan los siguientes enfoques alternativos. No es necesario desarrollarlos. Las instrucciones detalladas proporcionadas son una guía en caso de que quiera experimentar usando el control de acceso basado en roles (RBAC) para restringir el acceso a casos de Event Booking (Reserva de eventos) o restringir el acceso a asignaciones de instalaciones usando ABAC.
Restringir el acceso a información financiera
No hay enfoques alternativos para restringir el acceso a la información financiera.
Restringir el acceso a casos de eventos usando RBAC
Cree un rol para los eventos y agréguelo a grupos de acceso adecuados. Use Access Manager para crear un registro de acceso del rol al objeto con un registro de decisión de acceso que defina las restricciones.
Restricción del acceso a casos de Event Booking (Reserva de eventos): comparación entre RBAC y ABAC
La siguiente tabla describe los pros y los contras de cada enfoque.
Diseño | Pros | Contras |
---|---|---|
Control de acceso basado en atributos | Fácil de configurar | No se muestra en Access Manager |
Control de acceso basado en roles | Se muestra en Access Manager | Requiere un rol adicional |
Restringir el acceso a asignaciones de instalaciones usando ABAC (opcional)
- Para la clase Assign-Worklist, cree una condición de decisión de acceso llamada FacilityCoordinator en el ruleset Event (Evento).
-
En la pestaña Conditions (Condiciones), use la siguiente expresión When... (Decisión):
pxThread.pxCurrentAccessGroup = "Booking:Facilities"
La pestaña Conditions (Condiciones) debe asemejarse a la siguiente imagen:
- Para la clase Assign-Worklist, cree una nueva condición de política de control de acceso FacilityCaseAssignedToMe en el ruleset Event (Evento).
- En la pestaña Pages & Classes (Páginas y clases) del registro de condición de política de control de acceso, ingrese OperatorID en el campo Page name (Nombre de página) e ingrese Data-Admin-Operator-ID en el campo Class (Clase).
-
En la pestaña Definition (Definición), verifique si el usuario es coordinador de instalaciones y compruebe si el caso está asignado a ese usuario. Para todos los demás, otorgue el acceso.
La configuración de la pestaña Definition (Definición) se muestra en la siguiente imagen: - Para la clase Assign-Worklist, cree una política de control de acceso RestrictFacilityCases en el ruleset EventBooking. Configure Action to Read (Acción de lectura) para restringir a otros coordinadores de instalaciones para que no puedan abrir la asignación y realizar el trabajo.
-
En el campo Permit access if (Permitir acceso si), ingrese la condición de política de control de acceso FacilityCaseAssignedToMe que creó.
La política de control de acceso debería verse como la siguiente imagen:
Restricción del acceso a asignaciones de instalaciones: comparación entre RBAC y ABAC
La siguiente tabla describe los pros y los contras de cada enfoque:
Diseño | Pros | Contras |
---|---|---|
Control de acceso basado en atributos | Fácil de configurar | No se muestra en Access Manager |
Control de acceso basado en roles | Se muestra en Access Manager | Requiere un rol adicional |
9 Revisar la solución
El archivo de la solución RAP (Rule Admin Product) proporcionado en la misión de diseño de la aplicación de este curso no contiene una implementación completa de todos los requerimientos de autorización especificados en los Requerimientos de escenarios de Front Stage. Todos los requerimientos mencionados pueden implementarse usando una combinación de RBAC y ABAC.
Para revisar la solución implementada, cambie la aplicación a Booking Authorization cuando esté registrado con un operador Admin@Booking.
Disponible en la siguiente misión:
If you are having problems with your training, please review the Pega Academy Support FAQs.
¿Quiere ayudarnos a mejorar este contenido?