I am resolving my ID and Password through macro variables in my SAS code. I am using Option mprint and symbolgen to see the resolved value of other macros in my code. I dont want it to resolve my ID and Password. Is there a way that I can mask these 2 macro variables
#1 disable mprint and symbolgen immediately before setting and using the macro variables.
#2 use a masked version of the passwords (proc pwencode)
#3 see if you can adapt your process so that credentials are not needed (ie set up automated ssh connections with public/private key authentication)
solution 3 is to be preferred.
In places where we need confidential information, this is stored in .sas files only readable by the user in question; these files are %include'd when needed. For security, they have options nomprint nosymbolgen set (so no public log will show the values).
#1 disable mprint and symbolgen immediately before setting and using the macro variables.
#2 use a masked version of the passwords (proc pwencode)
#3 see if you can adapt your process so that credentials are not needed (ie set up automated ssh connections with public/private key authentication)
solution 3 is to be preferred.
In places where we need confidential information, this is stored in .sas files only readable by the user in question; these files are %include'd when needed. For security, they have options nomprint nosymbolgen set (so no public log will show the values).
If you are using the password in a LIBNAME statement then you should also consider using the LIBNAME() function in a data step instead. You can use the SYMGET() function to retrieve a macro variable value without it being displayed.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.
Ready to level-up your skills? Choose your own adventure.