پیش بینی آمازون یک سرویس کاملاً مدیریت شده است که بر اساس همان فناوری مورد استفاده برای پیش بینی در Amazon.com است. Forecast از یادگیری ماشین (ML) برای ترکیب داده های سری زمانی با متغیرهای اضافی برای ایجاد پیش بینی های بسیار دقیق استفاده می کند. پیشبینی برای شروع نیاز به تجربه ML ندارد. فقط باید داده های تاریخی و هر داده اضافی که ممکن است بر پیش بینی ها تأثیر بگذارد ارائه دهید.
مشتریان به سمت استفاده از مدل نرم افزار به عنوان سرویس (SaaS) برای ارائه راه حل های چند مستاجر روی آورده اند. شما می توانید برنامه های SaaS را با انواع مدل های معماری مختلف بسازید تا الزامات مقرراتی و انطباق را برآورده کنید. بسته به مدل SaaS، منابعی مانند Forecast بین مستاجرین به اشتراک گذاشته می شود. برای استقرار راهحلهای SaaS، دسترسی به دادههای پیشبینی، نظارت و صورتحساب باید در نظر گرفته شود.
در این پست نحوه استفاده از Forecast در یک برنامه SaaS چند مستاجر با استفاده از آن توضیح داده شده است کنترل دسترسی مبتنی بر ویژگی (ABAC) در هویت AWS و مدیریت دسترسی (IAM) برای ارائه این قابلیت ها. ABAC یک رویکرد قدرتمند است که می توانید از آن برای جداسازی منابع بین مستاجرین استفاده کنید.
در این پست، ما راهنمایی هایی در مورد تنظیم سیاست های IAM برای مستاجران با استفاده از اصول و پیش بینی ABAC ارائه می دهیم. برای نشان دادن پیکربندی، ما دو مستاجر راه اندازی کردیم، TenantA
و TenantB
و یک مورد استفاده را در زمینه یک برنامه SaaS با استفاده از Forecast نشان دهید. در مورد استفاده ما، TenantB
نمی توان حذف کرد TenantA
منابع و بالعکس نمودار زیر معماری ما را نشان می دهد.
TenantA
و TenantB
دارای سرویس هایی هستند که به صورت میکروسرویس در داخل اجرا می شوند سرویس الاستیک کوبرنتز آمازون (Amazon EKS). برنامه مستاجر از Forecast به عنوان بخشی از جریان تجاری خود استفاده می کند.
پیشبینی دریافت دادهها
داده های واردات پیش بینی از مستاجر سرویس ذخیره سازی ساده آمازون (آمازون S3) سطل به سطل مدیریت پیش بینی S3. دادهها را میتوان در حین حمل و نقل و در حالت استراحت بهطور خودکار با استفاده از کلیدهای مدیریتشده پیشبینی یا کلیدهای خاص مستاجر رمزگذاری کرد. سرویس مدیریت کلید AWS (AWS KMS). کلید اختصاصی مستاجر را می توان توسط برنامه SaaS به عنوان بخشی از سوار شدن ایجاد کرد، یا مستاجر می تواند کلید مدیریت شده توسط مشتری (CMK) خود را با استفاده از AWS KMS ارائه دهد. لغو مجوز در کلید ویژه مستاجر مانع از استفاده Forecast از داده های مستاجر می شود. توصیه می کنیم از یک کلید مخصوص مستاجر و یک نقش IAM برای هر مستأجر در یک محیط SaaS چند مستاجر استفاده کنید. این امر امنیت داده ها را بر اساس مستاجر به مستاجر امکان پذیر می کند.
بررسی اجمالی راه حل
می توانید داده ها را در آمازون S3 تقسیم بندی کنید تا دسترسی مستاجر را به روش های مختلف جدا کنید. برای این پست، ما دو استراتژی را مورد بحث قرار می دهیم:
- برای هر مستأجر از یک سطل S3 استفاده کنید
- از یک سطل S3 استفاده کنید و داده های مستاجر را با پیشوند جدا کنید
برای اطلاعات بیشتر در مورد استراتژی های مختلف، به ادامه مطلب مراجعه کنید ذخیره داده های چند مستاجر در آمازون S3 مخزن GitHub.
هنگام استفاده از یک سطل برای هر مستاجر، از یک خط مشی IAM برای محدود کردن دسترسی به یک سطل S3 مستاجر استفاده می کنید. مثلا:
محدودیت سختی برای تعداد سطل های S3 در هر حساب وجود دارد. برای غلبه بر این محدودیت باید یک استراتژی چند حسابی در نظر گرفته شود.
در گزینه دوم ما، دادههای مستاجر با استفاده از پیشوند S3 در یک سطل S3 جدا میشوند. ما از یک خط مشی IAM برای محدود کردن دسترسی در یک پیشوند سطل برای هر مستاجر استفاده می کنیم. مثلا:
برای این پست، از گزینه دوم اختصاص دادن پیشوندهای S3 در یک سطل استفاده می کنیم. ما داده های مستاجر را با استفاده از CMK در AWS KMS رمزگذاری می کنیم.
ورود مستاجر
برنامه های SaaS برای معرفی مستاجران جدید به محیط خود بر یک مدل بدون اصطکاک متکی هستند. این اغلب مستلزم هماهنگی چندین مؤلفه برای تأمین و پیکربندی موفقیت آمیز تمام عناصر مورد نیاز برای ایجاد یک مستاجر جدید است. این فرآیند، در معماری SaaS، به عنوان نامیده می شود سوار شدن مستاجر. این می تواند مستقیماً توسط مستاجران یا به عنوان بخشی از یک فرآیند مدیریت شده توسط ارائه دهنده آغاز شود. نمودار زیر جریان پیکربندی پیش بینی به ازای هر مستاجر را به عنوان بخشی از فرآیند سوار شدن نشان می دهد.
منابع با اطلاعات مستاجر برچسب گذاری شده اند. برای این پست، ما منابع را با یک مقدار برای مستاجر برچسب گذاری می کنیم، به عنوان مثال، tenant_a
.
یک نقش Forecast ایجاد کنید
این نقش IAM توسط Forecast به ازای هر مستاجر فرض می شود. باید سیاست زیر را اعمال کنید تا به Forecast اجازه دهید با Amazon S3 و AWS KMS در حساب مشتری تعامل داشته باشد. نقش با مستاجر برچسب تگ شده است. برای مثال کد زیر را ببینید:
سیاست ها را ایجاد کنید
در این مرحله بعدی، ما سیاست هایی را برای نقش پیش بینی خود ایجاد می کنیم. برای این پست، ما آنها را برای خوانایی بیشتر به دو خط مشی تقسیم می کنیم، اما شما می توانید آنها را بر اساس نیاز خود ایجاد کنید.
خط مشی 1: پیش بینی دسترسی فقط خواندنی
خط مشی زیر امتیازاتی را برای توصیف، فهرست کردن، و پرس و جو از منابع Forecast می دهد. این خط مشی Forecast را به دسترسی فقط خواندنی محدود می کند. شرط اعتبار سنجی برچسب مستاجر در کد زیر اطمینان حاصل می کند که مقدار تگ مستاجر با تگ مستاجر اصلی مطابقت دارد. رجوع به کد پررنگ برای مشخصات خاص
خط مشی 2: خط مشی دسترسی Amazon S3 و AWS KMS
خط مشی زیر به AWS KMS و دسترسی به پیشوند مستاجر S3 امتیاز می دهد. شرط اعتبار سنجی برچسب مستاجر در کد زیر اطمینان حاصل می کند که مقدار تگ مستاجر با تگ مستاجر اصلی مطابقت دارد. رجوع به کد پررنگ برای مشخصات خاص
یک کلید خاص مستاجر ایجاد کنید
اکنون یک کلید مخصوص مستاجر در AWS KMS برای هر مستأجر ایجاد می کنیم و آن را با مقدار تگ مستاجر تگ می کنیم. از طرف دیگر، مستاجر می تواند کلید خود را به AWS KMS بیاورد. ما نقش های قبلی را می دهیم (Forecast_TenantA_Role
or Forecast_TenantB_Role
) دسترسی به کلید مخصوص مستاجر.
برای مثال، تصویر زیر جفت کلید-مقدار را نشان میدهد tenant
و tenant_a
.
تصویر زیر نقش های IAM را نشان می دهد که می توانند از این کلید استفاده کنند.
یک نقش برنامه ایجاد کنید
نقش دومی که ایجاد می کنیم توسط برنامه SaaS به ازای هر مستاجر فرض می شود. شما باید سیاست زیر را اعمال کنید تا به برنامه اجازه دهید با Forecast، Amazon S3 و AWS KMS تعامل داشته باشد. نقش با مستاجر برچسب تگ شده است. کد زیر را ببینید:
سیاست ها را ایجاد کنید
اکنون سیاست هایی را برای نقش برنامه ایجاد می کنیم. برای این پست، ما آنها را برای خوانایی بیشتر به دو خط مشی تقسیم می کنیم، اما شما می توانید آنها را بر اساس نیاز خود ایجاد کنید.
سیاست 1: دسترسی پیش بینی
خط مشی زیر امتیازاتی را برای ایجاد، به روز رسانی و حذف منابع Forecast می دهد. این خط مشی الزامات برچسب را در حین ایجاد اعمال می کند. علاوه بر این، آن را محدود می کند list
, describe
و delete
اقدامات مربوط به منابع به مستاجر مربوطه. این سیاست دارای IAM است PassRole
به Forecast اجازه می دهد تا این نقش را به عهده بگیرد.
La tenant
شرط اعتبار سنجی برچسب در کد زیر اطمینان حاصل می کند که مقدار تگ مستاجر با مستاجر مطابقت دارد. رجوع به کد پررنگ برای مشخصات خاص
خط مشی 2: Amazon S3، AWS KMS، Amazon CloudWatch و دسترسی به گروه منابع
خط مشی زیر امتیازاتی را برای دسترسی به منابع Amazon S3 و AWS KMS و همچنین به شما می دهد CloudWatch آمازون. دسترسی به پیشوند S3 خاص مستاجر و CMK خاص مستاجر را محدود می کند. شرایط تأیید مستاجر در است کد پررنگ.
یک گروه منابع ایجاد کنید
گروه منبع اجازه می دهد تا تمام منابع برچسب گذاری شده توسط مستاجر مورد پرس و جو قرار گیرد. کد مثال زیر از رابط خط فرمان AWS (AWS CLI) برای ایجاد یک گروه منبع برای TenantA
:
پیش بینی جریان برنامه
نمودار زیر جریان برنامه Forecast ما را نشان می دهد. Application Service نقش IAM را برای مستاجر بر عهده می گیرد و به عنوان بخشی از جریان تجاری آن Forecast API را فراخوانی می کند.
یک پیش بینی برای TenantB ایجاد کنید
منابع ایجاد شده باید با برچسب مستاجر برچسب گذاری شوند. کد زیر از API Python (Boto3) برای ایجاد یک پیش بینی برای TenantB استفاده می کند (رجوع کنید به کد پررنگ برای جزئیات):
یک پیش بینی در مورد پیش بینی کننده برای TenantB ایجاد کنید
کد زیر از API Python (Boto3) برای ایجاد پیشبینی در پیشبینیکنندهای که به تازگی ایجاد کردهاید، استفاده میکند:
اعتبار دسترسی به منابع پیش بینی
در این بخش تأیید می کنیم که فقط مستاجر مربوطه می تواند به منابع Forecast دسترسی داشته باشد. دسترسی، اصلاح، یا حذف منابع پیشبینی متعلق به مستاجر دیگری باعث خطا میشود. کد زیر از API Python (Boto3) برای نشان دادن تلاش TenantA برای حذف یک منبع TenantB Forecast استفاده می کند:
فهرست و نظارت بر پیش بینی ها
کد مثال زیر از API Python (Boto3) برای پرس و جو از پیش بینی کننده های Forecast برای TenantA با استفاده از گروه های منبع استفاده می کند.:
به عنوان چارچوب AWS Well-Architected توضیح میدهد، نظارت بر سهمیههای خدمات مهم است (که به آنها نیز گفته میشود محدودیت های خدمات). پیش بینی برای هر حساب محدودیت دارد. برای اطلاعات بیشتر ببین دستورالعمل ها و سهمیه ها.
کد زیر نمونه ای از پر کردن متریک CloudWatch با تعداد کل پیش بینی کننده ها است:
سایر ملاحظات
محدودیتهای منابع و مهار باید توسط برنامه در بین مستاجرین مدیریت شود. اگر نمی توانید آن را بپذیرید محدودیت های پیش بینی، باید پیکربندی چند حساب را در نظر بگیرید.
APIهای فهرست پیشبینی یا پاسخ گروه منبع باید براساس برنامه فیلتر شوند tenant
ارزش برچسب
نتیجه
در این پست، نحوه جداسازی دسترسی Forecast را با استفاده از تکنیک ABAC در یک برنامه SaaS چند مستاجر نشان دادیم. نحوه محدود کردن دسترسی مستاجر به Forecast را با استفاده از برچسب مستأجر نشان دادیم. میتوانید با اعمال تگهای بیشتر، سیاستها را سفارشی کنید یا این استراتژی را در سایر سرویسهای AWS اعمال کنید.
برای اطلاعات بیشتر در مورد استفاده از ABAC به عنوان یک استراتژی مجوز، نگاه کنید ABAC برای AWS چیست؟
درباره نویسنده
گونجان گرگ یک مهندس توسعه نرم افزار Sr. در تیم AWS Vertical AI است. در نقش فعلی خود در آمازون پیش بینی، او بر مشکلات مهندسی تمرکز می کند و از ساختن سیستم های مقیاس پذیر که بیشترین ارزش را برای کاربران نهایی فراهم می کند، لذت می برد. او در اوقات فراغت خود از بازی سودوکو و مین یاب لذت می برد.
ماتیاس باتاگلیا مدیر حساب فنی در خدمات وب آمازون است. در نقش فعلی خود، او از کمک به مشتریان در تمام مراحل سفر ابری آنها لذت می برد. در اوقات فراغت خود از ساخت پروژه های هوش مصنوعی/ML لذت می برد.
راکش راماداس یک معمار راه حل ISV در خدمات وب آمازون است. حوزه های تمرکز او شامل AI/ML و Big Data است.
- دسترسی
- حساب
- عمل
- اضافی
- AI
- آمازون
- پیش بینی آمازون
- آمازون خدمات وب
- API
- رابط های برنامه کاربردی
- کاربرد
- برنامه های کاربردی
- معماری
- مجوز
- AWS
- صدور صورت حساب
- ساختن
- بنا
- کسب و کار
- ابر
- رمز
- انطباق
- جاری
- مشتریان
- داده ها
- دسترسی به داده ها
- رمزگشایی کنید
- تحویل
- پروژه
- مهندس
- مهندسی
- محیط
- جریان
- تمرکز
- رایگان
- GitHub
- گروه
- چگونه
- چگونه
- HTTPS
- IAM
- هویت
- تأثیر
- اطلاعات
- IT
- کلید
- کلید
- کوبرنیتس
- یادگیری
- لاین
- فهرست
- فراگیری ماشین
- مدیریت
- ML
- مدل
- نظارت بر
- شبانه روزی
- گزینه
- دیگر
- سیاست
- سیاست
- پروژه ها
- پــایتــون
- مورد نیاز
- منابع
- منابع
- پاسخ
- REST
- در حال اجرا
- SAAS
- سلسله
- خدمات
- تنظیم
- محیط
- به اشتراک گذاشته شده
- ساده
- نرم افزار
- توسعه نرم افزار
- مزایا
- انشعاب
- آغاز شده
- بیانیه
- ذخیره سازی
- استراتژی
- سیستم های
- فنی
- پیشرفته
- زمان
- عبور
- بروزرسانی
- کاربران
- ارزش
- وب
- خدمات وب
- در داخل