BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
kruzewski
Calcite | Level 5

Is it possible to either mask the sas code of a stored process for an EG user OR prevent them from looking at its metadata while still allowing them to run it...?

1 ACCEPTED SOLUTION

Accepted Solutions
Quentin
Super User

Hi,

On the server, you can compile the macro and store the definition in a permanent macro catalog.  In v9.2, you can even encrypt the compiled catalog, but that may be overkill for your needs.

See http://support.sas.com/techsup/technote/ts739.pdf, search for SECURE.

So the only thing on the server the user needs read access to is the encrypted macro catalog holding the definition of %KillSession().

Pretty sure that should work for you.

Not sure what you will put as the definition of %KillSession(), or how the stored process server or workspace server will feel to have somebody else killing jobs...

--Q.

BASUG is hosting free webinars Next up: Mike Sale presenting Data Warehousing with SAS April 10 at noon ET. Register now at the Boston Area SAS Users Group event page: https://www.basug.org/events.

View solution in original post

5 REPLIES 5
Quentin
Super User

Hi,

I suppose one way to hide the "source code" of a stored process would be to have the actual stored process be just a macro call.  Then macro definition could be stored in another file, or even a compiled macro catalog, or similar.

--Q.

BASUG is hosting free webinars Next up: Mike Sale presenting Data Warehousing with SAS April 10 at noon ET. Register now at the Boston Area SAS Users Group event page: https://www.basug.org/events.
kruzewski
Calcite | Level 5

wouldn't the user still need access to the "source code" of the macro?....btw, I wanted to create a SP which would allow an end user to kill their own sessions if something hangs, BUT I don't want them to know how to run an x command on the windows server...

Quentin
Super User

Hi,

On the server, you can compile the macro and store the definition in a permanent macro catalog.  In v9.2, you can even encrypt the compiled catalog, but that may be overkill for your needs.

See http://support.sas.com/techsup/technote/ts739.pdf, search for SECURE.

So the only thing on the server the user needs read access to is the encrypted macro catalog holding the definition of %KillSession().

Pretty sure that should work for you.

Not sure what you will put as the definition of %KillSession(), or how the stored process server or workspace server will feel to have somebody else killing jobs...

--Q.

BASUG is hosting free webinars Next up: Mike Sale presenting Data Warehousing with SAS April 10 at noon ET. Register now at the Boston Area SAS Users Group event page: https://www.basug.org/events.
kruzewski
Calcite | Level 5

I just key it off of &sysuser. so they they are only able to kill their own

kruzewski
Calcite | Level 5

...and thanks!

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 1093 views
  • 0 likes
  • 2 in conversation