همه دسته بندی ها
Row Level Security in Tableau - داده کاوی ویستا

نحوه پیاده سازی Row Level Security (RLS) در تبلو

امروزه، سازمان‌ها در هر اندازه‌ای از چند بیماری رایج مانند مصالحه در امور محرمانه و مدیریت زمان رنج می‌برند. چقدر خوب است که راه حلی برای نشان دادن اطلاعاتی که بینندگان باید ببینند داشته باشیم. امنیت سطح ردیف یا Row Level Security (RLS) در تبلو این راه حل است.

این مقاله تمام آنچه را که برای شروع کار با Row Level Security در تبلو نیاز دارید را مورد بحث قرار می دهد و طرح کلی آن به شرح زیر است.

 

پیش نیازهای ایجاد Row Level Security در تبلو

  1.  شما نیاز به ایجاد کاربر و گروه در Tableau Server دارید.
  2.  باید به Tableau Server/Tableau Online متصل باشید زیرا Tableau Desktop لیست کاربران و گروه ها را از آنجا دانلود می کند.
  3. فیلتر کاربر شما باید مطابق با ترتیب فیلتر در تبلو در همان سطح منبع داده باشد

توجه: منابع داده جاسازی شده امنیت کمتری دارند و فقط در صورتی باید از آنها استفاده شود که ویرایش/دانلود وب غیرفعال باشد.

 

مقدمه ای بر RLS

قبل از درک امنیت سطح ردیف در تبلو، باید برخی اصطلاحات، یعنی جدول‌های Entitlement  را بدانید.

Entitlement اساساً یک ترکیب منحصر به فرد از ویژگی ها است که نمای داده بر روی آن فیلتر می شود. این ویژگی ها باید در ستون(های) نمای داده وجود داشته باشد. این می تواند یک سلسله مراتب جغرافیایی از یک منطقه، زیر منطقه، و کشور، یا هر ترکیب دیگری که می توانید به آن فکر کنید.

جدول Entitlement  ترکیبی از اسناد است که داده ها روی آن فیلتر می شوند. به عنوان مثال، فیلتر در منطقه، منطقه فرعی و کشور (همانطور که قبلا ذکر شد) یک حق واحد است. شیوه های استاندارد طراحی پایگاه داده به این معنی است که شما به ندرت یک جدول واحد دارید که با معیارهای جدول حقوق مطابقت داشته باشد. اغلب داده ها معمولاً یک به یک برای یک کاربر منفرد نگاشت نمی شوند. اغلب اوقات امنیت داده ها بر اساس نقش، نام سازمان یا هر دو سازماندهی می شود.

 

تفکیک اساسی فرآیند را می توان در مراحل زیر توضیح داد:

  • نام کاربری را تعیین کنید
  • حق داده های خود را برای کاربر مذکور، فقط آن کاربر، دریافت کنید
  • داده های خود را بر اساس آن حقوق فیلتر کنید

 

Row Level Security in Tableau - داده کاوی ویستا

راه هایی برای پیاده سازی امنیت سطح ردیف (RLS) در Tableau

2 گزینه اصلی برای اجرای امنیت در سطح ردیف وجود دارد:

  1. فقط با استفاده از Tableau
  2. با استفاده از Hybrid Approach

 

استفاده از Tableau

یکی از راه‌های پیاده‌سازی امنیت سطح ردیف، صرفاً از طریق Tableau است. شما می توانید این کار را با استفاده از:

  • Live/Extract connection
  • فیلتر کاربر برای هر منبع داده ساخته و اعمال می شود

بیایید مثالی از اجرای Row Level Security با استفاده از تبلو با فیلترهای کاربر تعریف شده در Tableau Desktop را در نظر بگیریم. اول از همه، ما کاربران و گروه های مورد نیاز در Tableau Online را ایجاد می کنیم.

روی نوار Menu> Server> Create User Filter کلیک کنید. برای شروع فرم فیلتر کاربر، فهرستی از فیلدهای موجود قبل از شما ظاهر می شود.

همچنین، اگر قبلاً به Tableau Server/Online وارد نشده اید، ممکن است در این مرحله از شما خواسته شود که این کار را انجام دهید.

Row Level Security in Tableau - داده کاوی ویستا

 

در اینجا ما برخی از داده های جغرافیایی داریم و باید هر کاربر را به منطقه مناسب خود به گونه ای اختصاص دهیم که تنها به یک کاربر اجازه دهد تا به یک ردیف داده از داده ها نقشه برداری کند.

محاسبه کاربر کاملاً جدید شما مانند سایر فیلدهای شما در زیر معیارها در صفحه داده ظاهر می شود.

Row Level Security in Tableau - داده کاوی ویستا

 

در کادر محاوره ای که ظاهر می شود، True را انتخاب کرده و بر روی OK کلیک کنید.

 

استفاده از Hybrid Approach

راه دیگر برای پیاده سازی امنیت سطح ردیف از طریق یک Hybrid Approach است که در آن اطلاعات کاربر در Tableau Server یا Tableau Online با عناصر داده در پایگاه داده مطابقت دارد.

  • Live/Extract connection
  • Leverage Data Server
  • از فیلترهای منبع داده استفاده کنید

