<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Trusted User in Administration and Deployment</title>
    <link>https://communities.sas.com/t5/Administration-and-Deployment/Trusted-User/m-p/470599#M13393</link>
    <description>&lt;P&gt;Hi!&amp;nbsp; Just curious are you trying to have the user act on behalf of others?&amp;nbsp; Is this a service account?&amp;nbsp;&amp;nbsp;This might help with trying to solve who you are trying to define in the metadata.&amp;nbsp; See the description of what a trusted user is in SAS.&amp;nbsp; It also has other user types as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="xis-paraTableFirst" id="n1l9orvq9ypik4n1nq2jdfm87rm2"&gt;&lt;EM&gt;SAS Trusted User&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV class="xis-paraTable" id="p0mmgrn6ohbc7cn1ehs785qo3f68"&gt;&lt;EM&gt;The user account that can impersonate other users on connections to the metadata server. Some SAS processes use this account to communicate with the metadata server on a client's behalf. &lt;A href="http://documentation.sas.com/?docsetId=biig&amp;amp;docsetTarget=n02002intelplatform00install.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en" target="_self"&gt;Defining User types in SAS&lt;/A&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV class="xis-paraTable"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="xis-paraTable"&gt;You can define the user in the metadata without putting it in trustUsers.txt as well.&amp;nbsp;If it is a service account, you might want to think about what capabilities it would be.&lt;/DIV&gt;</description>
    <pubDate>Fri, 15 Jun 2018 14:06:03 GMT</pubDate>
    <dc:creator>sunfly818</dc:creator>
    <dc:date>2018-06-15T14:06:03Z</dc:date>
    <item>
      <title>Trusted User</title>
      <link>https://communities.sas.com/t5/Administration-and-Deployment/Trusted-User/m-p/467224#M13308</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using SAS 9.4 and JDK1.7.1 for java application.&lt;/P&gt;&lt;P&gt;Got NonTrustedUser Exception when using GetCredentials method of ISecurity_1_1 object.&lt;/P&gt;&lt;P&gt;Connected to metadataServer using makeISecurityConnection method of MdOMRConnection object from Java application.&lt;/P&gt;&lt;P&gt;I tried by adding loginid in "trustUsers.txt" file on the metadata server, but throwing the same exception.&lt;/P&gt;&lt;P&gt;Is it sufficient to make an user into an trusted user ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;public void isInRole() throws Exception&lt;BR /&gt;{&lt;BR /&gt;try&lt;BR /&gt;{&lt;BR /&gt;// Define a two-dimensional string array for options&lt;BR /&gt;final String[][] options ={{"",""}};&lt;BR /&gt;System.out.println("");&lt;BR /&gt;System.out.println("&amp;lt;&amp;lt;&amp;lt;&amp;lt; Begin isInRole() &amp;gt;&amp;gt;&amp;gt;&amp;gt;" );&lt;BR /&gt;&lt;BR /&gt;// Define a holder for the credential handle&lt;BR /&gt;StringHolder credHandle = new StringHolder();&lt;BR /&gt;System.out.println("After StringHolder");&lt;BR /&gt;&lt;BR /&gt;// Define a holder for the method output&lt;BR /&gt;BooleanHolder inRole = new BooleanHolder();&lt;BR /&gt;System.out.println("After booleanHolder");&lt;BR /&gt;String UGAdminRole = "N_Admin";&lt;/P&gt;&lt;P&gt;// Get a credential handle&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;iSecurity.GetCredentials("LOGINID:SAS.ADMIN", credHandle); //&amp;nbsp; &amp;lt;----------Throwing exception here.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;System.out.println("credHandle = " + credHandle);&lt;BR /&gt;&lt;BR /&gt;// Execute the method&lt;BR /&gt;iSecurity.IsInRole(credHandle.value,"ROLE_OBJNAME:" + UGAdminRole,options,inRole);&lt;BR /&gt;&lt;BR /&gt;// Print information about the method call and results&lt;BR /&gt;System.out.println();&lt;BR /&gt;System.out.println("&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; isInRole() call parameters with results &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;");&lt;BR /&gt;System.out.print("credHandle=" + credHandle.value + ", ");&lt;BR /&gt;System.out.print("roleSpecification=" + "ROLE_OBJNAME:" + UGAdminRole + ", ");&lt;BR /&gt;System.out.print("isInRole=" + inRole.value);&lt;BR /&gt;System.out.println();&lt;BR /&gt;&lt;BR /&gt;// Free the credentials&lt;BR /&gt;iSecurity.FreeCredentials(credHandle.value);&lt;BR /&gt;System.out.println("");&lt;BR /&gt;System.out.println("&amp;lt;&amp;lt;&amp;lt;&amp;lt; End isInRole() &amp;gt;&amp;gt;&amp;gt;&amp;gt;" );&lt;BR /&gt;}&lt;BR /&gt;catch (Exception e)&lt;BR /&gt;{&lt;BR /&gt;System.out.println("IsInRole: GetInfo: Exceptions");&lt;BR /&gt;e.printStackTrace();&lt;BR /&gt;throw e;&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// method for establishing connection&lt;/P&gt;&lt;P&gt;public boolean connectToServer()&lt;BR /&gt;{&lt;BR /&gt;String serverName = "111.219.61.95";&lt;BR /&gt;String serverPort = "8561";&lt;BR /&gt;String serverUser = "SAS.ADMIN";&lt;BR /&gt;String serverPass = "enter";&lt;BR /&gt;try&lt;BR /&gt;{&lt;BR /&gt;MdOMRConnection connection = _factory.getConnection();&lt;BR /&gt;// This statement makes the connection to the server.&lt;BR /&gt;//connection.makeOMRConnection(serverName, serverPort, serverUser, serverPass);&lt;BR /&gt;iSecurity = connection.makeISecurityConnection(serverName, serverPort, serverUser, serverPass);&lt;BR /&gt;System.out.println("iSecurity = " + iSecurity);&lt;BR /&gt;// The following statements define error handling and error&lt;BR /&gt;// reporting messages.&lt;BR /&gt;}&lt;BR /&gt;catch (MdException e)&lt;BR /&gt;{&lt;BR /&gt;Throwable t = e.getCause();&lt;BR /&gt;if (t != null)&lt;BR /&gt;{&lt;BR /&gt;String ErrorType = e.getSASMessageSeverity();&lt;BR /&gt;String ErrorMsg = e.getSASMessage();&lt;BR /&gt;if (ErrorType == null)&lt;BR /&gt;{&lt;BR /&gt;// If there is no SAS server message, write a Java/CORBA message.&lt;BR /&gt;}&lt;BR /&gt;else&lt;BR /&gt;{&lt;BR /&gt;// If there is a message from the server:&lt;BR /&gt;System.out.println(ErrorType + ": " + ErrorMsg);&lt;BR /&gt;}&lt;BR /&gt;if (t instanceof org.omg.CORBA.COMM_FAILURE)&lt;BR /&gt;{&lt;BR /&gt;// If there is an invalid port number or host name:&lt;BR /&gt;System.out.println(e.getLocalizedMessage());&lt;BR /&gt;}&lt;BR /&gt;else if (t instanceof org.omg.CORBA.NO_PERMISSION)&lt;BR /&gt;{&lt;BR /&gt;// If there is an invalid user ID or password:&lt;BR /&gt;System.out.println(e.getLocalizedMessage());&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;else&lt;BR /&gt;{&lt;BR /&gt;// If we cannot find a nested exception, get message and print.&lt;BR /&gt;System.out.println(e.getLocalizedMessage());&lt;BR /&gt;}&lt;BR /&gt;// If there is an error, print the entire stack trace.&lt;BR /&gt;e.printStackTrace();&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;BR /&gt;catch (RemoteException e)&lt;BR /&gt;{&lt;BR /&gt;// Unknown exception.&lt;BR /&gt;e.printStackTrace();&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;BR /&gt;// If no errors occur, then a connection is made.&lt;BR /&gt;return true;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 03 Jun 2018 14:36:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Administration-and-Deployment/Trusted-User/m-p/467224#M13308</guid>
      <dc:creator>vanisas</dc:creator>
      <dc:date>2018-06-03T14:36:57Z</dc:date>
    </item>
    <item>
      <title>Re: Trusted User</title>
      <link>https://communities.sas.com/t5/Administration-and-Deployment/Trusted-User/m-p/470599#M13393</link>
      <description>&lt;P&gt;Hi!&amp;nbsp; Just curious are you trying to have the user act on behalf of others?&amp;nbsp; Is this a service account?&amp;nbsp;&amp;nbsp;This might help with trying to solve who you are trying to define in the metadata.&amp;nbsp; See the description of what a trusted user is in SAS.&amp;nbsp; It also has other user types as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="xis-paraTableFirst" id="n1l9orvq9ypik4n1nq2jdfm87rm2"&gt;&lt;EM&gt;SAS Trusted User&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV class="xis-paraTable" id="p0mmgrn6ohbc7cn1ehs785qo3f68"&gt;&lt;EM&gt;The user account that can impersonate other users on connections to the metadata server. Some SAS processes use this account to communicate with the metadata server on a client's behalf. &lt;A href="http://documentation.sas.com/?docsetId=biig&amp;amp;docsetTarget=n02002intelplatform00install.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en" target="_self"&gt;Defining User types in SAS&lt;/A&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV class="xis-paraTable"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="xis-paraTable"&gt;You can define the user in the metadata without putting it in trustUsers.txt as well.&amp;nbsp;If it is a service account, you might want to think about what capabilities it would be.&lt;/DIV&gt;</description>
      <pubDate>Fri, 15 Jun 2018 14:06:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Administration-and-Deployment/Trusted-User/m-p/470599#M13393</guid>
      <dc:creator>sunfly818</dc:creator>
      <dc:date>2018-06-15T14:06:03Z</dc:date>
    </item>
  </channel>
</rss>

