Tôi có một khối lập phương trong SSAS 2012 với khoảng 30 kích thước, một trong số đó là Company
.
Các Company
tham số chứa một danh sách các công ty, trong đó có vài trăm trong khối lập phương. Mô hình bảo mật của chúng tôi yêu cầu người dùng chỉ có thể nhìn thấy các Company
giá trị mà họ đã được chỉ định.
Trong môi trường Máy chủ SQL của chúng tôi, chúng tôi kiểm soát quyền truy cập này thông qua một loạt các chức năng được JOIN
ed trong VIEW
s. Các hàm trả về một bảng liệt kê tất cả các Company
giá trị, được sử dụng để lọc kết quả.
Ví dụ:
CREATE VIEW dbo.FakeView
AS
SELECT d.*
FROM FunctionToGetAccess(SYSTEM_USER) f
INNER JOIN DataTable d
ON d.CompanyID = f.CompanyID
Có cách nào để tôi chuyển logic này hoặc logic tương tự sang bảo mật cấp thứ nguyên trong SSAS không?
Một vài lưu ý:
- Cube sẽ được xây dựng lại qua đêm
- Bảo mật không phải là hiện tại hàng giờ, nhưng nên được xử lý lại trong quá trình xử lý khối qua đêm
- Tôi đặc biệt không muốn phải cụ thể hóa danh sách người dùng và cho phép khách hàng vào một bảng hoặc thứ nguyên