Hi experts,
I was sure that permissions set directly on an in-memory CAS table (not on the ".sashdat" file) are not persistent across table unload and re-load actions but to my surprise testing this showed that the CAS permissions were preserved across unload/load of the in-memory table. I am wondering if my testing is perhaps wrong or maybe this is the correct behavior.
For example, here is my test code:
/* load and promote table without saving it as sashdat file */
data samples.class(promote=yes);
set sashelp.class;
run;
/* set permissions directly on the in-memory table */
proc cas;
session casauto;
accessControl.assumeRole / adminRole="superuser";
accessControl.updSomeAcsTable /
acs={
{caslib="samples",
table="class",
identity="gonen",
identityType="User",
permType="Grant",
permission="Select",
filter="name='SUB::SAS.Userid'"}};
run;quit;
/* unload table */
proc casutil;
droptable casdata="class" incaslib="samples" ;
run;quit;
/* load again and check permissions and see they are preserved */
data samples.class(promote=yes);
set sashelp.class;
run;
Hi @gwootton
Thanks for the reply! My question was about the persistence of name-based controls assigned directly to in-memory tables with no source file. I was sure these controls are volatile in the sense that they persist as long as the in-memory table is loaded to CAS and I thought that once the in-memory table was unloaded then all the name-based controls applied directly to it were lost.
In the test code I sent in my previous post, I loaded a SAS dataset directly to CAS without saving it as a "sashdat" file so there is no "source file" for this CAS in-memory table. Then I set CAS permissions directly on the in-memory CAS table, and then unloaded the table and reloaded it again from the same SAS dataset. To my surprise it seems like these CAS permissions are NOT lost when unloading the in-memory table and they persisted across the unload/load process.
So just to be sure - do name-based controls assigned directly to in-memory tables with no backing source file actually persist after unloading the associated in-memory table as my tests reveal?
The SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment.
SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.
Find more tutorials on the SAS Users YouTube channel.