Cube CreateAccessCube

Creates a cube for access control (type 'D'). Depending on the number of dimensions, the cube is usable as a DAC or not. The function adds the roles dimension (#_GRP_) automatically to the cube definition. It expects that the roles dimension is not listed in the parameters. The minimum number of input dimensions is 1.

Request

<Alea:Document xmlns:Alea="http://www.misag.com">
  <Alea:Request RequestID="001" Class="Cube" Method="CreateAccessCube">
    <Alea:Cube Name="CubeName">
      <Alea:Description>Cube Long Name</Alea:Description>
      <Alea:Dimension Name="Dimension 1"/>
      <!-- the following dimensions are optional -->
      <Alea:Dimension Name="Dimension 2"/>
      <!-- ... -->
      <Alea:Dimension Name="Dimension 29"/>
    </Alea:Cube>
  </Alea:Request>
</Alea:Document>

Answer

<Alea:Document xmlns:Alea="http://www.misag.com">
  <Alea:Request RequestID="001">
    <Alea:Return/>
  </Alea:Request>
</Alea:Document>

Error

<Alea:Document xmlns:Alea="http://www.misag.com">
  <Alea:Request RequestID="001">
    <Alea:Error ErrorID="error_code"/>
  </Alea:Request>
</Alea:Document>

Creating a DAC cube

For each dimension in a database, you can create a Dimension Access Control (DAC) cube. This is a two-dimensional cube containing a list of all the roles as one dimension and the selected dimension as the second dimension. In the cube you can assign Read (1), Write (2), None (0), Administrator (3), or Default (Null) permissions for the different dimension elements to roles.

Only users with administrator permissions can access this cube. You must use the Repository to assign global access permissions like administrator permissions.

<Alea:Document xmlns:Alea="http://www.misag.com">
  <Alea:Request RequestID="001" Class="Cube" Method="CreateAccessCube">
    <Alea:Cube Name="#DAC_CHANNEL">
      <Alea:Description>#DAC CHANNEL</Alea:Description>
      <Alea:Dimension Name="CHANNEL" />
    </Alea:Cube>
  </Alea:Request>
</Alea:Document>

The #DAC_CHANNEL cube contains these dimensions:

  • #_GRP_ (Role dimension)
  • CHANNEL

Creating a MDAC cube

You can create a cube for multidimensional access control (MDAC) to several dimensions in a database. One dimension contains a list of all the roles read from the Repository. The MDAC cube must also contain at least one dimension of the cube to which you want to control access. In it you can assign Read and Write permissions to cells.

You can assign a cube several MDACs but you must write access to all of them.

Only users with administrator permissions can access this cube. You must use the repository to assign global access permissions like administrator permissions.

<Alea:Document xmlns:Alea="http://www.misag.com">
  <Alea:Request RequestID="001" Class="Cube" Method="CreateAccessCube">
    <Alea:Cube Name="#MDAC_PERIOD_REGION">
      <Alea:Description>#MDAC </Alea:Description>
      <Alea:Dimension Name="PERIOD" />
      <Alea:Dimension Name="REGION" />
    </Alea:Cube>
  </Alea:Request>
</Alea:Document>

The #MDAC_PERIOD_REGION cube contains the dimensions:

  • #_GRP_ (Role dimension)
  • PERIOD
  • REGION

You specify Write permission for the [View_Role, 2002, Czech Republic] cell in the MDAC cube.

All members of the View_Role can write to ANALYSIS cells with 2002, any element from POS, any element from PRODUCT, region Czech Republic, any element from CHANNEL, any element from MEASURE and any element from VALTYPE.