28.01.2013 Views

SAP HANA Developer Guide - Get a Free Blog

SAP HANA Developer Guide - Get a Free Blog

SAP HANA Developer Guide - Get a Free Blog

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8. Select the packages to which you want authorize access and, in the Privileges for screen page, check the<br />

required privileges, for example:<br />

a) REPO.READ<br />

Read access to the selected package and design-time objects (both native and imported)<br />

b) REPO.EDIT_NATIVE_OBJECTS<br />

Authorization to modify design-time objects in packages originating in the system the user is working in<br />

c) REPO.ACTIVATE_NATIVE_OBJECTS<br />

Authorization to activate/reactivate design-time objects in packages originating in the system the user is<br />

working in<br />

d) REPO.MAINTAIN_NATIVE_PACKAGES<br />

Authorization to update or delete native packages, or create sub-packages of packages originating in the<br />

system in which the user is working<br />

12.4.4 Analytic Privileges<br />

SQL privileges impose coarse-grained restrictions at object level only. Users either have access to an object, such<br />

as a table, view or procedure, or they do not. While this is often sufficient, there are cases when access to data in<br />

an object depends on certain values or combinations of values. Analytic privileges are used in the <strong>SAP</strong> <strong>HANA</strong><br />

database to provide such fine-grained control of which data individual users can see within the same view.<br />

Note: Sales data for all regions are contained within one analytic view. However, regional sales managers<br />

should only see the data for their region. In this case, an analytic privilege could be modeled so that they<br />

can all query the view, but only the data that each user is authorized to see is returned.<br />

Analytic privileges are intended to control access to <strong>SAP</strong> <strong>HANA</strong> information models, that is:<br />

● Attribute views<br />

● Analytic views<br />

● Calculation views<br />

Therefore, all column views modeled and activated in the <strong>SAP</strong> <strong>HANA</strong> modeler automatically enforce an<br />

authorization check based on analytic privileges. Column views created using SQL must be explicitly registered<br />

for such a check (by passing the parameter REGISTERVIEWFORAPCHECK).<br />

Note: Analytic privileges do not apply to database tables or views modeled on row-store tables. Access to<br />

database tables and row views is controlled entirely by SQL object privileges.<br />

You create and manage analytic privileges in the <strong>SAP</strong> <strong>HANA</strong> modeler.<br />

Note: Some advanced features of analytic privileges, namely dynamic value filters, can only be<br />

implemented using SQL. The management of such analytic privileges created in SQL also varies to those<br />

created in the <strong>SAP</strong> <strong>HANA</strong> modeler.<br />

Structure of Analytic Privileges<br />

An analytic privilege consists of a set of restrictions against which user access to a particular attribute view,<br />

analytic view, or calculation view is verified. Each restriction controls the authorization check on the restricted<br />

view using a set of value filters. A value filter defines a check condition that verifies whether or not the values of<br />

the view (or view columns) qualify for user access.<br />

The specification of these restrictions is contained in an XML document that conforms to a defined XML schema<br />

definition (XSD).<br />

The following restriction types can be used to restrict data access:<br />

● View<br />

332<br />

P U B L I C<br />

© 2012 <strong>SAP</strong> AG. All rights reserved.<br />

<strong>SAP</strong> <strong>HANA</strong> <strong>Developer</strong> <strong>Guide</strong><br />

Setting Up Roles and Authorizations

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!