accessControl assumeRole

Prueba de Rol por Defecto (SUPERUSER) y Verificación de Reversión Completa

Scénario de test & Cas d'usage

Contexto empresarial

Un administrador de seguridad de SAS Viya está validando los protocolos de emergencia. Necesita confirmar que la acción `assumeRole` sin especificar un rol asigna correctamente 'SUPERUSER' por defecto, y que la acción `dropRole` revierte completamente todos los privilegios elevados, dejando la sesión en su estado original y seguro.
Sobre el conjunto : accessControl

Gestión de derechos de acceso y seguridad de datos.

Descubrir todas las acciones de accessControl
Preparación de datos

No 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.

¡Copiado!
1/* No se necesita ninguna tabla de entrada para este escenario. Se opera a nivel de sesión. */

Étapes de réalisation

1
Verificar los roles actuales del usuario para establecer una línea base.
¡Copiado!
1 
2PROC CAS;
3ACCESSCONTROL.showRolesIn / principal='sasdemo';
4RUN;
5 
2
Ejecutar `assumeRole` sin el parámetro `adminRole` para probar el comportamiento por defecto.
¡Copiado!
1 
2PROC CAS;
3ACCESSCONTROL.assumeRole;
4/* Sin parámetros */
5RUN;
6 
3
Verificar que el rol 'SUPERUSER' ha sido añadido a la sesión.
¡Copiado!
1 
2PROC CAS;
3ACCESSCONTROL.showRolesIn / principal='sasdemo';
4RUN;
5 
4
Como SUPERUSER, realizar una acción de datos (crear caslib) y una acción de administración (listar roles) para confirmar los privilegios duales.
¡Copiado!
1PROC CAS;
2 addCaslib / caslib='TEMP_SU_CASLIB' dataSource={srcType='path'} path='/tmp/su_data';
3 ACCESSCONTROL.listRoles / all=true;
4RUN;
5
Abandonar el rol de SUPERUSER y verificar que los privilegios se han revertido.
¡Copiado!
1PROC CAS;
2 ACCESSCONTROL.dropRole / adminRole='SUPERUSER';
3 ACCESSCONTROL.showRolesIn / principal='sasdemo';
4RUN;
6
Intentar realizar de nuevo la acción de crear caslib. Debe fallar, confirmando la reversión de privilegios.
¡Copiado!
1 
2PROC CAS;
3addCaslib / caslib='TEMP_SU_CASLIB_2' dataSource={srcType='path'} path='/tmp/su_data_2';
4/* Se espera un error */
5RUN;
6 

Resultado esperado


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.