Scénario de test & Cas d'usage
Gestión de derechos de acceso y seguridad de datos.
Descubrir todas las acciones de accessControlCreación de la tabla de bonificaciones en una caslib pública simulada.
| 1 | PROC CAS; |
| 2 | caslib hr_data datasource=(srctype="path") path="/tmp/hr_data" libref="hr"; |
| 3 | DATA hr.bonos_2025; |
| 4 | LENGTH empleado $20; |
| 5 | bono = 50000; |
| 6 | empleado = 'Juan Perez'; |
| 7 | OUTPUT; |
| 8 | RUN; |
| 9 | QUIT; |
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.assumeRole / adminRole="superuser"; |
| 3 | ACCESSCONTROL.startTransaction; |
| 4 | RUN; |
| 1 | ACCESSCONTROL.checkOutObject / objectUri="/cas/caslibs/hr_data/tables/bonos_2025"; |
| 2 | ACCESSCONTROL.remAllAcsTable / caslib="hr_data" TABLE="bonos_2025"; |
| 3 | ACCESSCONTROL.updSomeAcsTable / caslib="hr_data" TABLE="bonos_2025" |
| 4 | acs={{principal="HR_Managers", perm="Read", grant=TRUE}}; |
| 5 | RUN; |
| 1 | ACCESSCONTROL.commitTransaction; |
| 2 | RUN; |
| 3 | QUIT; |
La acción commitTransaction finaliza exitosamente. Se verifica que los cambios de seguridad son persistentes: el usuario público ya no puede ver la tabla 'bonos_2025', y los miembros de 'HR_Managers' tienen acceso de lectura. La transacción se cierra.