بنابراین، در این مثال ما به هر دو سفارش با نمایندگان فروش مربوطه متصل می شویم. این شامل داده های واقعی برای تجسم و جدول Entitlement است که جدول افراد است. جدول داده ها به جدول Entitlement الحاق می شود که نام کاربر و مقادیر کلیدی را در بر می گیرد. جدول نمونه ای از وجود مؤلفه هایی در پایگاه داده است که کاربران را به عناصر داده خاصی مانند Users to Regions مرتبط می کند.

 

Row Level Security in Tableau - داده کاوی ویستا

 

توجه: این مثال نسبتا ابتدایی است که در real life همیشه اینطور نیست.

 

ما از یک فیلد محاسبه‌شده برای ایجاد یک فیلتر کاربری استفاده می‌کنیم که از این داده‌ها استفاده می‌کند و فرمول زیر را ایجاد می‌کند که بررسی می‌کند آیا نام کاربری با قسمت نماینده فروش مطابقت دارد یا خیر.

USERNAME() = [Username]

هنگامی که این فیلد ایجاد شد، می توان آن را به قفسه فیلتر کشیده یا از طریق فیلتر منبع داده تعبیه شده در چندین کاربرگ اعمال کرد.

 

روابط سلسله مراتبی (Hierarchial Relationships) و کلیدهای ترکیبی (Composite Keys)

بیشتر سازمان‌ها دارای یک سلسله مراتب هستند و اغلب این الزام وجود دارد که افراد بالاتر در سلسله مراتب بتوانند به داده‌های همه کسانی که به آنها گزارش می‌دهند دسترسی داشته باشند، اما برعکس، نه. برای مثال، اجازه دهید برای درک بهتر این مفهوم، به سلسله مراتب زیر نگاه کنیم. ما 3 سطح داریم که باید در نظر بگیریم:

  • Employees(Level 1)
  • Team Leads(Level 2)
  • CEO(Level 3)

برای نشان دادن سلسله مراتب مختلف داده ها، یک تکنیک موثر این است که یک ردیف در نمای حقوقی وجود داشته باشد که نمایانگر ریزترین سطح هر فیلتر امنیتی است. احتمالاً باید یک نمای از جداول مختلف ایجاد کنید که بخش‌های مختلفی از حقوق کاربر را ذخیره می‌کنند.

همچنین برای نشان دادن این مورد در نمای Entitlements  شما برای داده ها بر اساس بخش و منطقه، مدیر عامل یک ردیف برای هر بخش و منطقه خواهد داشت. هر سرپرست تیم به نوبه خود فقط یک ردیف برای بخش هایی خواهد داشت که به مسئولیت آنها تعلق دارد. هر یک از کارمندان تحت رهبری تیم احتمالا هیچ کدام را نخواهد داشت.

برای جداول Entitlements که به صورت سلسله مراتبی پیچیده هستند، ممکن است لازم باشد از چندین فیلد برای پیوستن آنها به جدول اصلی استفاده کنید. این به عنوان یک کلید ترکیبی شناخته می شود.

به 2 روش قابل رسیدگی است:

  • یک فیلد کلید ترکیبی در نمای Entitlement و جدول داده خود ایجاد کنید. سپس به این دو بپیوندید
  • برای هر فیلدی که کلید ترکیبی را تشکیل می‌دهد، به نمای Entitlement به جدول داده بپیوندید

 

یک مثال ساده از فیلترهای سلسله مراتبی به شرح زیر است:

IF ISMEMBEROF(‘level 3′) THEN 1

ELSEIF ISMEMBEROF(‘Team Leads’) THEN

IF [Team Lead Username Field] = USERNAME() and [subdivision(entitlement)] = [subdivision(data table)] THEN 1 ELSE 0 END

ELSE 0 END

چه زمانی امنیت سطح ردیف در پایگاه داده شما تعبیه شده است؟

در اوراکل، اگر VPD را برای کاربران پایگاه داده تنظیم کنید، می توانید از Initial SQL در Tableau استفاده کنید. به این ترتیب می توانید از فیلتر امنیتی موجود استفاده کنید

در نسخه‌های 2016 پست SQL Server، می‌توانید امنیت سطح ردیف را در پایگاه داده بر اساس کاربر تنظیم کنید. عملکرد Tableau’s Impersonate-User کاربر را به درستی برای شما تنظیم می کند، در حالی که SQL Server فیلتر کردن را انجام می دهد.

 

 

 

دوره آموزشی هوش تجاری با Tableau »کلیک کنید« یک برنامه جامع است که بر توسعه مهارت در تجزیه‌ و تحلیل داده‌ها، تجسم و گزارش سازی و گزارش دهی و دشبوردسازی با استفاده از ابزار   Tableau تمرکز دارد.

سپاسگذاریم از وقتی که برای خواندن این مقاله گذاشتید

.

برای خرید لایسنس تبلو Tableau کلیک کنید

.

برای مشاهده ویدیوهای آموزشی داده کاوی و هوش تجاری ما را در شبکه های اجتماعی دنبال کنید

Youtube Chanel :VISTA Data Mining کانال یوتیوب

Aparat Chanel: VISTA Data Mining کانال آپارات

Instagram Chanel: VISTA Data Mining کانال اینستاگرام

Telegram Chanel: VISTA Data Mining کانال تلگرام

Linkedin Chanel: VISTA Company کانال لینکدین

 

آموزش تبلو

 

امتیاز دهید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سبد خرید
ورود

هنوز حساب کاربری ندارید؟

خانه
0 محصول سبد خرید
0 علاقه مندی
حساب کاربری من