Skip to content

Latest commit

 

History

History
179 lines (108 loc) · 10.4 KB

File metadata and controls

179 lines (108 loc) · 10.4 KB

Securing Data with Data Access Controls

Users with a space administrator role can create data access controls to allow modelers to apply row-level security to Data Builder and Business Builder objects. Once a data access control is applied to an object, any user viewing its data either directly or via an object using it as a source, will see only those records they are authorized to view, based on the specified criteria.

This topic contains the following sections:

Your criteria are defined in a table or view that lists SAP Datasphere user IDs (in the form required by your identity provider) and assigns them to one or more criteria. You can define the following types of criteria:

You can create one or more data access controls that consume each permissions entity, and select one or more columns in each data access control to specify the criteria that it will enforce. You can apply a single data access control to multiple views. Each view protected in this way will filter the results available in its data preview to only those rows meeting the criteria for the current user.

Note:

Permissions entities must not, themselves, be protected by a data access control, or have any protected view among their sources.

We recommend that you develop clear policies for securing data, and that you:

  • Focus in particular on securing transactional data and sensitive master data.

  • Avoid applying multiple data access controls to a view if possible.

  • Secure data as soon as possible once it is ingested into SAP Datasphere and then only use the protected view going forward, keeping the following factors in mind as you plan your modeling strategy for security and performance:

    • Encapsulating individual source tables in views and applying data access controls to them:

      • Improves performance by filtering records immediately, as fewer go forward for subsequent preparation.
      • Can impact performance when any view that combines multiple sources is run, by increasing the number of data access controls that must be applied.
      • Can impact performance by excluding the possibility of persisting subsequent views, since views cannot be persisted if any of their sources is protected by a data access control.
    • Doing initial processing and joining separate data sources before applying a single, more targeted data access control to the result:

      • Improves performance by applying only a single data access control to a combined view.
      • Improves performance by allowing the use of persistence at any stage during the preparation.
      • Can impact performance as more records will pass through each stage of the data preparation.
  • When using Operator and Values data access controls, try to control the size of the permissions entity and, in particular, avoid having more than 5,000 permissions records for a single user:

    • Consider applying the filter against a different column that could simplify calculation.
    • You can use the * operator to provide access to all records.

Note:

The row-level security provided by the data access control can be circumvented while the view remains in its space. It is enforced only when the view is:

  • Shared to another space, or
  • Consumed outside the space in SAP Analytics Cloud.

For information about:

Note:

If you experience performance issues with a view protected by a data access control, we recommend enabling replication for source tables, particularly if any source contains more than 500,000 rows.

This diagram shows a typical environment where a permissions entity is maintained by business users in one space and shared to a second space, where technical users create data access controls from it and apply them to views. These views are then shared to other spaces where they can be securely accessed by modelers and analysts:

A typical environment for implementing data access controls

In this environment:

  • The Permissions space users are a select group of business users who:

    • Maintain the Permissions table, assigning users (which, in this case, are identified by their email address) to the appropriate country, department, and any other relevant criteria:

      User ID

      Country

      Department

      [email protected]

      US

      Sales

      [email protected]

      FR

      Sales

    • Share the Permissions table to the IT space to use as a data source for data access controls.

      Note:

      Tables and views shared to a space cannot be directly used as the permissions entity for a data access control. Modelers in the space receiving the shared object must encapsulate it in a view, which can then serve as the permissions entity for one or more data access controls.

  • The IT space users are technical users who:

    • Use the shared Permissions table as the source for a Permissions view that they will use as a permissions entity in their space.

    • Create a Country data access control, which uses the Permissions view as its permissions entity.

    • Maintain a connection to a source system, from which they import the Sales table.

    • Create a Sales view for use by business analysts, to which they apply the Country data access control.

      Note:

      The row-level security provided by the Country data access control can still be circumvented while the view remains in the IT space.

    • Share the Sales view to the Sales space where it can be used securely.

  • The Sales space users use the protected Sales view to do analytics on sales data:

    • Anne is a data modeler in the US sales department. She connects to SAP Datasphere and combines the Sales view with other data. Whenever she previews data, she can only see US data.
    • Jennifer is a business analyst in the French sales department. She connects to SAP Analytics Cloud, builds a story on the Sales view, and can only see French sales data.