آمازون QuickSight یک سرویس هوش تجاری (BI) کاملاً مدیریت شده و بومی ابری است که اتصال به داده های شما، ایجاد داشبوردهای تعاملی و به اشتراک گذاری آن ها با ده ها هزار کاربر را آسان می کند، چه در خود QuickSight، یا به عنوان یک نرم افزار تعبیه شده است. برنامه های سرویس (SaaS).
QuickSight Enterprise Edition اخیراً امنیت سطح ردیف (RLS) را با استفاده از برچسبها اضافه کرده است، ویژگی جدیدی که به توسعه دهندگان اجازه میدهد تا یک داشبورد را با دهها هزار کاربر به اشتراک بگذارند، در حالی که تضمین میکند که هر کاربر فقط میتواند دادههای خاصی را ببیند و به آنها دسترسی داشته باشد. این بدان معناست که وقتی یک فروشنده نرمافزار مستقل (ISV) یک داشبورد جاسازیشده با QuickSight را به برنامه خود اضافه میکند، مجبور نیست کاربران نهایی خود را در QuickSight فراهم کند، و به سادگی میتوانند برچسبهایی را برای فیلتر کردن دادهها بر اساس شخصیت داشبورد تنظیم کنند. در حال خدمت به. به عنوان مثال، اگر یک ISV بخواهد داشبوردی را راهاندازی کند که قرار بود با 20,000 کاربر در بین 100 مشتری یک برنامه به اشتراک گذاشته شود و همه کاربران درون یک مشتری به دادههای یکسان دسترسی داشته باشند، این ویژگی جدید به شما امکان میدهد یک داشبورد واحد را به اشتراک بگذارید. همه کاربران، بدون نیاز به راه اندازی یا مدیریت 20,000 کاربر در QuickSight.
RLS با استفاده از برچسبها اطمینان حاصل میکند که هر کاربر نهایی فقط دادههایی را میبیند که مربوط به آنها است، در حالی که QuickSight بهطور خودکار مقیاس میشود تا همزمانی کاربر را برآورده کند تا اطمینان حاصل شود که هر کاربر نهایی عملکرد سریعی را مشاهده میکند. در این پست به نحوه پیاده سازی آن می پردازیم.
بررسی اجمالی راه حل
برای جاسازی داشبوردها بدون تدارک کاربر، از API استفاده می کنیم GenerateEmbedURLForAnonymousUser، که با QuickSight کار می کند قیمت گذاری ظرفیت جلسه. با این API، سرور جاسازی (منطق در برنامه SaaS) هویت کاربری که داشبورد به او نمایش داده می شود را تعیین و مدیریت می کند (بر خلاف اینکه این هویت در QuickSight تهیه و مدیریت می شود).
نمودار زیر نمونه ای از گردش کار داشبوردهای جاسازی شده را نشان می دهد که داده ها را بر اساس افرادی که با استفاده از RLS با برچسب ها به برنامه دسترسی دارند، ایمن می کند.
در این مورد، یک ISV یک برنامه SaaS دارد که توسط دو کاربر نهایی قابل دسترسی است. یکی مدیر و دیگری ناظر سایت. هر دو کاربر به یک برنامه کاربردی و داشبورد QuickSight یکسانی که در برنامه تعبیه شده است دسترسی دارند و در QuickSight ارائه نشده اند. هنگامی که ناظر سایت به داشبورد دسترسی پیدا می کند، فقط داده های مربوط به سایت خود را می بیند و زمانی که مدیر به داشبورد دسترسی پیدا می کند، داده های مربوط به تمام سایت هایی را که مدیریت می کند می بیند.
برای دستیابی به این رفتار، از یک ویژگی جدید استفاده می کنیم که پیکربندی امنیت سطح ردیف را با استفاده از برچسب ها امکان پذیر می کند. این روش برای ایمن سازی داده ها در داشبوردهای جاسازی شده تنها زمانی کار می کند که داشبوردها بدون تدارک کاربر تعبیه شده باشند (همچنین به نام جاسازی ناشناس). فرآیند شامل دو مرحله است:
- کلیدهای برچسب را روی ستون های مجموعه داده های مورد استفاده برای ساخت داشبورد تنظیم کنید.
- هنگام جاسازی داشبورد به صورت ناشناس، مقادیری را برای کلیدهای برچسب در زمان اجرا تنظیم کنید.
کلیدهای برچسب را روی ستون ها در مجموعه داده های مورد استفاده برای ساخت داشبورد تنظیم کنید
ISV ها یا توسعه دهندگان می توانند ستون هایی را روی مجموعه داده ها با استفاده از CreateDataset
or UpdateDataset
API ها به شرح زیر است:
در کد مثال قبلی، row-level-permission-tag-configuration
عنصری است که می توانید برای تعریف کلیدهای برچسب روی ستون های یک مجموعه داده استفاده کنید. برای هر تگ می توانید موارد اختیاری زیر را تعریف کنید:
- TagMultiValueDelimiter – این گزینه زمانی که روی یک ستون تنظیم می شود به شما امکان می دهد در زمان اجرا بیش از یک مقدار را به تگ ارسال کنید و مقادیر توسط مجموعه رشته ای برای این گزینه محدود می شوند. در این نمونه، یک کاما به عنوان یک رشته جداکننده تنظیم شده است.
- MatchAllValue – این گزینه زمانی که روی یک ستون تنظیم میشود، شما را قادر میسازد تا تمام مقادیر یک ستون را در زمان اجرا ارسال کنید و مقادیر توسط مجموعه رشتهای برای این گزینه نمایش داده میشوند. در این نمونه، یک ستاره به عنوان یک رشته مطابقت داده شده است.
بعد از اینکه تگ های خود را تعریف کردیم، می توانیم با استفاده از آن این قوانین را فعال یا غیرفعال کنیم Status
عنصر API در این حالت مقدار بر روی تنظیم می شود ENABLED
. برای غیرفعال کردن قوانین، مقدار است DISABLED
. پس از فعال شدن برچسبها، میتوانیم مقادیری را در زمان اجرا به برچسبها ارسال کنیم تا دادههای نمایش داده شده بر اساس افرادی که به داشبورد دسترسی دارند، ایمن شوند.
هر مجموعه داده می تواند تا 50 کلید برچسب داشته باشد.
ما پاسخ زیر را برای CreateDataset
or UpdateDataset
API ها:
نویسندگان را فعال کنید تا به داده های محافظت شده توسط کلیدهای برچسب هنگام نوشتن تجزیه و تحلیل دسترسی داشته باشند
پس از تنظیم و فعال شدن کلیدهای برچسب روی مجموعه داده، ایمن می شود. نویسندگان هنگام استفاده از این مجموعه داده برای نوشتن داشبورد هیچ داده ای را نمی بینند. هنگام نوشتن داشبورد، باید به آنها مجوز داده شود تا هر یک از داده های موجود در مجموعه داده را ببینند. برای دادن اجازه به نویسندگان QuickSight برای دیدن داده ها در مجموعه داده، یک فایل مجوز یا یک مجموعه قوانین ایجاد کنید. برای اطلاعات بیشتر ببین ایجاد قوانین مجموعه داده برای امنیت سطح ردیف. در زیر یک مجموعه داده قواعد نمونه است.
نام کاربری | ستون_نام_1 | ستون_نام_2 | ستون_نام_3 |
مدیر/نویسنده نمونه |
در این مجموعه داده نمونه، نام کاربری نویسنده در ستون UserName فهرست شده است. سه ستون دیگر، ستون هایی از مجموعه داده هستند که کلیدهای برچسب را روی آنها تنظیم می کنیم. مقادیر برای این ستون ها برای نویسنده اضافه شده به این جدول خالی می ماند. این به نویسنده این امکان را میدهد که تمام دادههای این ستونها را بدون هیچ محدودیتی در هنگام نوشتن تحلیلها ببیند.
هنگام جاسازی داشبورد، مقادیر را برای کلیدهای برچسب در زمان اجرا تنظیم کنید
پس از تنظیم کلیدهای برچسب برای ستونهای مجموعه داده، توسعهدهندگان مقادیر کلیدها را در زمان اجرا هنگام جاسازی داشبورد تنظیم میکنند. توسعه دهندگان با 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
. می توانید این URL را در صفحه HTML خود قرار دهید. دادههای این داشبورد بر اساس مقادیر ارسال شده به کلیدهای برچسب هنگام فراخوانی API تعبیهشده ایمن میشوند. GenerateDashboardEmbedURLForAnonymousUser
:
- EmbedUrl (رشته) - یک URL یکبار مصرف که می توانید آن را در صفحه وب سمت سرور خود قرار دهید تا داشبورد خود را جاسازی کنید. این URL به مدت 5 دقیقه معتبر است. عملیات API URL را با یک نشان می دهد
auth_code
مقداری که یک (و تنها یک) ورود به یک جلسه کاربر را فعال می کند که حداکثر تا 10 ساعت معتبر است. این URL داشبورد را با قوانین 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 | بیمارستان شمال | مرکزی و شرقی |
North Admin | بیمارستان شمال | تمام مناطق |
کاربر جنوبی | بیمارستان جنوب | جنوب |
South Admin | بیمارستان جنوب | تمام مناطق |
کاربر حرفه ای | همه بیمارستان ها | تمام مناطق |
هیچ یک از این کاربران در 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، نگاه کنید به چه چیزی در راهنمای کاربر QuickSight Amazon وجود دارد.
درباره نویسنده
راجی سیواسوبرامانیام یک معمار راه حل های تخصصی در AWS است که بر تجزیه و تحلیل تمرکز دارد. راجی دارای 20 سال تجربه در معماری مدیریت داده های سازمانی، هوش تجاری و راه حل های تجزیه و تحلیل برای شرکت های Fortune 500 و Fortune 100 در سراسر جهان است. او تجربه عمیقی در داده ها و تجزیه و تحلیل یکپارچه مراقبت های بهداشتی با طیف گسترده ای از مجموعه داده های مراقبت های بهداشتی از جمله بازار مدیریت شده، هدف گیری پزشک و تجزیه و تحلیل بیمار دارد. راجی در اوقات فراغت خود از پیاده روی، یوگا و باغبانی لذت می برد.
سریکانث باهتی یک معمار راه حل تخصصی در سراسر جهان برای Amazon QuickSight است. او کار خود را به عنوان مشاور آغاز کرد و برای چندین سازمان خصوصی و دولتی کار کرد. بعداً برای PerkinElmer Health and Sciences & eResearch Technology Inc کار کرد، جایی که او مسئول طراحی و توسعه برنامه های کاربردی وب با ترافیک بالا، خطوط لوله داده بسیار مقیاس پذیر و قابل نگهداری برای پلت فرم های گزارش با استفاده از خدمات AWS و محاسبات بدون سرور بود.
کریم سید محمد مدیر محصول در Amazon QuickSight است. او بر تجزیه و تحلیل های جاسازی شده، API ها و تجربه توسعه دهندگان تمرکز می کند. قبل از QuickSight او با AWS Marketplace و خرده فروشی آمازون به عنوان PM کار کرده است. کریم کار خود را به عنوان یک توسعه دهنده و سپس PM برای فناوری های مرکز تماس، متخصص محلی و تبلیغات برای Expedia آغاز کرد. او مدت کوتاهی به عنوان مشاور با McKinsey and Company کار کرد.
- '
- "
- &
- 000
- 100
- 11
- دسترسی
- حساب
- عمل
- آگهی
- معرفی
- آمازون
- علم تجزیه و تحلیل
- API
- رابط های برنامه کاربردی
- نرم افزار
- کاربرد
- برنامه های کاربردی
- برنامه های
- نویسندگان
- AWS
- ساختن
- کسب و کار
- هوش تجاری
- صدا
- ظرفیت
- کاریابی
- رمز
- ستون
- شرکت
- شرکت
- محاسبه
- مشاور
- مشتریان
- داشبورد
- داده ها
- مدیریت اطلاعات
- توسعه دهنده
- توسعه دهندگان
- مرکز شهر
- کارکنان
- سرمایه گذاری
- تجربه
- FAST
- ویژگی
- دولت
- سلامتی
- بهداشت و درمان
- اینجا کلیک نمایید
- زیاد
- پیاده روی
- بیمارستان
- بیمارستان ها
- چگونه
- HTTPS
- IAM
- هویت
- از جمله
- اطلاعات
- شالوده
- اطلاعات
- تعاملی
- IT
- کلید
- کلید
- سطح
- محلی
- ساخت
- مدیریت
- بازار
- بازار
- مسابقه
- ماه
- ویژگی های جدید
- شمال
- عملیات
- گزینه
- دیگر
- کارایی
- پزشک
- سیستم عامل
- سیاست
- قدرت
- خصوصی
- محصول
- تولید
- منابع
- منابع
- پاسخ
- خرده فروشی
- درامد
- نورد
- قوانین
- SAAS
- مقیاس گذاری
- علوم
- تیم امنیت لاتاری
- می بیند
- انتخاب شد
- بدون سرور
- خدمات
- تنظیم
- محیط
- اشتراک گذاری
- به اشتراک گذاشته شده
- کوتاه
- سایت
- So
- نرم افزار
- مزایا
- جنوب
- فضا
- آغاز شده
- بیانیه
- وضعیت
- فن آوری
- پیشرفته
- زمان
- بالا
- ترافیک
- به روز رسانی
- کاربران
- ارزش
- وب
- برنامه های وب
- غرب
- WHO
- در داخل
- گردش کار
- با این نسخهها کار
- جهان
- سال
- ریاضت