Security Deployment in SQL Server Analysis Services

This document provides comprehensive guidance on deploying and managing security for SQL Server Analysis Services (SSAS) instances. Effective security configuration is crucial for protecting your multidimensional and tabular models, ensuring data integrity, and controlling user access.

Understanding the SSAS Security Model

SSAS employs a role-based security model. Security is primarily managed through:

Configuring Server Roles

Server roles are managed directly within SQL Server Management Studio (SSMS) by connecting to the SSAS instance. The primary server roles include:

To configure server roles, navigate to the SSAS instance in SSMS, right-click on the instance name, select 'Properties', and then go to the 'Security' page.

Configuring Database Roles

Database roles define permissions at the SSAS database level. Common database roles include:

In SSMS, expand the SSAS instance, then expand 'Databases'. Right-click on the desired database, select 'New Role', and configure membership and permissions.

Implementing Object-Level Security

Object-level security (OLS) allows you to restrict access to specific cubes, dimensions, measure groups, perspectives, or tables within a tabular model. This is configured within the SSAS project in Visual Studio or by directly modifying the SSAS database using MDX or DAX scripts.

For Multidimensional Models:

  1. Open your SSAS project in Visual Studio.
  2. In Solution Explorer, right-click on 'Roles' and select 'New Role'.
  3. On the 'General' page, select 'Database role'.
  4. On the 'General' page, select 'Object access'.
  5. For each object (cube, dimension, etc.), choose 'Read' or 'Deny' access.

For Tabular Models:

  1. In Visual Studio, right-click on 'Roles' and select 'New Role'.
  2. Configure the 'Table Permissions' and 'Column Permissions' for the role.

Configuring Cell-Level Security

Cell-level security (CLS) restricts access to specific data cells within a cube based on user roles. This is typically implemented using MDX expressions within the role definition.

In SSMS, when editing a role, you can define CLS rules on the 'Cell Data' page. You specify which cells are restricted and for which users or roles.

Tip: Carefully plan your CLS requirements. Complex CLS rules can impact query performance. Consider using perspectives or pre-aggregated data for common user views.

Deployment Considerations

When deploying SSAS solutions, ensure that security configurations are accurately transferred. This can involve:

Security Best Practices

Important: Never grant unnecessary administrative privileges. Regularly update SSAS and related Windows components to patch any security vulnerabilities.

Further Resources