امنیت ابری در AWS بالاترین اولویت است. Amazon SageMaker Studio ارائه می دهد مکانیسم های مختلف برای محافظت از داده ها و کد خود با استفاده از ادغام با سرویس های امنیتی AWS مانند هویت AWS و مدیریت دسترسی (من هستم)، سرویس مدیریت کلید AWS (AWS KMS)، یا جداسازی شبکه با ابر خصوصی مجازی آمازون (Amazon VPC).
مشتریان در صنایع بسیار تحت نظارت، مانند خدمات مالی، می توانند استودیو را فقط در VPC راه اندازی کنید حالت برای فعال کردن جداسازی شبکه و غیرفعال کردن دسترسی به اینترنت از نوت بوک های استودیو. میتوانید از ادغام IAM با Studio استفاده کنید تا کنترل کنید کدام کاربران به منابعی مانند نوتبوکهای استودیو، Studio IDE یا استودیو دسترسی دارند. آمازون SageMaker مشاغل آموزشی
مورد استفاده محبوب این است که دسترسی به Studio IDE را محدود کنید فقط به کاربرانی از داخل یک محدوده CIDR شبکه مشخص یا یک VPC تعیین شده. با پیاده سازی می توانید به این مهم دست یابید سیاست های SageMaker مبتنی بر هویت IAM و پیوست کردن آن خطمشیها به کاربران یا گروههای IAM که به آن مجوزها نیاز دارند. با این حال، دامنه SageMaker باید با آن پیکربندی شود حالت احراز هویت IAM، زیرا سیاست های مبتنی بر هویت IAM در پشتیبانی نمی شوند AWS Single Sign-On (SSO) حالت تأیید اعتبار.
بسیاری از مشتریان از AWS SSO برای فعال کردن کنترل هویت متمرکز نیروی کار و ارائه تجربه ورود به سیستم کاربر سازگار استفاده می کنند. این پست نشان می دهد که چگونه می توان این مورد استفاده را با حفظ قابلیت های AWS SSO برای دسترسی به استودیو پیاده سازی کرد.
بررسی اجمالی راه حل
هنگامی که دامنه SageMaker را در حالت فقط VPC تنظیم می کنید و زیرشبکه ها و گروه های امنیتی را مشخص می کنید، SageMaker ایجاد می کند رابط های شبکه الاستیک (ENI) که با گروه های امنیتی شما در زیرشبکه های مشخص شده مرتبط هستند. ENI به کانتینرهای آموزشی شما اجازه می دهد تا به منابع موجود در VPC شما متصل شوند.
در این حالت، دسترسی مستقیم به اینترنت از نوت بوک ها کاملاً غیرفعال است و تمام ترافیک از طریق یک ENI در VPC خصوصی شما هدایت می شود. این همچنین شامل ترافیک ویجتها و رابطهای استودیو UI - مانند مدیریت آزمایش، خلبان خودکار و مانیتور مدل - به APIهای SageMaker مربوطه میشود. AWS استفاده از حالت فقط VPC را برای اعمال کنترل دقیق در دسترسی به شبکه استودیو توصیه می کند.
اولین چالش این است که اگرچه Studio بدون اتصال به اینترنت مستقر است، Studio IDE همچنان از هر جایی قابل دسترسی است، با فرض دسترسی به کنسول مدیریت AWS و Studio به یک مدیر IAM اعطا می شود. اگر بخواهید استودیو را به طور کامل از یک شبکه عمومی جدا کنید و تمام ارتباطات را در یک VPC خصوصی کاملاً کنترل شده در بر بگیرد، این وضعیت قابل قبول نیست.
برای رفع این چالش و غیرفعال کردن هرگونه دسترسی به Studio IDE به جز یک VPC تعیین شده یا یک محدوده CIDR، می توانید از CreatePresignedDomainUrl SageMaker API. نقش یا کاربر IAM که برای فراخوانی این API استفاده می شود، مجوزهای دسترسی به Studio را مشخص می کند. اکنون می توانید از سیاست های مبتنی بر هویت IAM برای پیاده سازی پیکربندی دسترسی مورد نظر استفاده کنید. به عنوان مثال، برای فعال کردن دسترسی فقط از یک VPC تعیینشده، شرط زیر را به خطمشی IAM مرتبط با یک اصل IAM اضافه کنید، که برای ایجاد یک URL دامنه از پیش تعیین شده استفاده میشود:
برای فعال کردن دسترسی فقط از یک نقطه پایانی یا نقاط پایانی VPC تعیین شده، شرایط زیر را مشخص کنید:
از شرایط زیر برای محدود کردن دسترسی از محدوده CIDR تعیین شده استفاده کنید:
چالش دوم این است که کنترل دسترسی مبتنی بر IAM تنها زمانی کار میکند که دامنه SageMaker در حالت احراز هویت IAM پیکربندی شده باشد. وقتی دامنه SageMaker در حالت AWS SSO مستقر است، نمی توانید از آن استفاده کنید. بخش بعدی نحوه رسیدگی به این چالش ها و پیاده سازی کنترل دسترسی مبتنی بر IAM با دسترسی AWS SSO به Studio را نشان می دهد.
نمای کلی معماری
Studio به عنوان یک برنامه SAML منتشر شده است که به پروفایل کاربری SageMaker Studio اختصاص داده شده است. همانطور که در تصویر زیر نشان داده شده است، کاربران می توانند به راحتی مستقیماً از پورتال AWS SSO به Studio دسترسی داشته باشند.
راه حل با a ادغام می شود برنامه SAML 2.0 سفارشی به عنوان مکانیزمی برای احراز هویت کاربر برای Studio. این نیاز دارد که برنامه SAML سفارشی با پیکربندی شده باشد دروازه API آمازون نشانی وب نقطه پایانی به عنوان خدمات مصرف کننده ادعایی (ACS) آن است، و به ویژگی های نقشه برداری شامل شناسه کاربر AWS SSO و همچنین شناسه دامنه SageMaker نیاز دارد.
نقطه پایانی API Gateway یک را فرا می خواند AWS لامبدا تابعی که پاسخ SAML را برای استخراج شناسه دامنه و شناسه کاربر تجزیه و تحلیل می کند و از آنها برای ایجاد URL تعیین شده استودیو استفاده می کند. تابع Lambda در نهایت یک تغییر جهت از طریق یک پاسخ HTTP 302 برای ورود کاربر در استودیو انجام می دهد.
یک خط مشی IAM محیط شبکه ای را کنترل می کند که کاربران استودیو مجاز به ورود از آن هستند، که شامل شرایط محدودکننده ای است که در بخش قبل توضیح داده شد. این خط مشی IAM به تابع Lambda پیوست شده است. خط مشی IAM حاوی مجوزی برای فراخوانی است sagemaker:CreatePresignedDomainURL
API فقط برای یک نمایه کاربر خاص:
نمودار زیر معماری راه حل را نشان می دهد.
راه حل یک دامنه SageMaker را در VPC و خصوصی شما مستقر می کند نقاط پایانی VPC برای دسترسی به Studio، SageMaker Runtime و SageMaker API از طریق یک اتصال خصوصی بدون نیاز به دروازه اینترنت. نقاط پایانی VPC با فعال بودن DNS خصوصی پیکربندی شده است (PrivateDnsEnabled=True
) مرتبط کردن الف منطقه میزبان خصوصی با VPC شما این استودیو را قادر میسازد تا با استفاده از نام پیشفرض DNS عمومی به SageMaker API دسترسی پیدا کند api.sagemaker.<Region>.amazonaws.com
به جای استفاده از URL نقطه پایانی VPC، به آدرس IP خصوصی نقطه پایانی حل می شود.
اگر میخواهید به سایر سرویسهای AWS دسترسی داشته باشید، باید نقاط پایانی VPC را به VPC خود اضافه کنید سرویس ذخیره سازی ساده آمازون (Amazon S3) رجیستری ظروف الاستیک آمازون (Amazon ECR) سرویس رمز امنیتی AWS (AWS STS)، AWS CloudFormation، یا AWS CodeCommit.
میتوانید مجوزهای مورد استفاده برای تولید URL تعیینشده و هر تماس API دیگر را با خطمشیهای IAM متصل به نقش اجرای عملکرد Lambda به طور کامل کنترل کنید یا دسترسی به هر سرویس AWS مورد استفاده را از طریق کنترل کنید. خطمشیهای نقطه پایانی VPC. برای مثال هایی از استفاده از سیاست های IAM برای کنترل دسترسی به Studio و SageMaker API، مراجعه کنید با استفاده از سیاست های مبتنی بر هویت، دسترسی به SageMaker API را کنترل کنید.
اگرچه این راه حل مستلزم استقرار دامنه Studio در حالت IAM است، اما به AWS SSO اجازه می دهد تا به عنوان مکانیزمی برای ورود کاربران نهایی به استودیو استفاده شود.
بخش های فرعی زیر حاوی توضیحات مفصلی از اجزای اصلی راه حل هستند.
دروازه API
نقطه پایانی API Gateway به عنوان هدف برای URL برنامه ACS پیکربندی شده در برنامه سفارشی SAML 2.0 عمل می کند. نقطه پایانی خصوصی است و منبعی به نام دارد /saml
و یک روش POST با درخواست یکپارچه سازی که به عنوان پراکسی Lambda پیکربندی شده است. راه حل از یک نقطه پایانی VPC با یک پیکربندی شده استفاده می کند com.amazonaws.<region>.execute-api
نام DNS برای فراخوانی این نقطه پایانی API از داخل VPC.
AWS SSO
یک برنامه SAML 2.0 سفارشی با URL نقطه پایانی API Gateway پیکربندی شده است https:/{ restapi-id}.execute-api.amazonaws.com/saml
به عنوان URL برنامه ACS خود، و از نگاشت ویژگی ها با شرایط زیر استفاده می کند:
- شناسه کاربری:
- ویژگی کاربر در برنامه - نام کاربری
- ویژگی کاربر Maps در AWS SSO -
${user:AD_GUID}
- شناسه دامنه SageMaker:
- ویژگی کاربر در برنامه -
domain-id
- ویژگی کاربر Maps در AWS SSO – شناسه دامنه برای نمونه Studio
- ویژگی کاربر در برنامه -
این برنامه کنترل دسترسی را برای یک کاربر AWS SSO با ارائه یک نمایه کاربر Studio با نامی برابر با شناسه کاربر AWS SSO پیادهسازی میکند.
تابع لامبدا
راه حل یک تابع Lambda را به عنوان یک نقطه فراخوانی برای دروازه API پیکربندی می کند /saml
منبع تابع را تجزیه می کند SAMLResponse
ارسال شده توسط AWS SSO، استخراج می کند domain-id
و همچنین نام کاربری، و با createPresignedDomainUrl
SageMaker API برای بازیابی URL و توکن استودیو و هدایت کاربر برای ورود به سیستم با استفاده از پاسخ HTTP 302. تابع Lambda دارای یک خط مشی خاص IAM است که به نقش اجرایی خود متصل است که به آن اجازه می دهد sagemaker:createPresignedDomainUrl
عمل فقط زمانی که از یک محدوده CIDR شبکه خاص با استفاده از درخواست شده باشد VpcSourceIp
وضعیت.
تابع Lambda هیچ منطقی برای تأیید پاسخ SAML ندارد، به عنوان مثال برای بررسی یک امضا. با این حال، از آنجا که نقطه پایانی API Gateway که به عنوان ACS خدمت میکند، فقط خصوصی یا داخلی است، برای این محیط اثبات مفهوم اجباری نیست.
راه حل را مستقر کنید
La مخزن GitHub کد منبع کامل را برای راه حل انتها به انتها فراهم می کند.
برای استقرار راه حل، باید مجوزهای سرپرست (یا کاربر قدرتمند) برای یک حساب AWS داشته باشید و رابط خط فرمان AWS (AWS CLI) و AWS SAM CLI و حداقل پایتون 3.8.
راه حل از استقرار در سه منطقه AWS پشتیبانی می کند: eu-west-1
, eu-central-1
و us-east-1
. مطمئن شوید که یکی از این مناطق را برای استقرار انتخاب کرده اید.
برای شروع آزمایش راه حل، باید مراحل استقرار زیر را از راه حل کامل کنید فایل GitHub README:
- اگر AWS SSO را پیکربندی نکردهاید، راهاندازی کنید.
- راه حل را با استفاده از برنامه SAM اجرا کنید.
- یک برنامه SAML 2.0 سفارشی جدید ایجاد کنید.
پس از تکمیل مراحل استقرار، می توانید به تست راه حل ادامه دهید.
محلول را تست کنید
این راه حل دو مورد استفاده را برای نشان دادن استفاده از سیاست های مبتنی بر هویت AWS SSO و SageMaker شبیه سازی می کند:
- مورد استفاده مثبت - کاربر از داخل یک محدوده CIDR تعیین شده از طریق یک نقطه پایانی VPC به Studio دسترسی دارد
- مورد استفاده منفی – کاربر از یک آدرس IP عمومی به استودیو دسترسی پیدا می کند
برای آزمایش این موارد استفاده، راه حل سه مورد ایجاد کرد ابر محاسبه الاستیک آمازون موارد (Amazon EC2):
- میزبان خصوصی – یک نمونه EC2 ویندوز در یک زیرشبکه خصوصی که قادر به دسترسی به Studio (محیط امن داخل محل شما) است.
- میزبان سنگر - یک نمونه لینوکس EC2 در زیرشبکه عمومی که برای ایجاد یک تونل SSH در میزبان خصوصی در شبکه خصوصی استفاده می شود.
- میزبان عمومی - یک نمونه EC2 ویندوز در یک زیر شبکه عمومی برای نشان دادن اینکه کاربر نمی تواند از یک آدرس IP غیرمجاز به Studio دسترسی داشته باشد.
دسترسی استودیو تست از یک شبکه مجاز
برای انجام تست مراحل زیر را دنبال کنید:
- برای دسترسی به نمونه ویندوز EC2 در شبکه خصوصی، دستور ارائه شده به عنوان مقدار کلید خروجی SAM را اجرا کنید.
TunnelCommand
. مطمئن شوید که کلید خصوصی جفت کلید مشخص شده در پارامتر در دایرکتوری است که دستور تونل SSH از آنجا اجرا می شود. دستور یک را ایجاد می کند تونل SSH از رایانه محلی روشن استlocalhost:3389
به نمونه ویندوز EC2 در شبکه خصوصی. کد نمونه زیر را ببینید: - در دسکتاپ یا نوت بوک محلی خود، یک اتصال RDP جدید (به عنوان مثال با استفاده از Microsoft Remote Desktop) با استفاده از
localhost
به عنوان میزبان راه دور هدف. این اتصال از طریق میزبان سنگر به نمونه خصوصی EC2 ویندوز تونل می شود. از نام کاربری استفاده کنیدAdministrator
و رمز عبور از خروجی پشتهSageMakerWindowsPassword
. - مرورگر وب فایرفاکس را از دسکتاپ راه دور باز کنید.
- با استفاده از اطلاعات کاربری مرتبط با نام کاربری که به عنوان
ssoUserName
پارامتر. - انتخاب نسخه نمایشی امن SageMaker برنامه AWS SSO از پورتال AWS SSO.
شما در یک پنجره مرورگر جدید به Studio IDE هدایت می شوید.
دسترسی استودیو تست از یک شبکه غیرمجاز
اکنون این مراحل را برای شبیه سازی دسترسی از یک شبکه غیرمجاز دنبال کنید:
- یک اتصال RDP جدید در IP ارائه شده در
SageMakerWindowsPublicHost
خروجی SAML - مرورگر وب فایرفاکس را از دسکتاپ راه دور باز کنید.
- با استفاده از اطلاعات کاربری مرتبط با نام کاربری که به عنوان
ssoUserName
پارامتر. - انتخاب نسخه نمایشی امن SageMaker برنامه AWS SSO از پورتال AWS SSO.
این بار یک پیام دسترسی غیرمجاز دریافت می کنید.
پاک کردن
برای جلوگیری از پرداخت هزینه، باید تمام منابع ارائه شده توسط راه حل و ایجاد دستی را از حساب AWS خود حذف کنید. دستورالعمل های موجود در محلول را دنبال کنید فایل README.
نتیجه
ما نشان دادیم که با معرفی یک لایه احراز هویت میانافزار بین کاربر نهایی و استودیو، میتوانیم محیطی را که کاربر مجاز به دسترسی به استودیو از آن است کنترل کرده و بهصراحت هر محیط غیرمجاز دیگری را مسدود کنیم.
برای تقویت بیشتر امنیت، می توانید یک خط مشی IAM را به نقش کاربر اضافه کنید تا از دسترسی به استودیو از کنسول جلوگیری کنید. اگر استفاده می کنید سازمانهای AWS، می توانید موارد زیر را پیاده سازی کنید سیاست کنترل خدمات برای واحدهای سازمانی یا حساب هایی که نیاز به دسترسی به Studio دارند:
اگرچه راه حل توضیح داده شده در این پست از API Gateway و Lambda استفاده می کند، اما می توانید راه های دیگری مانند نمونه EC2 را با نقش نمونه با استفاده از همان گردش کار اعتبارسنجی مجوز همانطور که توضیح داده شد یا حتی یک سیستم مستقل برای مدیریت احراز هویت و مجوز کاربر و ایجاد یک URL از پیش تعیین شده استودیو.
مطالعه بیشتر
امنیت دسترسی به استودیو یک موضوع تحقیقاتی فعال است و پستهای مرتبط دیگری نیز در مورد رویکردهای مشابه وجود دارد. برای کسب اطلاعات بیشتر در مورد سایر خدمات و معماریهایی که میتوانید استفاده کنید، به پستهای زیر در وبلاگ یادگیری ماشین AWS مراجعه کنید:
درباره نویسنده
جروم باشله یک معمار راه حل در خدمات وب آمازون است. او در کمک به مشتریان برای کسب بیشترین ارزش از AWS برای دستیابی به اهداف تجاری خود پیشرفت می کند. جروم بیش از 10 سال تجربه کار با راه حل های حفاظت از داده و امنیت داده ها را دارد. جروم علاوه بر حضور در فضای ابری، از سفر و اوقات خوشی با همسر و 2 دخترش در منطقه ژنو، سوئیس لذت می برد.
یوگنی ایلین یک معمار راه حل در AWS است. او بیش از 20 سال تجربه کار در تمام سطوح توسعه نرم افزار و معماری راه حل ها را دارد و از زبان های برنامه نویسی از COBOL و Assembler گرفته تا دات نت، جاوا و پایتون استفاده کرده است. او راه حل های بومی ابری را با تمرکز بر داده های بزرگ، تجزیه و تحلیل و مهندسی داده توسعه و کدگذاری می کند.
- '
- "
- 100
- 7
- 9
- درباره ما
- دسترسی
- حساب
- عمل
- فعال
- نشانی
- معرفی
- آمازون
- آمازون EC2
- آمازون SageMaker
- آمازون خدمات وب
- علم تجزیه و تحلیل
- API
- رابط های برنامه کاربردی
- کاربرد
- معماری
- محدوده
- تصدیق
- مجوز
- خلبان اتوماتیک
- AWS
- بودن
- بزرگ داده
- بلاگ
- مرورگر
- کسب و کار
- صدا
- موارد
- به چالش
- چالش ها
- بار
- ابر
- ابر بومی
- رمز
- ارتباط
- محاسبه
- پیکر بندی
- ارتباط
- اتصال
- کنسول
- مصرف کننده
- ظرف
- ظروف
- مجوزها و اعتبارات
- مشتریان
- داده ها
- حفاظت از داده ها
- امنیت داده ها
- پروژه
- دی ان اس
- نمی کند
- اثر
- نقطه پایانی
- مهندسی
- محیط
- مثال
- اعدام
- ورزش
- تجربه
- تجربه
- عصاره ها
- سرانجام
- مالی
- خدمات مالی
- فایرفاکس
- نام خانوادگی
- تمرکز
- به دنبال
- کامل
- تابع
- تولید می کنند
- GIF
- چگونه
- چگونه
- HTTPS
- IAM
- هویت
- انجام
- اجرای
- لوازم
- ادغام
- اینترنت
- IP
- IP آدرس
- انزوا
- IT
- جاوه
- شغل ها
- نگهداری
- کلید
- زبان ها
- یاد گرفتن
- یادگیری
- لاین
- لینوکس
- محلی
- فراگیری ماشین
- مدیریت
- مایکروسافت
- مدل
- خالص
- شبکه
- دسترسی شبکه
- نوت بوک
- پیشنهادات
- باز کن
- دیگر
- کلمه عبور
- سیاست
- سیاست
- محبوب
- پورتال
- پست ها
- قدرت
- اصلی
- خصوصی
- کلید خصوصی
- مشخصات
- برنامه نويسي
- زبانهای برنامه نویسی
- اثبات
- اثبات مفهوم
- محافظت از
- حفاظت
- ارائه
- فراهم می کند
- پروکسی
- عمومی
- پــایتــون
- کیفیت
- محدوده
- تغییر مسیر
- مورد نیاز
- تحقیق
- منابع
- منابع
- پاسخ
- دویدن
- حکیم ساز
- تیم امنیت لاتاری
- خدمات
- خدمت
- تنظیم
- مشابه
- ساده
- نرم افزار
- توسعه نرم افزار
- مزایا
- شروع
- بیانیه
- ذخیره سازی
- پشتیبانی
- پشتیبانی از
- سویس
- سیستم
- هدف
- آزمون
- تست
- از طریق
- زمان
- رمز
- ترافیک
- آموزش
- ui
- کاربران
- ارزش
- مجازی
- وب
- مرورگر وب
- خدمات وب
- پنجره
- در داخل
- بدون
- گردش کار
- نیروی کار
- با این نسخهها کار
- سال