dbTalk Databases Forums  

Drillthrough Security

microsoft.public.sqlserver.olap microsoft.public.sqlserver.olap


Discuss Drillthrough Security in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Jon Derbyshire
 
Posts: n/a

Default Drillthrough Security - 01-11-2006 , 10:40 AM






Hi,

I have an AS2000 cube that pulls back "sensitive" information via its
drillthrough.

I have 2 set of users: Group 1 and Group 2.

I need Group 1 to be able to see everything when using the drillthrough, and
I need group 2 to see everthing but 1 column. This 1 column holds the
sensitive data. It is viable that the data is just masked, rather than being
compltely removed.

For performance issues, it's important that I stick with 1 cube - I DONT
WANT 2 CUBES...

Can anyone please tell me how I can achieve this please?

Thanks in advance.

Jon Derbyshire


Reply With Quote
  #2  
Old   
 
Posts: n/a

Default Re: Drillthrough Security - 01-12-2006 , 05:33 AM






If you control Group 1 and/or Group 2 via windows groups I can think of
a possible solution. Ideally at least one of these would map to a single
windows group which in turn is mapped onto an OLAP role.

Create a view over the fact table where you create an extra column that
has a CASE statement that masks the sensitive column based on the the
IS_MEMBER() SQL function, which detects if the user is in group 1 or 2.

Then alter the cube to use this new view as the fact table and change
your drill through options to the new masking column from this view
rather than the column from the fact table itself.

--
Regards
Darren Gosbell [MCSD]
Blog: http://www.geekswithblogs.net/darrengosbell

In article <BD08E77E-9A52-4942-BC72-1BD984F92F1A (AT) microsoft (DOT) com>,
JonDerbyshire (AT) discussions (DOT) microsoft.com says...
Quote:
Hi,

I have an AS2000 cube that pulls back "sensitive" information via its
drillthrough.

I have 2 set of users: Group 1 and Group 2.

I need Group 1 to be able to see everything when using the drillthrough, and
I need group 2 to see everthing but 1 column. This 1 column holds the
sensitive data. It is viable that the data is just masked, rather than being
compltely removed.

For performance issues, it's important that I stick with 1 cube - I DONT
WANT 2 CUBES...

Can anyone please tell me how I can achieve this please?

Thanks in advance.

Jon Derbyshire



Reply With Quote
  #3  
Old   
Jon Derbyshire
 
Posts: n/a

Default Re: Drillthrough Security - 01-12-2006 , 08:34 AM



Darren,

That's Excellent - It works perfectly.

Thanks so much.

Jon D

"Darren Gosbell" wrote:

Quote:
If you control Group 1 and/or Group 2 via windows groups I can think of
a possible solution. Ideally at least one of these would map to a single
windows group which in turn is mapped onto an OLAP role.

Create a view over the fact table where you create an extra column that
has a CASE statement that masks the sensitive column based on the the
IS_MEMBER() SQL function, which detects if the user is in group 1 or 2.

Then alter the cube to use this new view as the fact table and change
your drill through options to the new masking column from this view
rather than the column from the fact table itself.

--
Regards
Darren Gosbell [MCSD]
Blog: http://www.geekswithblogs.net/darrengosbell

In article <BD08E77E-9A52-4942-BC72-1BD984F92F1A (AT) microsoft (DOT) com>,
JonDerbyshire (AT) discussions (DOT) microsoft.com says...
Hi,

I have an AS2000 cube that pulls back "sensitive" information via its
drillthrough.

I have 2 set of users: Group 1 and Group 2.

I need Group 1 to be able to see everything when using the drillthrough, and
I need group 2 to see everthing but 1 column. This 1 column holds the
sensitive data. It is viable that the data is just masked, rather than being
compltely removed.

For performance issues, it's important that I stick with 1 cube - I DONT
WANT 2 CUBES...

Can anyone please tell me how I can achieve this please?

