As a TM1 Developer for almost 2 decades, I tend to make assumptions on how TM1 behaves...
Well yesterday I was helping one of my users with a dimension attribute and to my complete surprise the user had write access and was able to update the attribute
Besides having a scooby-doo moment or a WTF moment for those of you who don't get the scooby-doo experience, this was extremly concerning to me
Since when can a user update an attribute?????
We are currently using 9.5.1 and I never remember in any previous version that users had write access by default to do this
Back in the old days (pre Version 7) I used look-up cubes but once attributes came onto the playing field I personally have never looked back and I do a tremendous amount of development using them
I have done so much development with attributes that the applications are at risk if a user can make changes
So I rolled up my sleeves to try and figure this one out...
With some trial and error making assumptions that if I just change the write access on the }ElementAttributes_DimensionName to READ this would solve the problem
No go...
Next I tried setting up cell security within the }ElementAttributes_DimensionName Cube
Again, no go...
I then took the TM1 service down to remove the cell security cube

and then I called it a night to attack it in the morning
With a fresh start this morning I took a deep breath and thought about it since based on my experience there is no way that TM1 would have such a gaping security hole in it
While dreaming about it last night, I thought... what would happen if you changed the write access at the top of the house... meaning at the dimension level instead of on the specific dimension
Well, go figure... I right-clicked on Dimensions... Security Assignments and there they were... all those little WRITE buggers
I changed all of them to READ for all users
I then logged in as a user and tried to update an attribute, and low and behold the user is now restricted... Phew!
I also verified that the user still has write access to enter data within the appropriate intersection
So Alan, I believe I may have proven you wrong
It actually makes perfect sense since the default for all TM1 objects is WRITE
However, having to make this change at the Dimension level doesn't quite compute but the fact that it's now fixed is really all that matters
Solanna