أمازون QuickSight هي خدمة ذكاء أعمال (BI) مُدارة بالكامل ومُدارة بالكامل تُسهل الاتصال ببياناتك وإنشاء لوحات معلومات تفاعلية ومشاركتها مع عشرات الآلاف من المستخدمين ، إما داخل QuickSight نفسه أو مضمنًا في البرنامج باعتباره تطبيقات الخدمة (SaaS).
أضاف QuickSight Enterprise Edition مؤخرًا أمانًا على مستوى الصف (RLS) باستخدام العلامات ، وهي ميزة جديدة تسمح للمطورين بمشاركة لوحة معلومات واحدة مع عشرات الآلاف من المستخدمين ، مع ضمان أن كل مستخدم يمكنه فقط رؤية بيانات معينة والوصول إليها. هذا يعني أنه عندما يضيف بائع برامج مستقل (ISV) لوحة معلومات QuickSight المضمنة في تطبيقه ، فلن يتعين عليهم توفير مستخدميهم النهائيين في QuickSight ، ويمكنهم ببساطة إعداد العلامات لتصفية البيانات بناءً على هوية لوحة القيادة. يجري خدمته. على سبيل المثال ، إذا أراد مورّد البرامج المستقلين (ISV) إعداد لوحة تحكم كان من المقرر مشاركتها مع 20,000 مستخدم عبر 100 عميل لتطبيق ما ، مع وصول جميع المستخدمين داخل العميل إلى بيانات متطابقة ، تتيح لك هذه الميزة الجديدة مشاركة لوحة تحكم واحدة من أجل جميع المستخدمين ، دون الحاجة إلى إعداد أو إدارة 20,000 مستخدم في QuickSight.
تتأكد RLS التي يتم فرضها باستخدام العلامات من أن كل مستخدم نهائي لا يرى سوى البيانات ذات الصلة به ، بينما يتوسع QuickSight تلقائيًا لتلبية التزام المستخدم لضمان أن يرى كل مستخدم نهائي أداءً سريعًا باستمرار. في هذا المنشور ، ننظر في كيفية تنفيذ ذلك.
حل نظرة عامة
لتضمين لوحات المعلومات دون توفير المستخدم ، نستخدم واجهة برمجة التطبيقات إنشاء EmbedURLForAnonymousUser، والذي يعمل مع QuickSight تسعير سعة الجلسة. باستخدام واجهة برمجة التطبيقات هذه ، يحدد خادم التضمين (المنطق في تطبيق SaaS) هوية المستخدم الذي تُعرض له لوحة المعلومات ويديرها (على عكس توفير هذه الهوية وإدارتها داخل QuickSight).
يعرض الرسم التخطيطي التالي مثالاً لسير عمل لوحات المعلومات المضمنة التي تؤمن البيانات بناءً على من يقوم بالوصول إلى التطبيق باستخدام RLS مع العلامات.
في هذه الحالة ، يحتوي ISV على تطبيق SaaS يمكن الوصول إليه من قبل مستخدمين نهائيين. أحدهما مدير والآخر مشرف موقع. يصل كلا المستخدمين إلى نفس التطبيق ونفس لوحة معلومات QuickSight المضمنة في التطبيق ولا يتم توفيرهما في QuickSight. عندما يصل مشرف الموقع إلى لوحة المعلومات ، فإنه يرى فقط البيانات المتعلقة بموقعه ، وعندما يصل المدير إلى لوحة المعلومات ، يرى البيانات المتعلقة بجميع المواقع التي يديرها.
لتحقيق هذا السلوك ، نستخدم ميزة جديدة تتيح تكوين الأمان على مستوى الصف باستخدام العلامات. تعمل طريقة تأمين البيانات هذه على لوحات المعلومات المضمنة فقط عندما يتم تضمين لوحات المعلومات بدون توفير المستخدم (يسمى أيضًا التضمين المجهول). تتضمن العملية خطوتين:
- قم بإعداد مفاتيح العلامات على أعمدة مجموعات البيانات المستخدمة لبناء لوحة المعلومات.
- قم بتعيين قيم لمفاتيح العلامات في وقت التشغيل عند تضمين لوحة المعلومات بشكل مجهول.
قم بإعداد مفاتيح العلامات على الأعمدة في مجموعات البيانات المستخدمة لإنشاء لوحة المعلومات
يمكن لموردي البرامج المستقلين (ISV) أو للمطورين تعيين أعمدة في مجموعات البيانات باستخدام امتداد CreateDataset
or UpdateDataset
واجهات برمجة التطبيقات على النحو التالي:
في رمز المثال السابق ، row-level-permission-tag-configuration
هو العنصر الذي يمكنك استخدامه لتحديد مفاتيح العلامات في أعمدة مجموعة البيانات. لكل علامة ، يمكنك تحديد العناصر الاختيارية التالية:
- TagMultiValueDelimiter - يتيح لك هذا الخيار عند تعيينه في عمود تمرير أكثر من قيمة إلى العلامة في وقت التشغيل ، ويتم تحديد القيم بواسطة السلسلة المحددة لهذا الخيار. في هذه العينة ، يتم تعيين الفاصلة كسلسلة محددة.
- MatchAllValue - يمكّنك هذا الخيار عند تعيينه على عمود من تمرير جميع قيم العمود في وقت التشغيل ، ويتم تمثيل القيم بواسطة السلسلة المحددة لهذا الخيار. في هذا النموذج ، يتم تعيين علامة النجمة على أنها تطابق جميع السلاسل.
بعد أن نحدد علاماتنا ، يمكننا تمكين أو تعطيل هذه القواعد باستخدام Status
عنصر API. في هذه الحالة ، يتم تعيين القيمة على ENABLED
. لتعطيل القواعد ، القيمة DISABLED
. بعد تمكين العلامات ، يمكننا تمرير القيم إلى العلامات في وقت التشغيل لتأمين البيانات المعروضة بناءً على من يقوم بالوصول إلى لوحة القيادة.
يمكن أن تحتوي كل مجموعة بيانات على ما يصل إلى 50 مفتاحًا للعلامات.
نتلقى الرد التالي من أجل CreateDataset
or UpdateDataset
API:
تمكين المؤلفين من الوصول إلى البيانات المحمية بواسطة مفاتيح العلامات عند تأليف التحليل
بعد تعيين مفاتيح العلامات وتمكينها في مجموعة البيانات ، يتم تأمينها. لا يرى المؤلفون أي بيانات عند استخدام مجموعة البيانات هذه لتأليف لوحة معلومات. يجب منحهم أذونات لرؤية أي من البيانات الموجودة في مجموعة البيانات عند إنشاء لوحة معلومات. لمنح مؤلفي QuickSight الإذن بمشاهدة البيانات في مجموعة البيانات ، أنشئ ملف أذونات أو مجموعة بيانات قواعد. لمزيد من المعلومات، راجع إنشاء قواعد مجموعة البيانات للأمان على مستوى الصف. فيما يلي مثال على مجموعة بيانات القواعد.
اسم المستخدم | العمود _name_1 | العمود _name_2 | العمود _name_3 |
admin / sampleauthor |
في نموذج مجموعة البيانات هذا ، لدينا اسم مستخدم المؤلف مدرجًا في عمود UserName. الأعمدة الثلاثة الأخرى هي الأعمدة من مجموعة البيانات التي قمنا بتعيين مفاتيح العلامات عليها. تم ترك القيم فارغة لهذه الأعمدة للمؤلف المضاف إلى هذا الجدول. يتيح ذلك للكاتب رؤية جميع البيانات الموجودة في هذه الأعمدة دون أي قيود عند تأليف التحليلات.
عيّن القيم إلى مفاتيح العلامات في وقت التشغيل عند تضمين لوحة المعلومات
بعد تعيين مفاتيح العلامات لأعمدة مجموعات البيانات ، يقوم المطورون بتعيين القيم للمفاتيح في وقت التشغيل عند تضمين لوحة المعلومات. يقوم المطورون باستدعاء API GenerateDashboardEmbedURLForAnonymousUser
لتضمين لوحة القيادة وتمرير القيم إلى مفاتيح العلامات في العنصر SessionTags
، كما هو موضح في رمز المثال التالي:
نظرًا لأن هذه الميزة تؤمن البيانات للمستخدمين الذين لم يتم توفيرهم في QuickSight ، فإن استدعاء واجهة برمجة التطبيقات مخصص لـ AnonymousUser
فقط وبالتالي تعمل هذه الميزة فقط مع API GenerateDashboardEmbedURLForAnonymousUser
.
يحتوي رمز المثال السابق على المكونات التالية:
- في حالة
tag_name_1
، تقوم بتعيين قيمتين (value1
وvalue2
) باستخدامTagMultiValueDelimiter
يتم تحديدها عند تعيين مفاتيح العلامات (في هذه الحالة ، فاصلة). - في حالة
tag_name_2
، يمكنك تعيين قيمة واحدة كنجمة. يمكّن هذا مفتاح العلامة هذا من تعيين جميع القيم لهذا العمود لأننا حددنا علامة النجمة على أنهاMatchAllValue
عند تعيين مفتاح علامة على العمود في وقت سابق. - في حالة
tag_name_3
، أنت تحدد قيمة واحدة (value3
).
تعريف استجابة API
استجابة API لديها EmbedURL
, Status
و RequestID
. يمكنك تضمين عنوان URL هذا في صفحة HTML الخاصة بك. يتم تأمين البيانات الموجودة في لوحة المعلومات هذه استنادًا إلى القيم التي تم تمريرها إلى مفاتيح العلامات عند استدعاء واجهة برمجة تطبيقات التضمين GenerateDashboardEmbedURLForAnonymousUser
:
- EmbedUrl (سلسلة نصية) - عنوان URL أحادي الاستخدام يمكنك وضعه في صفحة الويب من جانب الخادم لتضمين لوحة التحكم. عنوان URL هذا صالح لمدة 5 دقائق. تزود عملية واجهة برمجة التطبيقات URL بامتداد
auth_code
قيمة تتيح تسجيل دخول واحد (وواحد فقط) إلى جلسة مستخدم صالحة لمدة تصل إلى 10 ساعات. يعرض عنوان URL هذا لوحة المعلومات مع قواعد RLS المطبقة بناءً على القيم المعينة لمفاتيح علامات RLS. - الحالة (عدد صحيح) - حالة HTTP للطلب.
- معرف الطلب (سلسلة نصية) - معرّف طلب AWS لهذه العملية.
التحكم في الوصول الدقيق
يمكنك تحقيق تحكم دقيق في الوصول باستخدام ديناميكي إدارة الهوية والوصول AWS (IAM) توليد السياسات. لمزيد من المعلومات، راجع عزل المستأجرين SaaS من خلال سياسات IAM المولدة ديناميكيًا. عند استخدام ملف GenerateEmbedUrlForAnonymousUser
واجهة برمجة التطبيقات للتضمين ، تحتاج إلى ذكر نوعين من الموارد في سياسة IAM: مساحة الاسم ARNs التي ينتمي إليها المستخدمون المجهولون تقريبًا ، ولوحة التحكم ARNs التي يمكن استخدامها في AuthorizedResourceArns
قيمة معلمة الإدخال. يمكن للجلسات التي تم إنشاؤها باستخدام واجهة برمجة التطبيقات هذه الوصول إلى الموارد المصرح بها وتلك (لوحات المعلومات) التي تمت مشاركتها مع مساحة الاسم.
نظرًا لأن المستخدمين المجهولين جزء من مساحة الاسم ، فإن أي لوحات معلومات مشتركة مع مساحة الاسم يمكن الوصول إليها ، بغض النظر عما إذا كانت قد تم تمريرها صراحةً عبر AuthorizedResourceArns
المعلمة.
للسماح لهوية المتصل بإنشاء عنوان URL لأي مستخدم وأي لوحة تحكم ، فإن Resource
يمكن تعيين حظر السياسة على *
. للسماح لهوية المتصل بإنشاء عنوان URL لأي مستخدم مجهول في مساحة اسم محددة (مثل Tenant1
)، و Resource
يمكن تعيين جزء من السياسة على arn:aws:quicksight:us-east-1:<YOUR_AWS_ACCOUNT_ID>:namespace/Tenant1
. هذا هو نفسه بالنسبة لمعرف لوحة القيادة. لإنشاء نهج ديناميكي ، يمكنك أيضًا استخدام عناصر نائبة لمساحة الاسم والمستخدمين.
الكود التالي هو مثال لسياسة IAM:
حالة الاستخدام
OkTank هو ISV في مجال الرعاية الصحية. لديهم تطبيق SaaS تستخدمه مستشفيات مختلفة في مناطق مختلفة من البلاد لإدارة إيراداتهم. لدى OkTank الآلاف من موظفي الرعاية الصحية الذين يدخلون إلى تطبيقاتهم ولديهم عمليات مرتبطة بأعمالهم في لوحة معلومات QuickSight في تطبيقاتهم. لا تريد OkTank إدارة مستخدميها في QuickSight بشكل منفصل ، وتريد تأمين البيانات بناءً على المستخدم الذي يصل منه المستشفى إلى تطبيقه. يقوم OkTank بتأمين البيانات الموجودة على لوحات المعلومات في وقت التشغيل باستخدام أمان على مستوى الصف باستخدام العلامات.
OkTank لديها مستشفيات (المستشفى الشمالي والمستشفى الجنوبي ومستشفى وسط المدينة) في المناطق الوسطى والشرقية والجنوبية والغربية.
في هذا المثال ، يصل المستخدمون التاليون إلى تطبيق OkTank ولوحة القيادة المضمنة. لكل مستخدم مستوى معين من قواعد التقييد التي تحدد البيانات التي يمكنهم الوصول إليها في لوحات المعلومات. PowerUser
هو مستخدم متميز يمكنه رؤية البيانات لجميع المستشفيات والمناطق.
مستخدم تطبيق OkTank | المستشفى | بلد المنشأ |
الشمال | مستشفى الشمال | الوسطى والشرقية |
الشمال | مستشفى الشمال | كل المناطق |
مستخدم الجنوب | مستشفى الجنوب | جنوب |
مشرف الجنوب | مستشفى الجنوب | كل المناطق |
القوة | جميع المستشفيات | كل المناطق |
لم يتم توفير أي من هؤلاء المستخدمين في QuickSight. يدير OkTank هؤلاء المستخدمين في تطبيقه الخاص ، وبالتالي يعرف المنطقة والمستشفى الذي ينتمي إليه كل مستخدم. عندما يصل أي من هؤلاء المستخدمين إلى لوحة معلومات QuickSight المضمنة في التطبيق ، يجب على OkTank تأمين البيانات الموجودة على لوحة القيادة حتى يتمكن المستخدمون من رؤية البيانات الخاصة بمنطقتهم ومستشفىهم فقط.
أولاً ، أنشأ OkTank مفاتيح علامات على مجموعة البيانات التي يستخدمونها لتشغيل لوحة القيادة. في بهم UpdateDataset
استدعاء API ، و RowLevelPermissionTagConfiguration
عنصر في مجموعة البيانات كما يلي:
ثانيًا ، في وقت التشغيل عند تضمين لوحة القيادة عبر ملف GenerateDashboardEmbedURLForAnonymousUser
API ، وضعوا SessionTags
لكل مستخدم.
SessionTags
For NorthUser
في ال GenerateDashboardEmbedURLForAnonymousUser
استدعاء API كالتالي:
SessionTags
For NorthAdmin
هي كما يلي:
SessionTags
For SouthUser
هي كما يلي:
SessionTags
For SouthAdmin
هي كما يلي:
SessionTags
For PowerUser
هي كما يلي:
تظهر لقطة الشاشة التالية ماذا SouthUser
يرى الخاصة بمستشفى الجنوب بالمنطقة الجنوبية.
تظهر لقطة الشاشة التالية ماذا SouthAdmin
يرى الخاصة بمستشفى الجنوب في جميع المناطق.
تظهر لقطة الشاشة التالية ماذا PowerUser
يرى الخاصة بجميع المستشفيات في جميع المناطق.
استنادًا إلى علامات الجلسة ، قام OkTank بتأمين البيانات على لوحات المعلومات المضمنة بحيث يرى كل مستخدم فقط بيانات محددة بناءً على وصولهم. تستطيع الوصول إلى لوحة القيادة كأحد المستخدمين (عن طريق تغيير المستخدم في القائمة المنسدلة أعلى اليمين) وشاهد كيف تتغير البيانات بناءً على المستخدم المحدد.
بشكل عام ، مع الأمان على مستوى الصف باستخدام العلامات ، تستطيع OkTank توفير تجربة تحليلات مقنعة داخل تطبيق SaaS الخاص بهم ، مع التأكد من أن كل مستخدم يرى البيانات المناسبة فقط دون الحاجة إلى توفير وإدارة المستخدمين في QuickSight. يوفر QuickSight خيار تحليلات آمن وقابل للتطوير بدرجة كبيرة يمكنك إعداده ونشره في الإنتاج في أيام ، بدلاً من أسابيع أو أشهر قبل ذلك.
وفي الختام
يتيح الجمع بين لوحة معلومات التضمين للمستخدمين الذين لم يتم توفيرهم في QuickSight والأمان على مستوى الصف باستخدام العلامات للمطورين وموردي البرامج المستقلين (ISVs) إعداد تحليلات متطورة ومخصصة لمستخدمي تطبيقاتهم بسرعة وسهولة - كل ذلك بدون أي إعداد للبنية التحتية أو إدارة أثناء التوسع إلى ملايين المستخدمين . لمزيد من التحديثات من تحليلات QuickSight المضمنة، انظر الجديد في دليل مستخدم Amazon QuickSight.
حول المؤلف
راجي سيفاسوبرامانيام هو مهندس حلول متخصص في AWS ، يركز على التحليلات. يتمتع راجي بخبرة 20 عامًا في تصميم إدارة بيانات المؤسسة الشاملة وذكاء الأعمال وحلول التحليلات لشركات Fortune 500 و Fortune 100 في جميع أنحاء العالم. لديها خبرة عميقة في بيانات وتحليلات الرعاية الصحية المتكاملة مع مجموعة واسعة من مجموعات بيانات الرعاية الصحية بما في ذلك السوق المدارة واستهداف الأطباء وتحليلات المرضى. في أوقات فراغها ، تستمتع راجي برياضة المشي لمسافات طويلة واليوغا والبستنة.
سريكانث باهتي هو مهندس حلول متخصص على مستوى العالم في Amazon QuickSight. بدأ حياته المهنية كمستشار وعمل في العديد من المنظمات الحكومية والخاصة. في وقت لاحق ، عمل في شركة PerkinElmer Health and Sciences & eResearch Technology Inc ، حيث كان مسؤولاً عن تصميم وتطوير تطبيقات الويب عالية الحركة ، وخطوط أنابيب البيانات القابلة للتطوير والصيانة للغاية لمنصات التقارير باستخدام خدمات AWS والحوسبة بدون خادم.
كريم سيد محمد هو مدير منتج في Amazon QuickSight. يركز على التحليلات المضمنة وواجهات برمجة التطبيقات وتجربة المطور. قبل QuickSight ، كان يعمل في AWS Marketplace و Amazon Retail بصفته رئيسًا PM. بدأ كريم حياته المهنية كمطور ثم مديرًا لتقنيات مركز الاتصال وخبير محلي وإعلانات لـ Expedia. عمل كمستشار مع شركة McKinsey and Company لفترة قصيرة.
- '
- "
- &
- 000
- 100
- 11
- الوصول
- حسابي
- اكشن
- الكل
- أمازون
- تحليلات
- API
- واجهات برمجة التطبيقات
- التطبيق
- تطبيق
- التطبيقات
- التطبيقات
- الكتاب
- AWS
- نساعدك في بناء
- الأعمال
- ذكاء الأعمال
- دعوة
- الطاقة الإنتاجية
- التوظيف
- الكود
- عمود
- الشركات
- حول الشركة
- الحوسبة
- consultants
- العملاء
- لوحة أجهزة القياس
- البيانات
- إدارة البيانات
- المطور
- المطورين
- وسط المدينة
- الموظفين
- مشروع
- الخبره في مجال الغطس
- FAST
- الميزات
- حكومة
- صحة الإنسان
- الرعاية الصحية
- هنا
- مرتفع
- المشي لمسافات طويلة
- المستشفى
- المستشفيات
- كيفية
- HTTPS
- IAM
- هوية
- بما فيه
- معلومات
- البنية التحتية
- رؤيتنا
- التفاعلية
- IT
- القفل
- مفاتيح
- مستوى
- محلي
- القيام ب
- إدارة
- تجارة
- السوق
- مباراة
- المقبلة.
- ميزة جديدة
- شمال
- عمليات
- خيار
- أخرى
- أداء
- طبيب
- منصات التداول
- سياسة
- قوة
- خاص
- منتج
- الإنتــاج
- مورد
- الموارد
- استجابة
- بيع بالتجزئة
- إيرادات
- لفة
- القواعد
- ادارة العلاقات مع
- التحجيم
- علوم
- أمن
- يرى
- مختار
- Serverless
- خدمات
- طقم
- ضبط
- مشاركة
- شاركت
- قصير
- المواقع
- So
- تطبيقات الكمبيوتر
- الحلول
- جنوب
- الفضاء
- بدأت
- ملخص الحساب
- الحالة
- التكنولوجيا
- تكنولوجيا
- الوقت
- تيشرت
- حركة المرور
- آخر التحديثات
- المستخدمين
- قيمنا
- الويب
- تطبيقات الويب
- West Side
- من الذى
- في غضون
- سير العمل
- أعمال
- العالم
- سنوات
- اليوغا