אמזון קוויקסייט הוא שירות בינה עסקית (BI) מנוהל באופן מלא, המאפשר להתחבר בקלות לנתונים שלך, ליצור לוחות מחוונים אינטראקטיביים ולשתף אותם עם עשרות אלפי משתמשים, בין אם בתוך QuickSight עצמה, או מוטבע בתוכנה כ- אפליקציות שירות (SaaS).
QuickSight Enterprise Edition הוסיפה לאחרונה אבטחה ברמת השורה (RLS) באמצעות תגיות, תכונה חדשה המאפשרת למפתחים לשתף לוח מחוונים בודד עם עשרות אלפי משתמשים, תוך הבטחה שכל משתמש יכול לראות רק נתונים מסוימים ולקבל גישה אליהם. המשמעות היא שכאשר ספק תוכנה עצמאי (ISV) מוסיף לוח מחוונים מוטבע באפליקציה שלו, הם לא צריכים לספק את משתמשי הקצה שלו ב-QuickSight, ויכולים פשוט להגדיר תגים לסינון נתונים על סמך מיהו לוח המחוונים מוגש ל. לדוגמה, אם ISV רצה להגדיר לוח מחוונים שאמור להיות משותף עם 20,000 משתמשים על פני 100 לקוחות של אפליקציה, כאשר לכל המשתמשים בתוך לקוח יש גישה לנתונים זהים, תכונה חדשה זו מאפשרת לך לשתף לוח מחוונים יחיד עבור כל המשתמשים, מבלי להגדיר או לנהל את 20,000 המשתמשים ב-QuickSight.
RLS שנאכף באמצעות תגים מוודא שכל משתמש קצה רואה רק נתונים שרלוונטיים עבורו, בעוד ש-QuickSight משתנה אוטומטית כדי לעמוד במקבילות המשתמש כדי להבטיח שכל משתמש קצה יראה ביצועים מהירים באופן עקבי. בפוסט זה, אנו בוחנים כיצד ניתן ליישם זאת.
סקירת פתרונות
כדי להטמיע לוחות מחוונים ללא הקצאת משתמש, אנו משתמשים ב-API צורEmbedURLForUser אנונימי, שעובד עם QuickSight's תמחור קיבולת הפגישה. עם ממשק API זה, שרת ההטמעה (היגיון באפליקציית SaaS) קובע ומנהל את זהות המשתמש שאליו מוצג לוח המחוונים (בניגוד לזהות זו שמסופקת ומנוהלת בתוך QuickSight).
התרשים הבא מציג זרימת עבודה לדוגמה של לוחות מחוונים משובצים המאבטחת נתונים על סמך מי שניגש לאפליקציה באמצעות RLS עם תגים.
במקרה זה, ל-ISV יש יישום SaaS שניגשים אליו שני משתמשי קצה. אחד הוא מנהל והשני הוא מפקח אתר. שני המשתמשים ניגשים לאותה אפליקציה ולאותו לוח מחוונים של QuickSight המוטמע באפליקציה והם אינם מסופקים ב-QuickSight. כאשר מפקח האתר ניגש ללוח המחוונים, הוא רואה רק נתונים הנוגעים לאתר שלו, וכאשר המנהל ניגש ללוח המחוונים, הוא רואה נתונים הנוגעים לכל האתרים שהם מנהלים.
כדי להשיג התנהגות זו, אנו משתמשים בתכונה חדשה המאפשרת להגדיר את האבטחה ברמת השורה באמצעות תגים. שיטה זו של אבטחת נתונים על לוחות מחוונים משובצים פועלת רק כאשר לוחות מחוונים מוטמעים ללא הקצאת משתמש (נקראת גם הטבעה אנונימית). התהליך כולל שני שלבים:
- הגדר מפתחות תג בעמודות של מערכי הנתונים המשמשים לבניית לוח המחוונים.
- הגדר ערכים עבור מפתחות התג בזמן ריצה בעת הטמעת לוח המחוונים באופן אנונימי.
הגדר מפתחות תג בעמודות במערך הנתונים המשמשים לבניית לוח המחוונים
ISVs או מפתחים יכולים להגדיר עמודות על מערכי הנתונים באמצעות ה CreateDataset
or UpdateDataset
ממשקי API כדלקמן:
בקוד הדוגמה הקודם, row-level-permission-tag-configuration
הוא האלמנט שבו אתה יכול להשתמש כדי להגדיר מפתחות תג בעמודות של מערך נתונים. עבור כל תג, אתה יכול להגדיר את הפריטים האופציונליים הבאים:
- TagMultiValueDelimiter - אפשרות זו כאשר היא מוגדרת על עמודה מאפשרת לך להעביר יותר מערך אחד לתג בזמן הריצה, והערכים מופרדים על ידי המחרוזת שנקבעה עבור אפשרות זו. בדוגמה זו, פסיק מוגדר כמחרוזת מפריד.
- MatchAllValue - אפשרות זו כאשר היא מוגדרת על עמודה מאפשרת לך להעביר את כל הערכים של עמודה בזמן ריצה, והערכים מיוצגים על ידי המחרוזת שנקבעה עבור אפשרות זו. בדוגמה זו, כוכבית מוגדרת כמחרוזת התאמה לכל.
לאחר שהגדרנו את התגים שלנו, נוכל להפעיל או להשבית כללים אלה באמצעות ה Status
רכיב של ה-API. במקרה זה הערך מוגדר ל ENABLED
. כדי להשבית את הכללים, הערך הוא DISABLED
. לאחר הפעלת התגים, נוכל להעביר ערכים לתגים בזמן ריצה כדי לאבטח את הנתונים המוצגים על סמך מי שניגש ללוח המחוונים.
לכל מערך נתונים יכולים להיות עד 50 מפתחות תג.
אנו מקבלים את התגובה הבאה עבור CreateDataset
or UpdateDataset
API:
אפשר למחברים לגשת לנתונים המוגנים על ידי מפתחות תג בעת עריכת ניתוח
לאחר הגדרת מפתחות התגים ומופעלים במערך הנתונים, הוא מאובטח. מחברים בעת שימוש במערך נתונים זה ליצירת לוח מחוונים אינם רואים נתונים כלשהם. יש לתת להם הרשאות כדי לראות כל אחד מהנתונים במערך הנתונים בעת יצירת לוח מחוונים. כדי לתת למחברי QuickSight הרשאה לראות נתונים במערך הנתונים, צור קובץ הרשאות או מערך נתונים של כללים. למידע נוסף, ראה יצירת כללי מערך נתונים לאבטחה ברמת השורה. להלן מערך נתונים כלליים לדוגמה.
שם משתמש | column_name_1 | column_name_2 | column_name_3 |
מנהל/מחבר לדוגמה |
במערך הנתונים לדוגמה זה, יש לנו את שם המשתמש של המחבר רשום בעמודה שם משתמש. שלוש העמודות האחרות הן העמודות ממערך הנתונים שעליו אנו מגדירים מפתחות תג. הערכים נותרים ריקים עבור עמודות אלו עבור המחבר שנוסף לטבלה זו. זה מאפשר למחבר לראות את כל הנתונים בעמודות אלה ללא כל הגבלה כאשר הם עורכים ניתוחים.
הגדר ערכים למקשי התג בזמן ריצה בעת הטמעת לוח המחוונים
לאחר הגדרת מפתחות התג עבור עמודות של מערכי הנתונים, מפתחים מגדירים ערכים למפתחות בזמן ריצה בעת הטבעת לוח המחוונים. מפתחים קוראים ל-API GenerateDashboardEmbedURLForAnonymousUser
להטביע את לוח המחוונים ולהעביר ערכים למפתחות התג באלמנט SessionTags
, כפי שמוצג בקוד לדוגמה הבא:
מכיוון שתכונה זו מאבטחת נתונים עבור משתמשים שלא הועברו ב-QuickSight, קריאת ה-API מיועדת AnonymousUser
בלבד ולכן תכונה זו פועלת רק עם ה-API GenerateDashboardEmbedURLForAnonymousUser
.
לקוד הדוגמה הקודם יש את הרכיבים הבאים:
- בעד
tag_name_1
, אתה מגדיר שני ערכים (value1
וvalue2
) משתמש בTagMultiValueDelimiter
מוגדר בעת הגדרת מקשי התג (במקרה זה, פסיק). - בעד
tag_name_2
, אתה מגדיר ערך אחד ככוכבית. זה מאפשר למפתח התג הזה להקצות את כל הערכים עבור אותה עמודה מכיוון שהגדרנו כוכבית בתורMatchAllValue
בעת הגדרת מפתח תג בעמודה קודם לכן. - בעד
tag_name_3
, אתה מגדיר ערך אחד (value3
).
הגדרת תגובת API
לתגובה של ה-API יש את EmbedURL
, Status
, ו RequestID
. אתה יכול להטמיע כתובת אתר זו בדף ה-HTML שלך. הנתונים בלוח המחוונים הזה מאובטחים על סמך הערכים המועברים למפתחות התג בעת קריאה ל-API ההטמעה GenerateDashboardEmbedURLForAnonymousUser
:
- EmbedURl (מחרוזת) - כתובת אתר חד פעמית שתוכל להכניס לדף האינטרנט שלך בצד השרת כדי להטמיע את לוח המחוונים שלך. כתובת האתר תקפה למשך 5 דקות. פעולת ה-API מספקת את כתובת האתר עם
auth_code
ערך שמאפשר כניסה אחת (ויחידה אחת) להפעלת משתמש שתקפה עד 10 שעות. כתובת האתר הזו מציגה את לוח המחוונים עם כללי RLS מיושמים בהתבסס על הערכים שהוגדרו עבור מפתחות תג RLS. - סטטוס (מספר שלם) – סטטוס ה-HTTP של הבקשה.
- RequestId (מחרוזת) - מזהה הבקשה של AWS עבור פעולה זו.
בקרת גישה משובחת
אתה יכול להשיג בקרת גישה עדינה על ידי שימוש בדינמי AWS זהות וניהול גישה (IAM) יצירת מדיניות. למידע נוסף, ראה בידוד דיירי SaaS עם מדיניות IAM שנוצרה באופן דינמי. בעת השימוש ב- GenerateEmbedUrlForAnonymousUser
API להטמעה, עליך להזכיר שני סוגי משאבים במדיניות IAM: מרחבי השמות של ה-ARN של המשתמשים האנונימיים שלך שייכים למעשה, ו-ARN של לוח המחוונים שניתן להשתמש בהם ב- AuthorizedResourceArns
ערך פרמטר קלט. הפעלות שנוצרות באמצעות API זה יכולות לגשת למשאבים המורשים ולאלה (לוחות מחוונים) המשותפים עם מרחב השמות.
מכיוון שמשתמשים אנונימיים הם חלק ממרחב שמות, כל לוחות המחוונים המשותפים עם מרחב השמות נגישים להם, ללא קשר אם הם מועברים במפורש דרך 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 | בית חולים | אזור |
NorthUser | בית חולים צפון | מרכז ומזרח |
NorthAdmin | בית חולים צפון | כל האזורים |
SouthUser | בית חולים דרום | דרום |
SouthAdmin | בית חולים דרום | כל האזורים |
PowerUser | כל בתי החולים | כל האזורים |
אף אחד מהמשתמשים האלה לא הוקצה ב-QuickSight. OkTank מנהלת את המשתמשים הללו באפליקציה משלה ולכן יודעת לאיזה אזור ובית חולים שייך כל משתמש. כאשר כל אחד מהמשתמשים הללו ניגש ללוח המחוונים המשובץ של QuickSight באפליקציה, OkTank חייב לאבטח את הנתונים בלוח המחוונים כך שמשתמשים יוכלו לראות רק את הנתונים עבור האזור ובית החולים שלהם.
ראשית, OkTank יצר מפתחות תג במערך הנתונים שבהם הם משתמשים כדי להפעיל את לוח המחוונים. אצלם UpdateDataset
קריאת API, ה RowLevelPermissionTagConfiguration
הרכיב במערך הנתונים הוא כדלקמן:
שנית, בזמן ריצה בעת הטמעת לוח המחוונים באמצעות GenerateDashboardEmbedURLForAnonymousUser
API, הם קובעים SessionTags
לכל משתמש.
SessionTags
ל NorthUser
ב GenerateDashboardEmbedURLForAnonymousUser
קריאות API הן כדלקמן:
SessionTags
ל NorthAdmin
הם כדלקמן:
SessionTags
ל SouthUser
הם כדלקמן:
SessionTags
ל SouthAdmin
הם כדלקמן:
SessionTags
ל PowerUser
הם כדלקמן:
צילום המסך הבא מראה מה SouthUser
רואה הנוגע לבית חולים דרום באזור הדרום.
צילום המסך הבא מראה מה SouthAdmin
רואה לגבי בית החולים דרום בכל האזורים.
צילום המסך הבא מראה מה PowerUser
רואה לגבי כל בתי החולים בכל האזורים.
בהתבסס על תגי הפעלה, OkTank אבטחה נתונים על לוחות המחוונים המשובצים כך שכל משתמש רואה רק נתונים ספציפיים על סמך הגישה שלו. אתה יכול לגשת ללוח המחוונים כאחד מהמשתמשים (על ידי שינוי המשתמש בתפריט הנפתח בצד ימין למעלה) וראה כיצד הנתונים משתנים בהתאם למשתמש שנבחר.
בסך הכל, עם אבטחה ברמת השורה באמצעות תגים, OkTank מסוגל לספק חוויית ניתוח משכנעת בתוך אפליקציית ה-SaaS שלהם, תוך שהוא מוודא שכל משתמש רואה רק את הנתונים המתאימים מבלי להקצות ולנהל משתמשים ב-QuickSight. QuickSight מספקת אפשרות ניתוח ניתנת להרחבה ומאובטחת שתוכל להגדיר ולהוציא לייצור תוך ימים, במקום שבועות או חודשים קודם לכן.
סיכום
השילוב של הטמעת לוח המחוונים למשתמשים שאינם מסופקים ב-QuickSight ואבטחה ברמת השורה באמצעות תגים מאפשרת למפתחים ול-ISV להגדיר במהירות ובקלות ניתוחים מתוחכמים ומותאמים אישית עבור משתמשי האפליקציה שלהם - הכל ללא כל הגדרת תשתית או ניהול תוך התאמה למיליוני משתמשים . לעדכונים נוספים מ ניתוח משובץ של QuickSightראה מה חדש במדריך למשתמש של Amazon QuickSight.
על הכותבים
Raji Sivasubramaniam הוא אדריכל פתרונות מומחה ב-AWS, המתמקד באנליטיקס. לראג'י יש 20 שנות ניסיון בתכנון פתרונות ניהול נתונים ארגוניים מקצה לקצה, בינה עסקית ואנליטיקה עבור חברות Fortune 500 ו-Fortune 100 ברחבי העולם. יש לה ניסיון מעמיק בנתוני בריאות משולבים וניתוחים עם מגוון רחב של מערכי נתונים של שירותי בריאות, כולל שוק מנוהל, מיקוד לרופאים וניתוח מטופלים. בזמנה הפנוי, ראג'י נהנית מטיולים, יוגה וגינון.
סריקנת' בהטי הוא מומחה World Wide Sr. Solution Architect עבור Amazon QuickSight. הוא החל את דרכו כיועץ ועבד עבור מספר ארגונים פרטיים וממשלתיים. מאוחר יותר הוא עבד עבור PerkinElmer Health and Sciences & eResearch Technology Inc, שם היה אחראי על עיצוב ופיתוח יישומי אינטרנט עם תעבורה גבוהה, צינורות נתונים ניתנים להרחבה וניתנים לתחזוקה עבור פלטפורמות דיווח המשתמשות בשירותי AWS ומחשוב ללא שרתים.
קארים סייד-מוחמד הוא מנהל מוצר ב-Amazon QuickSight. הוא מתמקד בניתוח משובץ, ממשקי API וחווית מפתחים. לפני QuickSight הוא היה ב-AWS Marketplace ובקמעונאות של אמזון בתור ראש ממשלה. קארים התחיל את הקריירה שלו כמפתח ולאחר מכן ראש ממשלה עבור טכנולוגיות מוקד טלפוני, מומחה מקומי ומודעות עבור Expedia. הוא עבד כיועץ עם McKinsey and Company לזמן קצר.
- '
- "
- &
- 000
- 100
- 11
- גישה
- חֶשְׁבּוֹן
- פעולה
- מודעות
- תעשיות
- אמזון בעברית
- ניתוח
- API
- ממשקי API
- האפליקציה
- בקשה
- יישומים
- אפליקציות
- מחברים
- AWS
- לִבנוֹת
- עסקים
- מודיעין עסקי
- שיחה
- קיבולת
- קריירה
- קוד
- טור
- חברות
- חברה
- מחשוב
- יועץ
- לקוחות
- לוח מחוונים
- נתונים
- ניהול נתונים
- מפתח
- מפתחים
- מרכז העיר
- עובדים
- מִפְעָל
- ניסיון
- מהר
- מאפיין
- ממשלה
- בְּרִיאוּת
- בריאות
- כאן
- גָבוֹהַ
- טיולים
- בית חולים
- בתי חולים
- איך
- HTTPS
- IAM
- זהות
- כולל
- מידע
- תשתית
- מוֹדִיעִין
- אינטראקטיבי
- IT
- מפתח
- מפתחות
- רמה
- מקומי
- עשייה
- ניהול
- שוק
- שוק
- להתאים
- חודשים
- תכונה חדשה
- צפון
- תפעול
- אפשרות
- אחר
- ביצועים
- רופא
- פלטפורמות
- מדיניות
- כּוֹחַ
- פְּרָטִי
- המוצר
- הפקה
- משאב
- משאבים
- תגובה
- קמעוני
- הכנסה
- גָלִיל
- כללי
- SaaS
- דרוג
- מדעים
- אבטחה
- רואה
- נבחר
- ללא שרת
- שירותים
- סט
- הצבה
- שיתוף
- משותף
- קצר
- אתרים
- So
- תוכנה
- פתרונות
- דרום
- מֶרחָב
- החל
- הצהרה
- מצב
- טכנולוגיות
- טכנולוגיה
- זמן
- חלק עליון
- תְנוּעָה
- עדכונים
- משתמשים
- ערך
- אינטרנט
- יישומי אינטרנט
- מערב
- מי
- בתוך
- זרימת עבודה
- עובד
- עוֹלָם
- שנים
- יוגה