Scénario de test & Cas d'usage
Gestión de derechos de acceso y seguridad de datos.
Descubrir todas las acciones de accessControlNo se requiere una preparación de datos específica. Este escenario se centra en las acciones de administración y la verificación de los estados de la sesión.
| 1 | /* No se necesita ninguna tabla de entrada para este escenario. Se opera a nivel de sesión. */ |
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.showRolesIn / principal='sasdemo'; |
| 4 | RUN; |
| 5 |
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.assumeRole; |
| 4 | /* Sin parámetros */ |
| 5 | RUN; |
| 6 |
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.showRolesIn / principal='sasdemo'; |
| 4 | RUN; |
| 5 |
| 1 | PROC CAS; |
| 2 | addCaslib / caslib='TEMP_SU_CASLIB' dataSource={srcType='path'} path='/tmp/su_data'; |
| 3 | ACCESSCONTROL.listRoles / all=true; |
| 4 | RUN; |
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.dropRole / adminRole='SUPERUSER'; |
| 3 | ACCESSCONTROL.showRolesIn / principal='sasdemo'; |
| 4 | RUN; |
| 1 | |
| 2 | PROC CAS; |
| 3 | addCaslib / caslib='TEMP_SU_CASLIB_2' dataSource={srcType='path'} path='/tmp/su_data_2'; |
| 4 | /* Se espera un error */ |
| 5 | RUN; |
| 6 |
El log confirma que al omitir el parámetro `adminRole`, se asume el rol 'SUPERUSER'. El usuario puede realizar tareas de datos y de administración. Tras usar `dropRole`, el log muestra que el rol 'SUPERUSER' ha sido eliminado y que las acciones administrativas fallan, validando que la sesión ha vuelto a su estado de privilegios original y seguro.