CellSecurity Cube question
-
- Posts: 42
- Joined: Mon Sep 21, 2015 2:24 pm
- OLAP Product: Cognos TM1
- Version: 10.2.2
- Excel Version: Excel 2010
CellSecurity Cube question
Hi all,
If I build the }CellSecurity_cube1 for the cube1, the }ElementSecurity_dim1, }ElementSecurity_dim2 and etc don't work anymore. Is it correct?
For example dim1 is year dimension, dim2 is datatype dimension. For "2016" in dim1, "d1" in dim2, if }CellSecurity_cube1 sets the cells for "2016" "d1" as WRITE, even }ElementSecurity_dim1 sets "2016" as READ, and }ElementSecurity_dim2 sets "d1" as READ, the the cells in cube1 for "2016" "d1" are still writable. Vice versa.
CellSecurity takes over the controll from ElementSecurity. Since there are more ElementSecurity, it will be a lot of work to build CellSecurity to cover the authority concepts.
Best regards,
Learn_TM1
If I build the }CellSecurity_cube1 for the cube1, the }ElementSecurity_dim1, }ElementSecurity_dim2 and etc don't work anymore. Is it correct?
For example dim1 is year dimension, dim2 is datatype dimension. For "2016" in dim1, "d1" in dim2, if }CellSecurity_cube1 sets the cells for "2016" "d1" as WRITE, even }ElementSecurity_dim1 sets "2016" as READ, and }ElementSecurity_dim2 sets "d1" as READ, the the cells in cube1 for "2016" "d1" are still writable. Vice versa.
CellSecurity takes over the controll from ElementSecurity. Since there are more ElementSecurity, it will be a lot of work to build CellSecurity to cover the authority concepts.
Best regards,
Learn_TM1
-
- Regular Participant
- Posts: 424
- Joined: Sat Mar 10, 2012 1:03 pm
- OLAP Product: IBM TM1, Planning Analytics, P
- Version: PAW 2.0.8
- Excel Version: 2019
Re: CellSecurity Cube question
Did you look at below post:
http://www.tm1forum.com/viewtopic.php?f=3&t=12623 Thanks
http://www.tm1forum.com/viewtopic.php?f=3&t=12623 Thanks
"You Never Fail Until You Stop Trying......"
-
- Posts: 42
- Joined: Mon Sep 21, 2015 2:24 pm
- OLAP Product: Cognos TM1
- Version: 10.2.2
- Excel Version: Excel 2010
Re: CellSecurity Cube question
Is it possible to write one rule in }CellSecurity_cube1, which takes the security setting from the }ElementSecurity_dim? Could some one give me one example how to write it? Many thanks.
I tried to add the following rules to }CellSecurity_cube1:
[] = S:IF(DB('}ElementSecurity_dim1,!Version,!Groups')@='READ'
% DB('}ElementSecurity_dim1,!Version,!Groups')@='', 'READ','WRITE');
But it doesn't work. The }CellSecurity_cube1 doesn't take the "READ" "WRITE" from }ElementSecurity_dim1. Could some one help me out?
I tried to add the following rules to }CellSecurity_cube1:
[] = S:IF(DB('}ElementSecurity_dim1,!Version,!Groups')@='READ'
% DB('}ElementSecurity_dim1,!Version,!Groups')@='', 'READ','WRITE');
But it doesn't work. The }CellSecurity_cube1 doesn't take the "READ" "WRITE" from }ElementSecurity_dim1. Could some one help me out?
-
- MVP
- Posts: 3229
- Joined: Mon Dec 29, 2008 6:26 pm
- OLAP Product: TM1, Jedox
- Version: PAL 2.1.5
- Excel Version: Microsoft 365
- Location: Brussels, Belgium
- Contact:
Re: CellSecurity Cube question
This approach should work if you apply it properly.Learn_TM1 wrote:Is it possible to write one rule in }CellSecurity_cube1, which takes the security setting from the }ElementSecurity_dim? Could some one give me one example how to write it? Many thanks.
I tried to add the following rules to }CellSecurity_cube1:
[] = S:IF(DB('}ElementSecurity_dim1,!Version,!Groups')@='READ'
% DB('}ElementSecurity_dim1,!Version,!Groups')@='', 'READ','WRITE');
But it doesn't work. The }CellSecurity_cube1 doesn't take the "READ" "WRITE" from }ElementSecurity_dim1. Could some one help me out?
For example, you don't seem to understand the single quotes.
Best regards,
Wim Gielis
IBM Champion 2024-2025
Excel Most Valuable Professional, 2011-2014
https://www.wimgielis.com ==> 121 TM1 articles and a lot of custom code
Newest blog article: Deleting elements quickly
Wim Gielis
IBM Champion 2024-2025
Excel Most Valuable Professional, 2011-2014
https://www.wimgielis.com ==> 121 TM1 articles and a lot of custom code
Newest blog article: Deleting elements quickly
-
- Posts: 42
- Joined: Mon Sep 21, 2015 2:24 pm
- OLAP Product: Cognos TM1
- Version: 10.2.2
- Excel Version: Excel 2010
Re: CellSecurity Cube question
Hi Wim,
The problem has been solved. It really needs to consider the comprehensive conditions for the rules of CellSecurity cube, in order to take over the authentication of ElementSecurity and also fulfill the specified requirement of CellSecurity.
The rule in my last post uses the empty single quotes, because I want to cover the condition, when the ElementSecurity sets neither READ nor WRITE, but Empty. But this logic doesn't work anyway. So I changed it.
Best regards,
Learn_TM1
The problem has been solved. It really needs to consider the comprehensive conditions for the rules of CellSecurity cube, in order to take over the authentication of ElementSecurity and also fulfill the specified requirement of CellSecurity.
The rule in my last post uses the empty single quotes, because I want to cover the condition, when the ElementSecurity sets neither READ nor WRITE, but Empty. But this logic doesn't work anyway. So I changed it.
Best regards,
Learn_TM1
-
- MVP
- Posts: 3229
- Joined: Mon Dec 29, 2008 6:26 pm
- OLAP Product: TM1, Jedox
- Version: PAL 2.1.5
- Excel Version: Microsoft 365
- Location: Brussels, Belgium
- Contact:
Re: CellSecurity Cube question
In fact, I meant this:Learn_TM1 wrote:HThe rule in my last post uses the empty single quotes, because I want to cover the condition, when the ElementSecurity sets neither READ nor WRITE, but Empty. But this logic doesn't work anyway. So I changed it.
IF(DB('}ElementSecurity_dim1,!Version,!Groups')
The second single quote should be placed after dim1.
Best regards,
Wim Gielis
IBM Champion 2024-2025
Excel Most Valuable Professional, 2011-2014
https://www.wimgielis.com ==> 121 TM1 articles and a lot of custom code
Newest blog article: Deleting elements quickly
Wim Gielis
IBM Champion 2024-2025
Excel Most Valuable Professional, 2011-2014
https://www.wimgielis.com ==> 121 TM1 articles and a lot of custom code
Newest blog article: Deleting elements quickly
-
- Posts: 42
- Joined: Mon Sep 21, 2015 2:24 pm
- OLAP Product: Cognos TM1
- Version: 10.2.2
- Excel Version: Excel 2010
Re: CellSecurity Cube question
You are right. The cube name should be included in single quote. I changed it after that.Wim Gielis wrote:In fact, I meant this:Learn_TM1 wrote:HThe rule in my last post uses the empty single quotes, because I want to cover the condition, when the ElementSecurity sets neither READ nor WRITE, but Empty. But this logic doesn't work anyway. So I changed it.
IF(DB('}ElementSecurity_dim1,!Version,!Groups')
The second single quote should be placed after dim1.
-
- Posts: 42
- Joined: Mon Sep 21, 2015 2:24 pm
- OLAP Product: Cognos TM1
- Version: 10.2.2
- Excel Version: Excel 2010
Re: CellSecurity Cube question
Could some one give me the official IBM document about the work mechanism of CellSecurity? It seems that the CellSecurity works different as DimensionSecurity and ElementSecurity. For the DimensionSecurity, it sets all Dimension to all user groups to WRITE. Then different ElementSecurity can block the specified element for some user groups, by setting it as READ. As long as ElementSecurity sets as READ, even DimensionSecurity sets as WRITE, the user group still can't change the value of those cells.
But CellSecurity is different. If CellSecurity sets for the specified Element as WRITE, even ElementSecurity sets it as READ, user can still change the value of the cell.
Could some one explain me why it is so? Is there document to describe it in details?
But CellSecurity is different. If CellSecurity sets for the specified Element as WRITE, even ElementSecurity sets it as READ, user can still change the value of the cell.
Could some one explain me why it is so? Is there document to describe it in details?
- qml
- MVP
- Posts: 1096
- Joined: Mon Feb 01, 2010 1:01 pm
- OLAP Product: TM1 / Planning Analytics
- Version: 2.0.9 and all previous
- Excel Version: 2007 - 2016
- Location: London, UK, Europe
Re: CellSecurity Cube question
The TM1 Developer Guide has a section chapter Controlling Access to TM1 Objects > Interaction of Different Object Security Rights. It says the following:Learn_TM1 wrote:But CellSecurity is different. If CellSecurity sets for the specified Element as WRITE, even ElementSecurity sets it as READ, user can still change the value of the cell.
Could some one explain me why it is so? Is there document to describe it in details?
Which is not untrue, but it is not entirely accurate either, because it does not take into account Cell Security. Cell Security takes a sort of priority over other types of object security and allows you to override more restrictive access given by element or cube security. It is not a 100% override, because if e.g. your element security is set to NONE and cell security to WRITE then you won't be able to write to the cell because you will not see the appropriate element.If you apply different security rights to the objects that identify a cell of data, TM1 applies the most restrictive security right to the cell.
In summary, what you are observing is expected, even if not extensively documented. Cell security is just a different type of beast from other types of object security.
Kamil Arendt
-
- Posts: 2
- Joined: Tue Mar 01, 2016 4:07 am
- OLAP Product: TM1
- Version: 10.2.2
- Excel Version: Excel 2013 64 bit
- Location: Canberra, Australia
Re: CellSecurity Cube question
Does this mean however that by using perspectives and knowing the name of the element then you could write to the cell because you have cell access despite not having element access?your element security is set to NONE and cell security to WRITE then you won't be able to write to the cell because you will not see the appropriate element.
-
- Posts: 18
- Joined: Wed Sep 30, 2015 12:40 pm
- OLAP Product: TM1
- Version: 9.5.2+
- Excel Version: 2007
Re: CellSecurity Cube question
Minor correction: I don't believe cell security can override cube security. So if cube security is READ and cell security is WRITE, the resolved security is READ.qml wrote: Cell Security takes a sort of priority over other types of object security and allows you to override more restrictive access given by element or cube security.
In regard to the OP, why write a rule to make cell security read and replicate element security? A blank value for cell security allows element security to still be used. It only acts as an override in the specific cells that it has a value for. (This is assuming you have CELLSECURITYDEFAULTVALUE set to an empty value.)
Emily Wilkins - Software Engineer
Motio, Inc.
Motio, Inc.