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 múltiples caslibs para simular diferentes departamentos.
| 1 | PROC CAS; |
| 2 | caslib finanzas datasource=(srctype="path") path="/tmp/fin"; |
| 3 | caslib ventas datasource=(srctype="path") path="/tmp/ven"; |
| 4 | caslib logistica datasource=(srctype="path") path="/tmp/log"; |
| 5 | RUN; |
| 6 | QUIT; |
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.assumeRole / adminRole="superuser"; |
| 3 | ACCESSCONTROL.startTransaction; |
| 4 | ACCESSCONTROL.checkOutObject / objectUri="/cas/caslibs/finanzas"; |
| 5 | ACCESSCONTROL.checkOutObject / objectUri="/cas/caslibs/ventas"; |
| 6 | ACCESSCONTROL.checkOutObject / objectUri="/cas/caslibs/logistica"; |
| 7 | RUN; |
| 1 | ACCESSCONTROL.updSomeAcsCaslib / caslib="finanzas" acs={{principal="sasusers", perm="Write", grant=FALSE}}; |
| 2 | ACCESSCONTROL.updSomeAcsCaslib / caslib="ventas" acs={{principal="sasusers", perm="Write", grant=FALSE}}; |
| 3 | ACCESSCONTROL.updSomeAcsCaslib / caslib="logistica" acs={{principal="sasusers", perm="Write", grant=FALSE}}; |
| 4 | RUN; |
| 1 | ACCESSCONTROL.commitTransaction; |
| 2 | RUN; |
| 3 | QUIT; |
Al ejecutar commitTransaction, los cambios se aplican a las tres librerías simultáneamente. Crucialmente, los tres objetos (finanzas, ventas, logística) que estaban en estado 'checked-out' son liberados inmediatamente, permitiendo futuras administraciones.