Thanks in advance.

Jon Derbyshire




Reply With Quote
  #4  
Old   
Deepak Puri
 
Posts: n/a

Default Re: Drillthrough Security - 01-12-2006 , 03:14 PM



Hi Darren and Jon,


Maybe I'm missing something, but doesn't the OLAP server drillthrough
SQL query execute in the fixed security context of the
MSSQLServerOLAPService account, rather than in the context of the
individual user - in which case, how would the data source (presumably
SQL Server?) detect the end-user?


- Deepak

Deepak Puri
Microsoft MVP - SQL Server

*** Sent via Developersdex http://www.developersdex.com ***

Reply With Quote
  #5  
Old   
Jon Derbyshire
 
Posts: n/a

Default Re: Drillthrough Security - 01-13-2006 , 05:25 AM



Deepak,

It turns out that you're correct...

I had not properly tested it - stupid me...

Can you possibly suggest a way to do it?

FYI - The drillthrough is being actioned via the MS Analysis Services Excel
Add-in...

Jon Derbyshire

"Deepak Puri" wrote:

Quote:
Hi Darren and Jon,


Maybe I'm missing something, but doesn't the OLAP server drillthrough
SQL query execute in the fixed security context of the
MSSQLServerOLAPService account, rather than in the context of the
individual user - in which case, how would the data source (presumably
SQL Server?) detect the end-user?


- Deepak

Deepak Puri
Microsoft MVP - SQL Server

*** Sent via Developersdex http://www.developersdex.com ***


Reply With Quote
  #6  
Old   
Deepak Puri
 
Posts: n/a

Default Re: Drillthrough Security - 01-13-2006 , 12:02 PM



Hi Jon,

So far I couldn't come up with a solution in AS 2000. Is AS 2005 an
option for you, in which case drillthrough architecture is different?


- Deepak

Deepak Puri
Microsoft MVP - SQL Server

*** Sent via Developersdex http://www.developersdex.com ***

Reply With Quote
  #7  
Old   
 
Posts: n/a

Default Re: Drillthrough Security - 01-14-2006 , 10:28 PM



doh... and is seemed like such a reasonable solution

Deepak is right, I can't think of any secure ways of achieving this in
AS2k given the context of the drillthrough connection. I played with a
few options this morning, trying to get some sort of information about
the user context passed through to the drillthrough query, but without
success.

You could modify or write your own drillthrough add-in that implements
the masking, but that is inherently insecure as anyone who queried the
cube directly would bypass the security.

You could use actions and a reporting services report to do the
drillthrough and mask the column. This is a lot more work, but it could
be set up to implement the masking in a lot more secure manner. But if
you have any dimensional security, a user could bypass it by altering
the parameters sent to the report.

So unless you are not using dimensional security Deepak's suggestion of
looking into AS2k5 might be the only option to get this type of
drillthrough working.

--
Regards
Darren Gosbell [MCSD]
Blog: http://www.geekswithblogs.net/darrengosbell

In article <EC6CE1B3-15F3-4A90-AA05-6B71A2414C3A (AT) microsoft (DOT) com>,
JonDerbyshire (AT) discussions (DOT) microsoft.com says...
Quote:
Deepak,

It turns out that you're correct...

I had not properly tested it - stupid me...

Can you possibly suggest a way to do it?

FYI - The drillthrough is being actioned via the MS Analysis Services Excel
Add-in...

Jon Derbyshire

"Deepak Puri" wrote:

Hi Darren and Jon,


Maybe I'm missing something, but doesn't the OLAP server drillthrough
SQL query execute in the fixed security context of the
MSSQLServerOLAPService account, rather than in the context of the
individual user - in which case, how would the data source (presumably
SQL Server?) detect the end-user?


- Deepak

Deepak Puri
Microsoft MVP - SQL Server

*** Sent via Developersdex http://www.developersdex.com ***




Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.