يتطلب مشروع ذكاء الأعمال (BI) الكبير الذي يضم العديد من المستخدمين والفرق والمعلومات الحساسة بنية أمان متعددة الأوجه. يجب أن توفر هذه البنية لمسؤولي ومهندسي ذكاء الأعمال القدرة على تقليل كمية المعلومات التي يمكن للمستخدمين الوصول إليها. من أجل حل مباشر للإدارة أمازون QuickSight أذونات الوصول إلى المستخدم والأصول، يمكنك استخدام واجهة سطر الأوامر AWS (AWS CLI) أو وحدة تحكم إدارة AWS لتحرير دور مستخدم QuickSight والوصول إلى لوحة المعلومات يدويًا. ومع ذلك، في حالات محددة، يمكن أن يكون لدى المؤسسة مئات أو آلاف المستخدمين والمجموعات بسهولة، كما أن أساليب إدارة الوصول هذه ليست فعالة. لقد تلقينا عددًا كبيرًا من الطلبات لتوفير نهج متقدم قابل للبرمجة لنشر وإدارة بنية أمان QuickSight المركزية.
يصف هذا المنشور أفضل ممارسات مصادقة QuickSight والتحكم في الوصول الدقيق للتفويض، ويوفر تطبيقًا سحابيًا مركزيًا مزودًا مجموعة تطوير سحابة AWS (AWS CDK) مكدس للتنزيل. تتمثل إحدى مزايا الحل الذي نقدمه في أنه يمكن للمؤسسات نشر إطار عمل الأمان لإدارة التحكم في الوصول إلى ذكاء الأعمال الخاص بها دون مغادرة AWS.
يتم حفظ كافة التكوينات في متجر معلمات مدير أنظمة AWS. يوفر Parameter Store تخزينًا هرميًا آمنًا لإدارة بيانات التكوين وإدارة الأسرار. يمكنك تخزين البيانات مثل اسم المستخدم وأذونات المستخدم وكلمات المرور وسلاسل قاعدة البيانات كقيم معلمات. يمكنك الرجوع مدير أنظمة AWS المعلمات في البرامج النصية وسير عمل التكوين والأتمتة باستخدام الاسم الفريد الذي حددته عند إنشاء المعلمة.
يتلاءم قالب تطبيق AWS CDK مع البنية التحتية للتكامل المستمر والنشر المستمر (CI/CD) ويمنح أو يلغي جميع المصادقات والتفويضات بناءً على سياسة محددة تحددها AWS. يؤدي هذا إلى تجنب الأخطاء البشرية المحتملة التي يرتكبها مطورو ذكاء الأعمال أو المسؤولون. يمكن لمطوري ذكاء الأعمال تحرير معلمات التكوين لإصدار لوحات معلومات جديدة للمستخدمين النهائيين. وفي الوقت نفسه، يمكن لمسؤولي ذكاء الأعمال تحرير مجموعة أخرى من المعلمات لإدارة المستخدمين أو المجموعات. يعمل تصميم AWS CDK CI/CD على سد الفجوات بين أنشطة التطوير والتشغيل من خلال فرض الأتمتة في إنشاء تطبيقات ذكاء الأعمال ونشرها.
متطلبات الأمن
في تصميم تطبيقات ذكاء الأعمال للمؤسسات، يعد الاستئجار المتعدد حالة استخدام شائعة، والتي تخدم مجموعات متعددة من المستخدمين ببنية أساسية واحدة. يمكن أن يكون المستأجرون إما عملاء مختلفين لمورد برامج مستقل (ISV)، أو أقسام مختلفة في المؤسسة. في التصميم متعدد الإيجارات، يشارك كل مستأجر لوحات المعلومات والتحليلات وأصول QuickSight الأخرى. يظل كل مستخدم، يمكنه رؤية جميع المستخدمين الآخرين الذين ينتمون إلى نفس المستأجر (على سبيل المثال، عند مشاركة المحتوى)، غير مرئي للمستأجرين الآخرين. داخل كل مستأجر، يتعين على فريق إدارة ذكاء الأعمال إنشاء مجموعات مستخدمين مختلفة للتحكم في ترخيص البيانات، بما في ذلك أذونات الوصول إلى الأصول والوصول إلى البيانات على المستوى التفصيلي.
دعونا نناقش بعض حالات استخدام أذونات الوصول إلى الأصول بالتفصيل. في تطبيق ذكاء الأعمال، يتم عادةً تصنيف الأصول المختلفة وفقًا لمجالات الأعمال (مثل لوحة المعلومات التشغيلية أو لوحة معلومات الملخص التنفيذي) وتصنيف البيانات (الحرجة والسرية للغاية والداخلية فقط والعامة). على سبيل المثال، يمكن أن يكون لديك لوحتي معلومات لتحليل بيانات نتائج المبيعات. يتشابه الشكل والمظهر لكلا لوحتي المعلومات، لكن تصنيف أمان البيانات مختلف. تحتوي إحدى لوحات المعلومات، المسماة لوحة المعلومات المهمة للمبيعات، على أعمدة وصفوف مهمة من البيانات. تحتوي لوحة المعلومات الأخرى، التي تسمى لوحة معلومات المبيعات عالية السرية، على أعمدة وصفوف من البيانات شديدة السرية. يتم منح بعض المستخدمين إذنًا لعرض كلتا لوحتي المعلومات، والبعض الآخر لديه إذن بمستوى أمان أقل ويمكنهم فقط الوصول إلى لوحة معلومات المبيعات شديدة السرية.
في حالة الاستخدام التالية، نتناول الوصول إلى البيانات على المستوى التفصيلي على النحو التالي:
- الوصول على مستوى الصف (RLS) – بالنسبة للمستخدمين الذين يمكنهم الوصول إلى لوحة المعلومات المهمة للمبيعات، يمكن لبعضهم عرض البيانات الأمريكية فقط. ومع ذلك، يمكن لبعض المستخدمين العالميين عرض بيانات جميع البلدان، بما في ذلك الولايات المتحدة والمملكة المتحدة.
- الوصول على مستوى العمود (CLS) – يمكن لبعض المستخدمين فقط عرض أعمدة بيانات المعلومات غير الشخصية (PII) لمجموعة البيانات، بينما يمكن لفريق الموارد البشرية عرض جميع الأعمدة الخاصة بمجموعة البيانات نفسها.
قد تحتوي المشاريع الكبيرة على عدة مستأجرين ومئات المجموعات وآلاف المستخدمين في حساب QuickSight واحد. يريد فريق قائد البيانات نشر بروتوكول واحد لإنشاء المستخدم والمصادقة عليه من أجل تقليل تكلفة الصيانة والمخاطر الأمنية. تساعد البنية وسير العمل الموضحان في هذا المنشور قائد البيانات على تحقيق هذا الهدف.
بالإضافة إلى ذلك، لتجنب الأخطاء البشرية في التشغيل اليومي، نريد منح أذونات الأمان هذه وإلغائها تلقائيًا، وملاءمتها للبنية الأساسية لـ CI/CD. سيتم شرح التفاصيل لاحقاً في هذه التدوينة.
نظرة عامة على العمارة
يوضح الرسم التخطيطي التالي بنية حساب QuickSight لهذا الحل.
- يقوم المؤلفون بإنشاء لوحات المعلومات وتحديث AWS Systems Manager Parameter Store لإصدار لوحات المعلومات لمجموعات مختلفة
- يوافق المسؤولون على الطلبات المقدمة من المؤلفين
- يقوم المسؤولون بتحديث إدارة المستخدم (الأدوار ومساحة الاسم) عن طريق تحرير AWS Systems ManagerParameter Store
- تنشر DevOps التحديثات باستخدام AWS CDK
*مجموعات: تتحكم مجموعات أذونات الوصول إلى الكائنات في مالك/عارض الكائنات. مجموعات شرائح البيانات المدمجة مع التحكم في الوصول إلى بيانات RLS/CLS.
* مجموعات البيانات: تحتوي على كافة البيانات المقيدة بالأمان على مستوى الصف (RLS) والأمان على مستوى العمود (CLS)
يوضح الرسم البياني التالي سير عمل المصادقة للبنية:
* سجل لأول مرة في QuickSight: إذا لم يتم تسجيل مستخدم QuickSight قبل تسجيل الدخول لأول مرة، فسيتم إنشاء قارئ ويمكن لهذا القارئ فقط عرض لوحة معلومات الصفحة المقصودة، والتي يتم مشاركتها مع جميع مستخدمي هذا الحساب. توفر الصفحة المقصودة قائمة التقارير التي يمكن لهذا المستخدم عرضها.
يوضح الرسم البياني التالي سير عمل الترخيص للبنية.
تفاصيل مخطط الترخيص:
- يتم تخزين معلومات المستخدم (القسم، الفريق، الموقع الجغرافي) في Amazon Redshift، أو Amazon Athena، أو أي قاعدة بيانات أخرى. بالاشتراك مع تعيين مجموعة المستخدمين، تم إنشاء قواعد بيانات RLS للتحكم في الوصول إلى البيانات.
- تعيين الأذونات بالساعة:
- وفقًا لتعيين اسم موظف المجموعة (المستخدم) (membership.csv) وتعيين دور المجموعة (/qs/console/roles)، تقوم وظيفة AWS Lambda بإنشاء مجموعات، وتسجيل، ومستخدمين، وتعيين أعضاء المجموعة، وإزالة عضويات المجموعة، وترويج القراء إلى المؤلف أو المسؤول، ويحذف المستخدمين إذا تم تخفيض رتبتهم من مؤلف أو مسؤول إلى قارئ.
- وفقًا لتعيين لوحة معلومات المجموعة في /qs/config/access، تقوم وظيفة AWS Lambda بتحديث أذونات لوحة المعلومات لمجموعات QuickSight.
- وفقًا لتعيين مساحة اسم المجموعة في ملف member.csv، تقوم وظيفة AWS Lambda بإنشاء مجموعات QuickSight في مساحة الاسم المحددة.
- نموذج معلمات لأذونات الوصول إلى الكائنات وشرائح البيانات:
- نموذج معلمات لدور مستخدم QuickSight:
- نموذج بيانات لملف member.csv:
في هذا الحل، يتم نشر مساحات الأسماء المخصصة لدعم الإيجارات المتعددة. ال default
مساحة الاسم مخصصة لجميع المستخدمين الداخليين للشركة (نسميها OkTank). يقوم OkTank بإنشاء ملف 3rd-Party
مساحة الاسم للمستخدمين الخارجيين. إذا كان علينا دعم المزيد من المستأجرين، فيمكننا إنشاء المزيد من مساحات الأسماء المخصصة. افتراضيًا، نقتصر على 100 مساحة اسم لكل حساب AWS. لزيادة هذا الحد، اتصل بفريق منتج QuickSight. لمزيد من المعلومات حول الإيجار المتعدد، راجع قم بتضمين تحليلات متعددة المستأجرين في التطبيقات باستخدام Amazon QuickSight.
في كل مساحة اسم، نقوم بإنشاء أنواع مختلفة من المجموعات. على سبيل المثال، في default
مساحة الاسم، نقوم بإنشاء BI-Admin
و BI-Developer
مجموعات ل admin
و author
المستخدمين. بالنسبة reader
، نقوم بنشر نوعين من مجموعات QuickSight للتحكم في أذونات الوصول إلى الأصول والوصول إلى البيانات: مجموعات أذونات الوصول إلى الكائنات ومجموعات شرائح البيانات.
يلخص الجدول التالي كيفية تحكم مجموعات أذونات الوصول إلى الكائنات في الأذونات.
اسم المجموعة | مساحة الاسم | إذن | ملاحظة |
critical |
الترتيب | عرض كلتا اللوحتين (التي تحتوي على البيانات الهامة والبيانات السرية للغاية) | |
highlyconfidential |
الترتيب | قم بعرض لوحة معلومات المبيعات شديدة السرية فقط | |
BI-Admin |
الترتيب | إدارة الحساب وتحرير جميع الأصول | المستخدمين في BI-Admin تم تعيين المجموعة Admin دور مستخدم QuickSight. |
BI-Developer |
الترتيب | تحرير كافة الأصول | المستخدمين في BI-Developer تم تعيين دور مستخدم Author QuickSight للمجموعة. |
Power-reader |
الترتيب | عرض جميع الأصول وإنشاء تحليل مخصص لتشغيل تقارير تحليلات الخدمة الذاتية |
المستخدمين في ومع ذلك، لا يمكن لهذه المجموعة حفظ تقاريرها المخصصة أو مشاركتها. |
3rd-party |
مساحات الأسماء غير الافتراضية (3rd-party مساحة الاسم، على سبيل المثال) |
يمكن المشاركة مع القراء فقط (3rd-party-reader المجموعة، على سبيل المثال) في نفس مساحة الاسم |
في مساحات الأسماء غير الافتراضية، يمكننا أيضًا إنشاء مجموعات أذونات الوصول إلى الكائنات الأخرى، والتي تشبه المجموعة الحرجة في مساحة الاسم الافتراضية. |
لمزيد من المعلومات حول مجموعات QuickSight والمستخدمين وأدوار المستخدمين، راجع إدارة وصول المستخدم داخل Amazon QuickSight, توفير المستخدمين لبرنامج Amazon QuickSightو استخدام لوحات المعلومات الإدارية لعرض مركزي لكائنات Amazon QuickSight.
النوع الثاني من المجموعات (مجموعات شرائح البيانات) مدمج مع أمان على مستوى الصف مجموعات البيانات و الأمان على مستوى العمود، التحكم في الوصول إلى البيانات كما هو موضح في الجدول التالي.
اسم المجموعة | مساحة الاسم | إذن | مجال |
USA |
الترتيب | عرض بيانات الولايات المتحدة فقط على أي لوحة تحكم | مستوى الصف |
GBR |
الترتيب | عرض بيانات المملكة المتحدة فقط على أي لوحة تحكم | مستوى الصف |
All countries |
الترتيب | عرض بيانات جميع البلدان على أي لوحة تحكم | مستوى الصف |
non-PII |
الترتيب | لا يمكن عرض أرقام الضمان الاجتماعي والدخل السنوي وجميع الأعمدة الأخرى لبيانات PII | على مستوى العمود |
PII |
الترتيب | يمكن عرض كافة الأعمدة بما في ذلك بيانات PII | على مستوى العمود |
يمكننا إعداد مجموعات مماثلة في مساحات أسماء غير افتراضية.
يمكن لهذه المجموعات المختلفة أن تتداخل مع بعضها البعض. على سبيل المثال، إذا كان المستخدم ينتمي إلى المجموعات USA
, Critical
و PII
، يمكنهم عرض بيانات الولايات المتحدة على كلتا لوحتي المعلومات، مع كافة الأعمدة. يوضح مخطط فين التالي العلاقات بين هذه المجموعات.
باختصار، يمكننا تحديد بنية أمان متعددة الأوجه من خلال الجمع بين ميزات QuickSight، بما في ذلك مساحة الاسم والمجموعة والمستخدم وRLS وCLS. يتم حفظ جميع التكوينات ذات الصلة في Parameter Store. توجد قائمة مستخدمي QuickSight ومعلومات تعيين مستخدم المجموعة في ملف خدمة تخزين أمازون البسيطة (Amazon S3) كملف CSV (يسمى membership.csv
). يمكن أن يكون ملف CSV هذا عبارة عن نتائج مخرجات لاستعلامات LDAP. عديد AWS لامدا تتم جدولة الوظائف للتشغيل كل ساعة (يمكنك أيضًا استدعاء هذه الوظائف عند الطلب، مثل التفاصيل اليومية أو الأسبوعية أو أي وقت يناسب متطلباتك) لقراءة المعلمات و membership.csv
. وفقًا للتكوين المحدد، تقوم وظائف Lambda بإنشاء أو تحديث أو حذف المجموعات والمستخدمين وأذونات الوصول إلى الأصول.
عند اكتمال تكوينات الأمان الضرورية، تستدعي وظيفة Lambda واجهات برمجة تطبيقات QuickSight للحصول على المعلومات المحدثة وتسجيل النتائج في حاوية S3 كملفات CSV. يمكن لفريق إدارة ذكاء الأعمال إنشاء مجموعات بيانات باستخدام هذه الملفات وتصور النتائج باستخدام لوحات المعلومات. لمزيد من المعلومات، راجع استخدام لوحات المعلومات الإدارية لعرض مركزي لكائنات Amazon QuickSight و إنشاء وحدة تحكم إدارية في Amazon QuickSight لتحليل مقاييس الاستخدام.
بالإضافة إلى ذلك، يتم تخزين أخطاء وظائف Lambda وأحداث حذف المستخدم في حاوية S3 هذه ليقوم فريق الإدارة بمراجعتها.
أتمتة
يوضح الرسم البياني التالي سير العمل الإجمالي لوظائف Lambda.
نحن نستخدم طريقة قابلة للبرمجة لإنشاء وتكوين المجموعات والمستخدمين تلقائيًا. بالنسبة لأي طلب تسجيل مستخدم مخصص (مثل عدم تسجيل المستخدم فيه membership.csv
ولكن بسبب زمن الوصول)، طالما أنه يمكن مصادقة المستخدم، فيمكنه افتراض إدارة الهوية والوصول AWS (IAM) quicksight-fed-user
لتوفير الذات كقارئ QuickSight. يمكن لهذا القارئ المتوفر ذاتيًا عرض لوحة معلومات الصفحة المقصودة فقط، والتي توفر قائمة بلوحات المعلومات والمجموعات المقابلة. وفقًا لتعيين مجموعة لوحة المعلومات، يمكن لهذا القارئ الجديد التقدم بطلب للحصول على عضوية مجموعة معينة للوصول إلى لوحات المعلومات. إذا وافق مالك المجموعة على التطبيق، فإن وظائف Lambda كل ساعة تضيف المستخدم الجديد إلى المجموعة في المرة التالية التي يتم تشغيلها فيها.
يبدأ مسار CI/CD من AWS CDK. يمكن لمسؤول ذكاء الأعمال والمؤلف تحديث معلمات Systems Manager لإصدار لوحات معلومات جديدة أو أصول QuickSight أخرى في مكدس AWS CDK granular_access_stack.py
. يمكن لمسؤول BI تحديث معلمات Systems Manager في نفس المجموعة لإنشاء مساحات الأسماء أو المجموعات أو المستخدمين أو تحديثها أو حذفها. بعد ذلك، يمكن لفريق DevOps نشر مكدس AWS CDK المحدث لتطبيق هذه التغييرات على معلمات Systems Manager أو موارد AWS الأخرى. يتم تشغيل وظائف Lambda كل ساعة لاستدعاء واجهات برمجة التطبيقات لتطبيق التغييرات على حساب QuickSight ذي الصلة.
حجم
تقتصر وظائف Lambda على الحد الأقصى لوقت التشغيل وهو 15 دقيقة. للتغلب على هذا القيد، يمكننا تحويل وظائف Lambda إلى غراء AWS البرامج النصية لـ Python Shell مع الخطوات عالية المستوى التالية:
- تحميل بوتو 3 ملفات العجلة من pypi.org.
- قم بتحميل ملف العجلة إلى حاوية S3.
- تحميل وظائف لامدا ودمجها في برنامج نصي Python واحد وإنشاء برنامج نصي AWS Glue Python shell.
- أضف مسار S3 لملف عجلة Boto3 إلى مسار مكتبة Python. إذا كان لديك عدة ملفات تريد إضافتها، فافصل بينها بفاصلة.
- قم بجدولة مهمة AWS Glue هذه للتشغيل يوميًا.
لمزيد من المعلومات، راجع برنامج AWS Glue مخطوطات ETL في بايثون و استخدام مكتبات Python مع AWS Glue.
المتطلبات الأساسية المسبقة
يجب أن يكون لديك المتطلبات الأساسية التالية لتنفيذ هذا الحل:
- حساب QuickSight المؤسسة
- المعرفة الأساسية ببايثون
- المعرفة الأساسية بـ SQL
- المعرفة الأساسية لBI
إنشاء الموارد
أنشئ مواردك عن طريق تنزيل حزمة AWS CDK من جيثب ريبو.
في مجلة granular_access
المجلد، قم بتشغيل الأمر cdk deploy granular-access
لنشر الموارد. لمزيد من المعلومات، راجع ورشة عمل مقدمة AWS CDK: ورشة عمل بايثون.
انشر الحل
عند نشر مكدس AWS CDK، فإنه يقوم بإنشاء خمس وظائف Lambda، كما هو موضح في لقطة الشاشة التالية.
تقوم الحزمة أيضًا بإنشاء موارد داعمة إضافية في حسابك.
• granular_user_governance
يتم تشغيل الوظيفة بواسطة الأمازون CloudWatch حكم الحدث qs-gc-everyhour
. يتم تعريف معلومات المجموعات والمستخدمين في الملف membership.csv
. يتم تخزين اسم حاوية S3 في مخزن المعلمات /qs/config/groups
. ويوضح الرسم البياني التالي المخطط الانسيابي لهذه الوظيفة.
- تحديد الوجهة
granular_user_governance
إلى وظيفة Lambda أخرى،downgrade_user
، معsource=Asynchronous invocation
وcondition=On Success
.
الرسم البياني التالي هو مخطط انسيابي لهذه الوظيفة.
لتجنب قطع الوصول المهم إلى أصول QuickSight التي يحكمها المسؤول أو المؤلف، نقوم بتخفيض رتبة مسؤول أو مؤلف عن طريق حذف مستخدم المسؤول أو المؤلف وإنشاء مستخدم قارئ جديد باستخدام وظيفة Lambda downgrade_user
. granular_user_governance
تتعامل الوظيفة مع خفض مستوى المشرف إلى المؤلف، أو ترقية المؤلف إلى المشرف.
- تحديد الوجهة
downgrade_user
إلى وظيفة لامداgranular_access_assets_govenance
معsource=Asynchronous invocation
وcondition=On Success
.
ويبين الرسم البياني التالي مخططا انسيابيا لهذه الوظيفة.
- تحديد الوجهة
downgrade_user
إلى وظيفة لامداcheck_team_members
معsource=Asynchronous invocation
وcondition=On Failure
.
• check_team_members
تستدعي الوظيفة ببساطة واجهات برمجة تطبيقات QuickSight للحصول على معلومات مساحات الأسماء والمجموعات والمستخدمين والأصول، وتحفظ النتائج في حاوية S3. مفتاح S3 هو monitoring/quicksight/group_membership/group_membership.csv
و monitoring/quicksight/object_access/object_access.csv
.
إلى جانب ملفي الإخراج في الخطوة السابقة، فإن سجلات الأخطاء وسجلات حذف المستخدم (سجلات downgrade_user
) يتم حفظها أيضًا في monitoring/quicksight
المجلد.
- تحديد الوجهة
granular_access_assets_govenance
إلى وظيفة لامداcheck_team_members
معsource=Asynchronous invocation
وcondition=On Success
orcondition=On Failure
.
إنشاء مجموعات بيانات الأمان على مستوى الصف
كخطوة أخيرة، نقوم بإنشاء مجموعات بيانات RLS. يتيح لك ذلك تغيير سجلات لوحة المعلومات استنادًا إلى المستخدمين الذين يعرضون لوحات المعلومات.
يدعم QuickSight RLS من خلال تطبيق مجموعة بيانات يديرها النظام والتي تحدد السجلات من مجموعة بيانات لوحة المعلومات. تسمح الآلية للمسؤول بتوفير مجموعة بيانات التصفية (مجموعة بيانات RLS). username
or groupname
الأعمدة، والتي تتم تصفيتها تلقائيًا للمستخدم الذي قام بتسجيل الدخول. على سبيل المثال، مستخدم اسمه YingWang
ينتمي إلى مجموعة QuickSight BI
، لذا فإن جميع صفوف مجموعة بيانات RLS التي تتوافق مع اسم المستخدم YingWang
أو اسم المجموعة BI
يتم تصفيتها. يتم بعد ذلك استخدام الصفوف التي تبقى في RLS بعد تطبيق اسم المستخدم ومرشحات اسم المجموعة لتصفية مجموعات بيانات لوحة المعلومات بشكل أكبر عن طريق مطابقة الأعمدة بنفس الأسماء. لمزيد من المعلومات حول الأمان على مستوى الصف، راجع استخدام الأمان على مستوى الصف (RLS) لتقييد الوصول إلى مجموعة البيانات.
في هذا الحل، نقوم بتصدير معلومات المستخدم النموذجية إلى الملف membership.csv
، والذي يتم تخزينه في دلو S3. في هذا الملف، نقدم بعض مجموعات العينات لتعريف مجموعة بيانات RLS. هذه المجموعات هي مجموعات شرائح البيانات، كما هو موضح في التصميم العام للبنية. تعرض لقطة الشاشة التالية بعض المجموعات والمستخدمين في تلك المجموعات.
• granular_user_governance
تقوم الوظيفة بإنشاء هذه المجموعات وإضافة المستخدمين ذوي الصلة ليكونوا أعضاء في هذه المجموعات.
كيف نقوم بإنشاء مجموعة بيانات RLS؟ لنفترض أن لدينا جدول يسمى employee_information
في قاعدة بيانات الموارد البشرية في مؤسستنا. تعرض لقطة الشاشة التالية بعض نماذج البيانات.
واستنادا إلى employee_information
الجدول، نقوم بإنشاء طريقة عرض تسمى rls
لمجموعة بيانات RLS. راجع كود SQL التالي:
توضح لقطة الشاشة التالية بياناتنا النموذجية.
الآن لدينا الجدول جاهز، يمكننا إنشاء مجموعة بيانات RLS باستخدام SQL المخصص التالي:
توضح لقطة الشاشة التالية بياناتنا النموذجية.
للمجموعة quicksight-fed-all-countries
، قمنا بتعيين username
, country
و city
باعتبارها خالية، مما يعني أن جميع المستخدمين في هذه المجموعة يمكنهم عرض بيانات جميع البلدان.
على مستوى الدولة، فقط قواعد الأمان المحددة في groupname
والبلد columns
تستخدم للتصفية. ال username
و city
يتم تعيين الأعمدة على أنها فارغة. المستخدمين في quicksight-fed-usa
يمكن للمجموعة عرض بيانات الولايات المتحدة الأمريكية والمستخدمين في quicksight-fed-gbr
يمكن للمجموعة عرض بيانات GBR.
لكل مستخدم مع groupname
تم تعيينه على أنه خالٍ، ويمكنهم فقط عرض البلد والمدينة المعينين لاسم المستخدم الخاص بهم. على سبيل المثال، TerryRigaud
يمكن فقط عرض بيانات أوستن، في الولايات المتحدة.
في QuickSight، يتم دمج قواعد متعددة في مجموعة بيانات RLS مع OR.
باستخدام قواعد RLS متعددة الأوجه، يمكننا تحديد نمط شامل للوصول إلى البيانات.
تنظيف
لتجنب تكبد رسوم مستقبلية، احذف الموارد التي قمت بإنشائها عن طريق تشغيل الأمر التالي:
وفي الختام
ناقش هذا المنشور كيف يمكن لمسؤولي ذكاء الأعمال تصميم وأتمتة مصادقة QuickSight وترخيص التحكم في الوصول الدقيق. لقد قمنا بدمج ميزات أمان QuickSight مثل الأمان على مستوى الصفوف والأعمدة والمجموعات ومساحات الأسماء لتوفير حل شامل. تضمن إدارة هذه التغييرات من خلال "BIOps" وجود آلية قوية وقابلة للتطوير لإدارة أمان QuickSight. لتعلم المزيد، قم بالتسجيل للحصول على عرض QuickSight.
حول المؤلف
ينغ وانغ هو أحد كبار مهندسي تصور البيانات في الممارسة العالمية المتخصصة للبيانات والتحليلات في خدمات AWS الاحترافية.
أمير بار أور هو مهندس البيانات الرئيسي في AWS Professional Services. وبعد 20 عامًا من قيادة مؤسسات البرمجيات وتطوير منصات ومنتجات تحليلات البيانات، فإنه يشارك الآن خبرته مع عملاء المؤسسات الكبيرة ويساعدهم على توسيع نطاق تحليلات البيانات الخاصة بهم في السحابة.
- "
- &
- 100
- الوصول
- ادارة الوصول
- حسابي
- أنشطة
- Ad
- إضافي
- مشرف
- الكل
- أمازون
- تحليل
- تحليلات
- واجهات برمجة التطبيقات
- تطبيق
- التطبيقات
- هندسة معمارية
- الأصول
- ممتلكات
- أوستن
- التحقّق من المُستخدم
- ترخيص
- أتمتة
- AWS
- AWS لامدا
- أفضل
- أفضل الممارسات
- الحدود
- نساعدك في بناء
- ابني
- الأعمال
- ذكاء الأعمال
- دعوة
- الحالات
- تغيير
- اسعارنا محددة من قبل وزارة العمل
- المدينة
- تصنيف
- سحابة
- الكود
- مشترك
- حول الشركة
- محتوى
- دولة
- خلق
- العملاء
- لوحة أجهزة القياس
- البيانات
- الوصول إلى البيانات
- تحليلات البيانات
- إدارة البيانات
- عرض مرئي للمعلومات
- قاعدة البيانات
- قواعد البيانات
- الطلب
- تصميم
- هدم
- التفاصيل
- المطورين
- التطوير التجاري
- DevOps
- المجالات
- مهندس
- مشروع
- عملاء المؤسسة
- الحدث/الفعالية
- أحداث
- تنفيذي
- تصدير
- المميزات
- مرشحات
- الاسم الأول
- لأول مرة
- تناسب
- الإطار
- وظيفة
- مستقبل
- العالمية
- منح
- تجمع
- كيفية
- hr
- HTTPS
- مئات
- IAM
- هوية
- بما فيه
- دخل
- القيمة الاسمية
- معلومات
- البنية التحتية
- التكامل
- رؤيتنا
- IT
- وظيفة
- الانضمام
- القفل
- المعرفة
- الصفحة المقصودة
- كبير
- LDAP
- قيادة
- تعلم
- مستوى
- المكتبة
- محدود
- خط
- قائمة
- موقع
- طويل
- إدارة
- الأعضاء
- أسماء
- أرقام
- طلب
- أخرى
- أخرى
- كاتوا ديلز
- كلمات السر
- نمط
- PII
- منصات التداول
- سياسة
- رئيسي
- منتج
- المنتجات
- تنفيذ المشاريع
- مشروع ناجح
- جمهور
- بايثون
- قارئ
- القراء
- تسجيل
- تخفيض
- التسجيل
- العلاقات
- التقارير
- المتطلبات الأساسية
- الموارد
- النتائج
- مراجعة
- المخاطرة
- القواعد
- يجري
- تشغيل
- الأملاح
- حجم
- أمن
- خدمة ذاتية، إخدم نفسك بنفسك
- خدمات
- طقم
- مشاركة
- مشاركة
- قذيفة
- الاشارات
- So
- العدالة
- تطبيقات الكمبيوتر
- SQL
- تخزين
- متجر
- الدعم
- الدعم
- أنظمة
- الوقت
- Uk
- الاتحاد
- تحديث
- آخر التحديثات
- us
- الولايات المتحدة الأميركية
- المستخدمين
- المزيد
- التصور
- أسبوعي
- تذكار لعبة العجلة
- من الذى
- في غضون
- سير العمل
- سنوات