یکی از مهمترین دغدغهها در طراحی داشبوردهای مدیریتی، امنیت دادههاست. همیشه لازم نیست همه کاربران همه دادهها را ببینند.
برای مثال:
- مدیر شعبه تهران باید فقط دادههای مربوط به شعبه خودش را ببیند.
- مدیر مالی فقط به دادههای بخش مالی دسترسی داشته باشد.
اینجاست که قابلیت Row-Level Security (RLS) در Power BI وارد عمل میشود.
Row-Level Security (RLS) چیست؟
RLS قابلیتی است که به شما امکان میدهد دسترسی کاربران به دادهها را در سطح ردیف (Row) محدود کنید.
به زبان ساده: هر کاربر فقط دادهای را میبیند که برایش تعریف شده است.
کاربردهای RLS در سازمانها
- بانکداری و مالی: هر شعبه فقط دادههای خودش را ببیند.
- فروش و بازاریابی: کارشناس فروش فقط مشتریان حوزه خودش را مشاهده کند.
- منابع انسانی: کارمند فقط اطلاعات واحد یا تیم خودش را ببیند.
- سلامت: پزشک فقط پرونده بیماران خودش را مشاهده کند.
انواع RLS در Power BI
- Static RLS (ثابت):
- نقشها و فیلترها بهصورت ثابت در مدل داده تعریف میشوند.
- مثال: نقش “مدیر تهران” فقط دادههای City = Tehran را میبیند.
- Dynamic RLS (پویا):
- دسترسیها بر اساس مشخصات کاربر (User Principal Name) بهصورت داینامیک کنترل میشود.
- مثال: هر کاربر فقط دادههایی را میبیند که در جدول امنیت برای او تعریف شده است.
مراحل پیادهسازی RLS در Power BI
۱. ایجاد نقشها (Roles)
- در Power BI Desktop وارد Modeling > Manage Roles شوید.
- یک نقش جدید تعریف کنید (مثلاً “مدیر تهران”).
- فیلتر شرطی برای آن بنویسید:
[City] = "Tehran"
۲. تست نقشها
- از گزینه View as Roles استفاده کنید.
- داشبورد را مانند یک کاربر خاص ببینید تا مطمئن شوید محدودیت درست اعمال شده است.
۳. انتشار در Power BI Service
- فایل را در Power BI Service منتشر کنید.
- نقشها و دسترسیها را به کاربران اختصاص دهید.
۴. پیادهسازی RLS پویا (Dynamic RLS)
- یک جدول امنیت (Security Table) بسازید که نام کاربر و محدوده داده مجاز را مشخص کند.
- از تابع DAX زیر استفاده کنید:
[UserEmail] = USERPRINCIPALNAME()
- این کار باعث میشود هر کاربر فقط دادههای خودش را ببیند.
بهترین روشها (Best Practices)
- همیشه از Dynamic RLS برای انعطاف بیشتر استفاده کنید.
- تست نقشها قبل از انتشار را فراموش نکنید.
- در سازمانهای بزرگ، مدیریت نقشها را در دیتابیس انجام دهید نه فقط در Power BI.
- گزارش کنید که هر نقش دقیقاً به چه دادهای دسترسی دارد.
سوالات متداول (FAQ)
۱. فرق RLS استاتیک و داینامیک چیست؟
استاتیک برای نقشهای ثابت است، ولی داینامیک بر اساس هویت کاربر (ایمیل/نام کاربری) داده را فیلتر میکند.
۲. آیا RLS در Power BI Desktop هم کار میکند؟
بله، میتوانید نقشها را تست کنید اما برای اعمال روی کاربران واقعی باید فایل را در Power BI Service منتشر کنید.
۳. آیا RLS باعث کندی گزارشها میشود؟
خیر، اگر بهدرستی طراحی شود تاثیر منفی روی Performance ندارد.
۴. آیا میتوان RLS را با امنیت دیتابیس ترکیب کرد؟
بله، بهترین روش همین است: ابتدا امنیت در دیتابیس، سپس RLS در Power BI.
نتیجهگیری
Row-Level Security (RLS) یکی از حیاتیترین قابلیتهای Power BI برای مدیریت دسترسی و امنیت دادههاست. با استفاده از آن میتوانید مطمئن شوید که هر کاربر فقط دادههای مربوط به خودش را میبیند و اطلاعات حساس سازمان محفوظ میماند.
پیشنهاد لاندا
تیم لاندا آماده است تا با پیادهسازی راهکارهای امنیتی BI و طراحی RLS داینامیک، امنیت دادههای شما را تضمین کند و داشبوردهایی ایمن و شخصیسازی شده بسازد.
ارتباط و مشاوره
برای اطلاعات بیشتر و مشاوره میتوانید از طریق زیر با ما در ارتباط باشید:
نظری داده نشده