As mentioned previously, when
you access the data in a data library, you can use the native engine
stored in the metadata definition of the library, the definition in
a configuration file, or you can use the metadata engine. As shown
in the following figure, the metadata engine invokes the Base SAS
engine that is identified in the metadata.
Metadata Engine Invocation of the Base SAS Engine
SAS
metadata provides a metadata authorization layer that enables you
to control which users can access which metadata objects, such as
SASLibrary, PhysicalTable, and LogicalServer. You manage the access
to metadata by granting ReadMetadata and WriteMetadata permissions
on the object or on the repository.
As depicted in the previous
figure, when a user accesses a library that uses the metadata engine,
the engine sends a request to the SAS Metadata Server to determine
the user’s metadata permissions on the tables in the library.
The tables for which the user has ReadMetadata access are returned
and are available to the user. If the user then performs an action,
such as opening a table, the metadata engine queries the metadata
server for the user’s metadata permission on the table. If
the user has Read access to the table, directly or through group membership,
the metadata engine then calls upon the engine specified in metadata
to handle the request. The table is then opened into the client application
for reading.
In contrast, when a
user accesses a library that uses a native engine, the client application
contacts the metadata server and requests access to the metadata object
as the user. The metadata server then queries the metadata authorization
layer to determine whether the user has ReadMetadata access on the
tables in the library. In contrast to the metadata engine, there is
no query to check for Read access on the table. When a library uses
a native engine, the data-level authorizations of Read, Write, Create,
and Delete are not checked.
If you want to use the metadata authorization
layer to control Read, Write, Create, and Delete permissions, then
pre-assign the library.
Follow the steps described in Pre-assigning a Library . When you
use the
Pre-assignment Type menu, select
By metadata library engine.
One drawback to using
the metadata engine is that it does not automatically create, update,
or delete metadata when changes are made to the tables.