SAS Federation Server contains
an inherent hierarchy of objects, in the following order:
Where privileges on
the server are inherited by the data service, privileges on the data
service are inherited by the DSN and catalog, and so on. This inheritance
hierarchy allows an administrator to set general security rules on
higher level objects, and then only set exceptions on the more specific
(subordinate) objects.
For example, there is
a group called SALES_GROUP whose members are allowed to select most
objects in the SALES_DATA data service. An administrator can assign
SELECT privilege on the SALES_DATA data service to the SALES_GROUP.
The SELECT privilege is inherited on all the catalogs of the SALES_DATA
data service, and all the schemas of those catalogs, and all the related
tables and views. There is a stipulation that the SALES_GROUP is not
allowed to see any data in a single catalog of the SALES_DATA data
service called EXECUTIVE_DATA. An administrator could then deny SELECT
privilege to the SALES_GROUP on that particular catalog. Members
of the SALES_GROUP would then not be able to select any data from
the EXECUTIVE_DATA catalog or any of its schemas. An administrator
can elect to grant all privileges on the EXECUTIVE_DATA catalog to
the EXECUTIVE_GROUP. An administrator can also deny SELECT privilege
to any member of the EXECUTIVE_GROUP on any subordinate object of
the EXECUTIVE_DATA catalog. In this way, general authorizations are
defined on higher level objects, and then exceptions are set on subordinate
objects. This minimizes the number of privileges that an administrator
must establish, and thereby reduces administration overhead. For
any object in the hierarchy of SAS Federation Server,
an administrator can request information about privileges held by
any user or group, including where in the hierarchy the privilege
was set and who the grantee of the privilege is, which can be a group
that the user is a member of, directly or indirectly.