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

Hello,

I run the below mentioned piece of code under two scenarios.

 

options metaserver="metadataserver"
metaport=8561
metaprotocol="bridge"
metauser="user"
metapass="password"
remote=remhost;

%put gs_rc=%sysfunc(grdsvc_enable(_all_,server=SASApp));
signon grid1;

 

scenario 1 > I run the code with unrestricted metadata access, it runs without any errors.

scenario 2 > I run this code without unrestricted metadata access, like an end user. The below mentioned error appears in the log.

25 GOPTIONS ACCESSIBLE;
26 options metaserver="metadataserver"
27 metaport=8561
28 metaprotocol="bridge"
29 metauser="user"
30 metapass=XXXXXXXXXXXX
31 remote=remhost;
NOTE: Connecting to SAS Metadata Server produced: ERROR: Association not found.
NOTE: SAS application server not found; the local machine will be used.
32 
33 %put gs_rc=%sysfunc(grdsvc_enable(_all_,server=SASApp));
gs_rc=1
34 
34 ! signon grid1;

I believe it is caused by some metadata level authorization conflict. Could someone provide an idea to tackle this?

1 ACCEPTED SOLUTION

Accepted Solutions
doug_sas
SAS Employee

The problem is that the restricted user you are trying to use has one of two problems:


- The user is not defined in metadata so when it connects to the metadata server it is a member of the PUBLIC group instead of the SASUSERS group. The PUBLIC group does not have read metadata access to metadata by default. I am guessing this is not the case.
- The user is defined in metadata, but the access control on something it needs to get to to use the grid prevents the user from using the logical grid server. This could be the application server, the logical grid server, the grid server server context, or the grid server connection.

 

If running SAS in line mode or DMS mode, you could add the following lines to your code to see more debug information:

%log4sas();
%log4sas_logger("App.tk.tkegrid","level=trace");

If running in a workspace server, you would need need to change to use the logconfig.trace.xml file and add the App.tk.tkegrid logger and set its level to trace.

 

View solution in original post

2 REPLIES 2
doug_sas
SAS Employee

The problem is that the restricted user you are trying to use has one of two problems:


- The user is not defined in metadata so when it connects to the metadata server it is a member of the PUBLIC group instead of the SASUSERS group. The PUBLIC group does not have read metadata access to metadata by default. I am guessing this is not the case.
- The user is defined in metadata, but the access control on something it needs to get to to use the grid prevents the user from using the logical grid server. This could be the application server, the logical grid server, the grid server server context, or the grid server connection.

 

If running SAS in line mode or DMS mode, you could add the following lines to your code to see more debug information:

%log4sas();
%log4sas_logger("App.tk.tkegrid","level=trace");

If running in a workspace server, you would need need to change to use the logconfig.trace.xml file and add the App.tk.tkegrid logger and set its level to trace.

 

SASWayne
Quartz | Level 8

Thanks @doug_sas 

 

Based on your reply, I check the authorization of the user group on the grid server. ReadMetadata was denied. I granted that permission to resolve the issue.

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

Get Started with SAS Information Catalog in SAS Viya

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.

Discussion stats
  • 2 replies
  • 2585 views
  • 2 likes
  • 2 in conversation