<?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: Options to Prefilter dataset in SAS in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143613#M11424</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;
&lt;P&gt;ykk wrote:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;I tried but I want not able to update the View.&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure what that means&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 09 Dec 2014 19:54:32 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2014-12-09T19:54:32Z</dc:date>
    <item>
      <title>Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143610#M11421</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please find my requirement below&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have a centralized data set which contains the information belonging to all the users.I want to know the options available to pre filter the data set before a user opens it in such a way that I can show only the records which belongs to Him.I dont want to use Filter and sort or Query builder as they will create another dataset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to show dataset with filtered data as I want to capture the updates done by the user on that dataset.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 19:29:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143610#M11421</guid>
      <dc:creator>ykk</dc:creator>
      <dc:date>2014-12-09T19:29:54Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143611#M11422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you looked into a view?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 19:46:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143611#M11422</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-12-09T19:46:46Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143612#M11423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tried but I want not able to update the View.so I thought of adding filter to the dataset itself&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 19:48:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143612#M11423</guid>
      <dc:creator>ykk</dc:creator>
      <dc:date>2014-12-09T19:48:55Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143613#M11424</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;
&lt;P&gt;ykk wrote:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;I tried but I want not able to update the View.&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure what that means&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 19:54:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143613#M11424</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-12-09T19:54:32Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143614#M11425</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I went through the option of view creation. I was not able to update the view .As my goal was to update the view I thought of accessing the data set directly with some pre filters on it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 20:01:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143614#M11425</guid>
      <dc:creator>ykk</dc:creator>
      <dc:date>2014-12-09T20:01:11Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143615#M11426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You generally don't update views, you update the data behind the view.&amp;nbsp; &lt;/P&gt;&lt;P&gt;Since views don't have data behind them its relatively trivial to recreate a view as well. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 20:16:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143615#M11426</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-12-09T20:16:30Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143616#M11427</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Got your point.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But in my use case user will do the updates directly by opening the view not through update statements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When he tries to open the view for doing updates the view will be read only he cannot do any updates.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 20:35:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143616#M11427</guid>
      <dc:creator>ykk</dc:creator>
      <dc:date>2014-12-09T20:35:41Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143617#M11428</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How do you propose that the users access this 'update facility'?&lt;/P&gt;&lt;P&gt;Through Enterprise Guide by clicking on a Task Node or a Table/View Node?&lt;/P&gt;&lt;P&gt;Or some other way?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What do you want to happen if a user tries to change the value of User_Id for a row in his view?&amp;nbsp; (Note, it is because of issues like this that many products don't allow update via Views.)&lt;/P&gt;&lt;P&gt;Are there any other Edit/Validation checks that may need to be applied?&lt;/P&gt;&lt;P&gt;How many users may require this ability to update 'their' data?&lt;/P&gt;&lt;P&gt;Is concurrent updating required?&amp;nbsp; (SAS/SHARE needs to be licensed to enable this - fortunately it is usually part of a BI Server bundle.)&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Dec 2014 03:25:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143617#M11428</guid>
      <dc:creator>DaveBirch</dc:creator>
      <dc:date>2014-12-10T03:25:33Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143618#M11429</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could use Metadata-bound libraries to achieve this. &lt;SPAN style="color: #333333; font-family: Arial, sans-serif; font-size: 12px;"&gt;By putting your SAS-based data files into a secured library, you can use SAS metadata permissions to grant access to just the SAS users that need them. Because this access is completely controlled by the SAS Metadata Server, even a savvy SAS programmer can't gain access with a well-formed LIBNAME statement or a modified DATA step view.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;More information can be found here:&lt;/P&gt;&lt;P&gt;&lt;A href="http://blogs.sas.com/content/sasdummy/2013/12/24/metadata-bound-libraries/" title="http://blogs.sas.com/content/sasdummy/2013/12/24/metadata-bound-libraries/"&gt; Closing the "LIBNAME loophole" with metadata-bound libraries &lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And in this paper, which features a section titled, "HOW DO YOU RESTRICT A USER’S ACCESS TO SPECIFIC ROWS AND COLUMNS?"&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings14/SAS118-2014.pdf" title="http://support.sas.com/resources/papers/proceedings14/SAS118-2014.pdf"&gt;http://support.sas.com/resources/papers/proceedings14/SAS118-2014.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Dec 2014 17:42:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143618#M11429</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2014-12-10T17:42:36Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143619#M11430</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Wow, amazing security concept. Putting passwords inside of a view!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Has anyone considered that a malicious user could just run a &lt;/P&gt;&lt;P&gt;PROC SQL; &lt;/P&gt;&lt;P&gt;DESCRIBE VIEW &amp;lt;view_with_passwords_inside&amp;gt;; &lt;/P&gt;&lt;P&gt;QUIT;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and steal the passwords inside to bypass all your security layers to view all rows?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My experience on row-level security in a nutshell: it can only be achieved if you can ensure that your end users cannot run custom code on the application servers. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Dec 2014 12:25:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143619#M11430</guid>
      <dc:creator>AndreasMenrath</dc:creator>
      <dc:date>2014-12-11T12:25:45Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143620#M11431</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Andreas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm pretty sure that metadata-bound libraries have been "battle-tested" on the security front.&amp;nbsp; As I &lt;A href="http://blogs.sas.com/content/sasdummy/2013/12/24/metadata-bound-libraries/"&gt;noted in my article&lt;/A&gt;, &lt;SPAN style="color: #333333; font-family: Arial, sans-serif; font-size: 12px;"&gt;the password value is not a security loophole or backdoor that can grant access to anyone who knows it. It's simply like a PIN for the administrator to later make changes to the contents of the secured library or its properties. Still, admins should guard the password &lt;/SPAN&gt;&lt;EM style="font-size: 12px; color: #333333; font-family: Arial, sans-serif; background-position: initial;"&gt;and&lt;/EM&gt;&lt;SPAN style="color: #333333; font-family: Arial, sans-serif; font-size: 12px;"&gt; keep track of it.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The row-level security implementation requires some planning and setup, but once implemented there isn't a way for a user to gain access to the data if the metadata permissions won't allow it.&amp;nbsp; Metadata-bound libraries -- which were introduced fully in SAS 9.4 -- are designed specifically as a security layer that can be used even when the end users have access and ability to run custom SAS code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Dec 2014 13:42:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143620#M11431</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2014-12-11T13:42:58Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143621#M11432</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Chris,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you for your valuable feedback.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I finally found some time to play around with this feature and the settings. My findings are also based on &lt;A href="http://support.sas.com/documentation/cdl/en/seclibag/66930/HTML/default/viewer.htm#p0t0jlaj40gwt7n1tvvv43fe8nby.htm" title="http://support.sas.com/documentation/cdl/en/seclibag/66930/HTML/default/viewer.htm#p0t0jlaj40gwt7n1tvvv43fe8nby.htm"&gt;SAS(R) 9.4 Guide to Metadata-Bound Libraries, Second Edition.&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) To my former post: DESCRIBE VIEW requires ALTER priviliges in the metadata for the view. Even if these rights are granted the user won't see the password as clear text in the log. Instead the log contains some information like that:&lt;/P&gt;&lt;P&gt;select *&amp;nbsp; from LIB.TABLE(read=XXX write=XXX alter=XXX);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;
