Scénario de test & Cas d'usage
Gestión de derechos de acceso y seguridad de datos.
Descubrir todas las acciones de accessControlCreación del Data Mart simulado.
| 1 | PROC CAS; |
| 2 | caslib datamart datasource=(srctype="path") path="/tmp/dm"; |
| 3 | RUN; |
| 4 | QUIT; |
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.assumeRole / adminRole="superuser"; |
| 3 | ACCESSCONTROL.startTransaction; |
| 4 | ACCESSCONTROL.updSomeAcsCaslib / caslib="datamart" acs={{principal="Marketing", perm="FullControl"}}; |
| 5 | PRINT "Error detectado, revirtiendo..."; |
| 6 | ACCESSCONTROL.rollbackTransaction; |
| 7 | RUN; |
| 1 | ACCESSCONTROL.startTransaction; |
| 2 | ACCESSCONTROL.updSomeAcsCaslib / caslib="datamart" acs={{principal="DataScientists", perm="Read"}}; |
| 3 | ACCESSCONTROL.commitTransaction; |
| 4 | RUN; |
| 5 | QUIT; |
El primer bloque de cambios (Marketing) se descarta completamente tras el rollback. El segundo bloque (DataScientists) se persiste correctamente tras el commitTransaction. Esto valida que el 'commit' funciona correctamente incluso inmediatamente después de una sesión abortada.