{"id":294,"date":"2011-08-22T10:14:55","date_gmt":"2011-08-22T10:14:55","guid":{"rendered":"http:\/\/sapsecurityanalyst.com\/WP\/?page_id=294"},"modified":"2017-03-25T03:42:33","modified_gmt":"2017-03-25T03:42:33","slug":"sap-rfc-authorization","status":"publish","type":"page","link":"https:\/\/sapsecurityanalyst.com\/WP\/general-disclaimer\/sap-rfc-authorization\/","title":{"rendered":"SAP RFC Authorization"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"text-decoration: underline;\"><span style=\"color: #0000ff; text-decoration: underline;\">Restricting Authorizations for RFC Calls:<\/span><br \/>\n<\/span><\/h3>\n<p><span style=\"color: #0000ff; font-family: verdana;\"><!--more--><\/span><\/p>\n<p><span style=\"color: #0000ff; font-family: verdana;\"><br \/>\n<span style=\"color: #4c4c4c;\">RFC ABAP Type 3 can be managed using transaction <span style=\"text-decoration: underline; color: #0000ff;\"><strong>SM59<\/strong><\/span>.RFC Calls can be of two types: <span style=\"color: #0000ff;\"><strong><span style=\"text-decoration: underline;\">Trusted RFC<\/span><\/strong><\/span> and <strong><span style=\"text-decoration: underline; color: #0000ff;\">Untrusted RFC<\/span>.<\/strong><\/span><\/span><\/p>\n<p><span style=\"color: #0000ff; font-family: verdana;\"><br \/>\n<\/span><!--more--><br \/>\n<span style=\"color: #4c4c4c; font-family: verdana;\"> In an untrusted RFC, the source client needs to authenticate itself to the destination server using user credentials. No authentication is required in case of Trusted RFC as the destination server trusts the source client.<\/span><\/p>\n<p><!--more--><\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"text-decoration: underline; color: #0000ff;\">Authorization check for Untrusted RFC:<\/span><\/h3>\n<p><!--more--><\/p>\n<p><span style=\"color: #4c4c4c; font-family: verdana;\">Authorization object checked at target system: <span style=\"color: #0000ff;\"><strong>S_RFC<\/strong><\/span><\/span><\/p>\n<p><!--more--><\/p>\n<p><span style=\"color: #4c4c4c; font-family: verdana;\"><span style=\"color: #0000ff;\"><span style=\"color: #4c4c4c;\">Authorization fields for object\u00a0<\/span><strong>S_RFC<\/strong><\/span><\/span><\/p>\n<p><span style=\"color: #4c4c4c;\"><span style=\"color: #0000ff;\"><strong>ACTVT<\/strong><\/span>:\u00a0<span style=\"font-family: verdana;\">Activity. Currently it takes value 16 (execute)<\/span><\/span><\/p>\n<p><span style=\"color: #0000ff;\"><strong>RFC_TYPE<\/strong><\/span>:\u00a0<span style=\"font-family: verdana;\">Type of RFC object to be secured. This field has value <strong>FUGR<\/strong> (function group).<\/span><\/p>\n<p><strong><span style=\"color: #0000ff;\">RFC_NAME<\/span>:\u00a0<\/strong><span style=\"font-family: verdana;\"> Name of RFC object to be secured. Since type of RFC object to be secured is function group (FUGR), this field (RFC_NAME) contains the name of function groups to be secured. It is important to note that &#8216;<strong>*<\/strong>&#8216; (full authorization) is not given otherwise user would be able to execute all the function groups including critical function groups.<\/span><\/p>\n<p><span style=\"color: #4c4c4c;\">\u00a0<\/span><\/p>\n<h3><span style=\"text-decoration: underline;\"><strong><br \/>\n<\/strong><span style=\"color: #0000ff;\">Authorization check for Trusted RFC:<\/span><\/span><\/h3>\n<p><span style=\"color: #4c4c4c; font-family: verdana;\"><!--more--><br \/>\n<\/span><\/p>\n<p><span style=\"color: #4c4c4c; font-family: verdana;\">Authorization object checked at target system: <span style=\"color: #0000ff;\"><strong>S_RFC <\/strong><\/span>&amp; <span style=\"color: #0000ff;\"><strong>S_RFCACL<\/strong><\/span><\/span><\/p>\n<p><span style=\"color: #4c4c4c; font-family: verdana;\"><!--more--><br \/>\n<\/span><\/p>\n<p><span style=\"color: #4c4c4c; font-family: verdana;\">In case of trusted RFC, destination system trusts the source (client) system. Instead of logging into destination system using an RFC user, the user id of active dialog user is used.<\/span><span style=\"color: #4c4c4c; font-family: verdana;\"><!--more--><\/span><\/p>\n<p><span style=\"color: #4c4c4c; font-family: verdana;\">So, an additional authorization check is done in the destination system and authorization object S_RFCACL is checked to see if the dialog user has necessary authorization to log into the destination system.<\/span><\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #4c4c4c; font-family: verdana;\">The authorization object <span style=\"color: #0000ff;\"><strong>S_RFCACL<\/strong><\/span> has following authorization fields:<\/span><\/p>\n<p><!--more--><br \/>\n<span style=\"color: #4c4c4c;\"> <strong><span style=\"color: #0000ff;\">RFC_SYSID<\/span> :\u00a0<\/strong><span style=\"font-family: verdana;\">System id of the source SAP System (calling system)<\/span><\/span><span style=\"color: #4c4c4c;\"><span style=\"font-family: verdana;\"><br \/>\n<\/span><\/span><\/p>\n<p><span style=\"color: #4c4c4c;\"><strong><span style=\"color: #0000ff;\">RFC_CLIENT<\/span>\u00a0<\/strong>:\u00a0<span style=\"font-family: verdana;\">Client of the source system (calling system)<\/span><\/span><\/p>\n<p><strong><span style=\"color: #0000ff;\">RFC_USER<\/span>\u00a0<\/strong>:\u00a0<span style=\"font-family: verdana;\">User id of the calling user in the source system. Care should be taken so that it doesn&#8217;t have &#8216;<strong>*<\/strong>&#8216; (full authorization).<\/span><\/p>\n<p><strong><span style=\"color: #0000ff;\">RFC_EQUSER<\/span> :\u00a0<\/strong><span style=\"font-family: verdana;\">Values &#8216;Y&#8217;=Yes or &#8216;N&#8217;=No. Indicates whether the RFC user can be called with a user having same id.<\/span><\/p>\n<p><strong><span style=\"color: #0000ff;\">RFC_TCODE<\/span> :\u00a0<\/strong><span style=\"font-family: verdana;\">Calling transaction code.<\/span><\/p>\n<p><strong><span style=\"color: #0000ff;\">RFC_INFO<\/span> :\u00a0<\/strong><span style=\"font-family: verdana;\">Info from the source system.<\/span><\/p>\n<p><span style=\"color: #4c4c4c;\"><strong><span style=\"color: #0000ff;\">ACTVT<\/span> :\u00a0<\/strong><\/span><span style=\"color: #0000ff; font-family: verdana;\"><span style=\"color: #4c4c4c;\">Activity. It takes value &#8220;16&#8221; (execute).<\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #0000ff; font-family: verdana;\"><!--more--><\/span><\/p>\n<p><span style=\"color: #0000ff; font-family: verdana;\"><br \/>\n<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; Restricting Authorizations for RFC Calls:<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":38,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/sapsecurityanalyst.com\/WP\/wp-json\/wp\/v2\/pages\/294"}],"collection":[{"href":"https:\/\/sapsecurityanalyst.com\/WP\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sapsecurityanalyst.com\/WP\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sapsecurityanalyst.com\/WP\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sapsecurityanalyst.com\/WP\/wp-json\/wp\/v2\/comments?post=294"}],"version-history":[{"count":24,"href":"https:\/\/sapsecurityanalyst.com\/WP\/wp-json\/wp\/v2\/pages\/294\/revisions"}],"predecessor-version":[{"id":297,"href":"https:\/\/sapsecurityanalyst.com\/WP\/wp-json\/wp\/v2\/pages\/294\/revisions\/297"}],"up":[{"embeddable":true,"href":"https:\/\/sapsecurityanalyst.com\/WP\/wp-json\/wp\/v2\/pages\/38"}],"wp:attachment":[{"href":"https:\/\/sapsecurityanalyst.com\/WP\/wp-json\/wp\/v2\/media?parent=294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}