&lt;P&gt;Chris@SAS wrote:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;As I &lt;A class="jive-link-external-small" href="http://blogs.sas.com/content/sasdummy/2013/12/24/metadata-bound-libraries/"&gt;noted in my article&lt;/A&gt;, &lt;SPAN style="color: #333333; font-family: Arial, sans-serif; font-size: 12px;"&gt;the password value is not a security loophole or backdoor that can grant access to anyone who knows it. It's simply like a PIN for the administrator to later make changes to the contents of the secured library or its properties. Still, admins should guard the password &lt;/SPAN&gt;&lt;SPAN style="font-size: 12px; color: #333333; font-family: Arial, sans-serif; background-position: initial;"&gt;&lt;EM&gt;and&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #333333; font-family: Arial, sans-serif; font-size: 12px;"&gt; keep track of it.&lt;/SPAN&gt;&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;I highly disagree. These passwords are the keys to the kingdom. Users who have metadata read rights on the secured library can use it to bypass all security layers. That's exactly what the row-level security concept does; therefore it is necessary to include the passwords in the view, because the user who will execute the view will not have metadata read and select rights on the secured table with all rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used this code for some tests on a copy of the sashelp.prdsale table:&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;libname&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; sample &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: purple; background: none repeat scroll 0% 0% white;"&gt;'C:\SAS\SomeSampleData\RowLevelSecurityTest'&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: navy; background: none repeat scroll 0% 0% white;"&gt;proc&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: navy; background: none repeat scroll 0% 0% white;"&gt;authlib&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; library=sample;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp; create&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; securedlibrary=&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: purple; background: none repeat scroll 0% 0% white;"&gt;'sample'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; securedfolder=&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: purple; background: none repeat scroll 0% 0% white;"&gt;'RowlevelSecTest'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pw=secret;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: navy; background: none repeat scroll 0% 0% white;"&gt;quit&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: navy; background: none repeat scroll 0% 0% white;"&gt;proc&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: navy; background: none repeat scroll 0% 0% white;"&gt;sql&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt;; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;create&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;view&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; sample.prdsale_subset &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;as&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;select&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; *&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;from&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; sample.prdsale(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;pw&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt;=secret)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;where&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; _METADATA_AUTHENTICATED_USERID_ = &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: purple; background: none repeat scroll 0% 0% white;"&gt;'SASNOBODY@SAS94'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;and&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; country = &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: purple; background: none repeat scroll 0% 0% white;"&gt;"GERMANY"&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt; ;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: navy; background: none repeat scroll 0% 0% white; font-family: 'Courier New';"&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then i used SMC to grant a test user only access to the prdsale_subset table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When i access the view as the test user i find some warnings in the log:&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: teal; background: white;"&gt;WARNING: The secured table object information for data set SAMPLE.PRDSALE.DATA could not be obtained from the metadata server or &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: teal; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; has invalid data.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: teal; background: white;"&gt;WARNING: The metadata server does not have a secured table object with the external identity "67AB2A08-XXXX-XXXX-XXXX-XXXXXXXXXX" &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: teal; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; or you do not have ReadMetadata permission to see it.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: teal; background: white;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt;When this test user knows the password to the library then the security can be completely bypassed and the user can access all tables and rows inside the secured library:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: navy; background: white;"&gt;proc&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: navy; background: white;"&gt;sql&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: white;"&gt;select&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: white;"&gt; *&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&amp;nbsp; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: white;"&gt;from&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: white;"&gt; sample.&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt;prdsale(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue; background: none repeat scroll 0% 0% white;"&gt;pw&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; background: none repeat scroll 0% 0% white;"&gt;=secret)&lt;/SPAN&gt;&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; background: white; font-family: 'Courier New';"&gt;quit&lt;/STRONG&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; color: black; background: white;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;3) at last it is confusing that this test user which has only basic rights can see all passwords associated with the secured library:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="jiveImage" src="https://communities.sas.com/legacyfs/online/8444_pastedImage_7.png" style="width: 643px; height: 481px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US"&gt; When the metadata object is exported i can see that the password "secret" was stored as &lt;/SPAN&gt;"{SAS014}60AF7C50405EC46419AAAAA8" inside the metadata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope that this password cannot be reversed as easily as the other {SASxxx} encoded passwords and are really good "battle-tested".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Andreas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Dec 2014 21:15:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143621#M11432</guid>
      <dc:creator>AndreasMenrath</dc:creator>
      <dc:date>2014-12-17T21:15:49Z</dc:date>
    </item>
    <item>
      <title>Re: Options to Prefilter dataset in SAS</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143622#M11433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Andreas -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;If someone were to crack the SAS014 encryption and obtain the decrypted value from the {SAS014} encoded passwords, they would get a one way hash of the original clear text password which could not be used in SAS code to open the data set.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are correct that a&lt;SPAN style="color: #1f497d;"&gt; brute force attack on the eight character alphanumeric passwords is an exposure. That’s why the administrator can set 3 different values for each to greatly change the number of possible clear text passwords from 27*(37**7) to (27**3)*(37**21).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;But perhaps we need to re-examine the documentation and clearly state that the MBL passwords could be used to gain access to the data so that the administrator is more careful in his/her choice of passwords and in guarding knowledge of them.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Dec 2014 17:07:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Options-to-Prefilter-dataset-in-SAS/m-p/143622#M11433</guid>
      <dc:creator>JackS_Wallace</dc:creator>
      <dc:date>2014-12-19T17:07:26Z</dc:date>
    </item>
  </channel>
</rss>

