الأمان السحابي في AWS هو الأولوية القصوى. أمازون ساجميكر ستوديو عرض آليات مختلفة لحماية بياناتك ورمزك باستخدام التكامل مع خدمات أمان AWS مثل إدارة الهوية والوصول AWS (انا)، خدمة إدارة مفتاح AWS (AWS KMS) ، أو عزل الشبكة باستخدام سحابة أمازون الافتراضية الخاصة (أمازون VPC).
يمكن للعملاء في الصناعات شديدة التنظيم ، مثل الخدمات المالية قم بإعداد Studio في VPC فقط الوضع لتمكين عزل الشبكة وتعطيل الوصول إلى الإنترنت من أجهزة كمبيوتر Studio المحمولة. يمكنك استخدام تكامل IAM مع Studio للتحكم في المستخدمين الذين يمكنهم الوصول إلى الموارد مثل أجهزة كمبيوتر Studio المحمولة أو Studio IDE أو الأمازون SageMaker وظائف تدريبية.
حالة الاستخدام الشائعة هي تقييد الوصول إلى Studio IDE للمستخدمين فقط من داخل نطاق شبكة CIDR محدد أو VPC معين. يمكنك تحقيق ذلك من خلال التنفيذ سياسات SageMaker القائمة على الهوية IAM وإرفاق هذه السياسات بمستخدمي IAM أو المجموعات التي تتطلب تلك الأذونات. ومع ذلك ، يجب تكوين مجال SageMaker باستخدام وضع مصادقة IAM، لأن السياسات القائمة على هوية IAM غير مدعومة في الدخول الموحد في AWS (الدخول الموحد) وضع مصادقة.
يستخدم العديد من العملاء خدمة AWS SSO لتمكين التحكم المركزي في هوية القوى العاملة وتوفير تجربة تسجيل دخول متسقة للمستخدم. يوضح هذا المنشور كيفية تنفيذ حالة الاستخدام هذه مع الاحتفاظ بإمكانيات AWS SSO للوصول إلى Studio.
حل نظرة عامة
عند إعداد مجال SageMaker في وضع VPC فقط وتحديد الشبكات الفرعية ومجموعات الأمان ، يقوم SageMaker بإنشاء واجهات شبكة مرنة (ENIs) المرتبطة بمجموعات الأمان الخاصة بك في الشبكات الفرعية المحددة. تسمح ENI لحاويات التدريب الخاصة بك بالاتصال بالموارد الموجودة في VPC الخاص بك.
في هذا الوضع ، يتم تعطيل الوصول المباشر إلى الإنترنت من أجهزة الكمبيوتر المحمولة تمامًا ، ويتم توجيه كل حركة المرور عبر ENI في VPC الخاص بك. يتضمن هذا أيضًا حركة المرور من واجهات وعناصر واجهة مستخدم Studio - مثل إدارة التجربة ، والطيار الآلي ، ومراقبة النموذج - إلى واجهات برمجة تطبيقات SageMaker API الخلفية الخاصة بهم. توصي AWS باستخدام الوضع VPC فقط لممارسة التحكم الدقيق في الوصول إلى شبكة Studio.
التحدي الأول هو أنه على الرغم من نشر Studio بدون اتصال بالإنترنت ، لا يزال من الممكن الوصول إلى Studio IDE من أي مكان ، بافتراض الوصول إلى وحدة تحكم إدارة AWS ويتم منح الاستوديو لمدير IAM. هذا الموقف غير مقبول إذا كنت تريد عزل Studio تمامًا عن شبكة عامة واحتواء جميع الاتصالات داخل VPC خاص يتم التحكم فيه بإحكام.
لمواجهة هذا التحدي وتعطيل أي وصول إلى Studio IDE باستثناء من VPC المعين أو نطاق CIDR ، يمكنك استخدام CreatePresignedDomainUrl واجهة برمجة تطبيقات SageMaker. يحدد دور IAM أو المستخدم المستخدم لاستدعاء واجهة برمجة التطبيقات هذه الأذونات للوصول إلى الاستوديو. يمكنك الآن استخدام السياسات القائمة على هوية IAM لتنفيذ تكوين الوصول المطلوب. على سبيل المثال ، لتمكين الوصول فقط من VPC المعين ، أضف الشرط التالي إلى سياسة IAM ، المرتبطة بمبدأ IAM ، والذي يتم استخدامه لإنشاء عنوان URL للمجال محدد مسبقًا:
لتمكين الوصول فقط من نقطة نهاية أو نقاط نهاية VPC معينة ، حدد الشرط التالي:
استخدم الشرط التالي لتقييد الوصول من نطاق CIDR معين:
التحدي الثاني هو أن التحكم في الوصول المستند إلى IAM يعمل فقط عندما يتم تكوين مجال SageMaker في وضع مصادقة IAM ؛ لا يمكنك استخدامه عند نشر مجال SageMaker في وضع AWS SSO. يوضح القسم التالي كيفية مواجهة هذه التحديات وتنفيذ التحكم في الوصول المستند إلى IAM مع وصول AWS SSO إلى Studio.
نظرة عامة على العمارة
تم نشر Studio كتطبيق SAML ، والذي تم تعيينه لملف تعريف مستخدم SageMaker Studio محدد. يمكن للمستخدمين الوصول بسهولة إلى Studio مباشرة من بوابة AWS SSO ، كما هو موضح في لقطة الشاشة التالية.
يتكامل الحل مع ملف تطبيق SAML 2.0 المخصص كآلية لتشغيل مصادقة المستخدم للاستوديو. يتطلب أن يتم تكوين تطبيق SAML المخصص بامتداد بوابة أمازون API عنوان URL لنقطة النهاية باعتباره Assertion Consumer Service (ACS) ، ويحتاج إلى سمات تعيين تحتوي على معرف مستخدم AWS SSO بالإضافة إلى معرف مجال SageMaker.
تستدعي نقطة نهاية عبّارة API ملف AWS لامدا وظيفة تحلل استجابة SAML لاستخراج معرف المجال ومعرف المستخدم واستخدامهما لإنشاء عنوان URL مُخصص مسبقًا لـ Studio. تقوم وظيفة Lambda أخيرًا بإعادة التوجيه عبر استجابة HTTP 302 لتسجيل دخول المستخدم في الاستوديو.
تتحكم سياسة IAM في بيئة الشبكة التي يُسمح لمستخدمي Studio بتسجيل الدخول منها ، والتي تتضمن شروط تقييد كما هو موضح في القسم السابق. سياسة IAM هذه مرتبطة بوظيفة Lambda. تحتوي سياسة IAM على إذن لاستدعاء sagemaker:CreatePresignedDomainURL
API لملف تعريف مستخدم معين فقط:
يوضح الرسم البياني التالي بنية الحل.
ينشر الحل مجال SageMaker في VPC الخاص بك و نقاط نهاية VPC للوصول إلى Studio و SageMaker runtime و SageMaker API عبر اتصال خاص دون الحاجة إلى بوابة إنترنت. يتم تكوين نقاط نهاية VPC مع تمكين DNS الخاص (PrivateDnsEnabled=True
) لربط أ منطقة مستضافة خاصة مع VPC الخاص بك. يمكّن هذا Studio من الوصول إلى SageMaker API باستخدام اسم DNS العام الافتراضي api.sagemaker.<Region>.amazonaws.com
حل إلى عنوان IP الخاص لنقطة النهاية بدلاً من استخدام عنوان URL لنقطة نهاية VPC.
تحتاج إلى إضافة نقاط نهاية VPC إلى VPC الخاص بك إذا كنت ترغب في الوصول إلى أي خدمات AWS أخرى مثل خدمة تخزين أمازون البسيطة (Amazon S3) ، سجل الأمازون المرنة للحاويات (أمازون ECR) ، خدمة رمز الأمان من AWS (AWS STS) ، تكوين سحابة AWSالطرق أو كود AWS.
يمكنك التحكم بشكل كامل في الأذونات المستخدمة لإنشاء عنوان URL المُعد مسبقًا وأي استدعاءات أخرى لواجهة برمجة التطبيقات مع سياسات IAM المرفقة بدور تنفيذ وظيفة Lambda أو التحكم في الوصول إلى أي خدمة AWS مستخدمة عبر سياسات نقطة نهاية VPC. للحصول على أمثلة لاستخدام سياسات IAM للتحكم في الوصول إلى Studio و SageMaker API ، يرجى الرجوع إلى التحكم في الوصول إلى واجهة برمجة تطبيقات SageMaker باستخدام السياسات القائمة على الهوية.
على الرغم من أن الحل يتطلب نشر مجال Studio في وضع IAM ، إلا أنه يسمح باستخدام AWS SSO كآلية للمستخدمين النهائيين لتسجيل الدخول إلى Studio.
تحتوي الأقسام الفرعية التالية على أوصاف تفصيلية لمكونات الحل الرئيسية.
بوابة API
تعمل نقطة نهاية بوابة واجهة برمجة التطبيقات كهدف لعنوان URL لـ ACS للتطبيق الذي تم تكوينه في تطبيق SAML 2.0 المخصص. نقطة النهاية خاصة ، ولها مورد يسمى /saml
وطريقة POST مع طلب تكامل تم تكوينه كوكيل Lambda. يستخدم الحل نقطة نهاية VPC مع تكوين com.amazonaws.<region>.execute-api
اسم DNS لاستدعاء نقطة نهاية API هذه من داخل VPC.
خدمة AWS SSO
يتم تكوين تطبيق SAML 2.0 المخصص باستخدام عنوان URL لنقطة نهاية بوابة واجهة برمجة التطبيقات https:/{ restapi-id}.execute-api.amazonaws.com/saml
كعنوان URL لتطبيق ACS ، ويستخدم تعيينات السمات مع المتطلبات التالية:
- معرّف المستخدم:
- سمة المستخدم في التطبيق - اسم االمستخدم
- سمة مستخدم الخرائط في AWS SSO -
${user:AD_GUID}
- معرف مجال SageMaker:
- سمة المستخدم في التطبيق -
domain-id
- سمة مستخدم الخرائط في AWS SSO - معرف المجال لمثيل Studio
- سمة المستخدم في التطبيق -
ينفذ التطبيق التحكم في الوصول لمستخدم AWS SSO من خلال توفير ملف تعريف مستخدم Studio باسم يساوي معرف مستخدم AWS SSO.
وظيفة لامدا
يقوم الحل بتكوين وظيفة Lambda كنقطة استدعاء لبوابة API /saml
الموارد. تقوم الوظيفة بتوزيع ملف SAMLResponse
المرسلة بواسطة AWS SSO ، يستخرج ملف domain-id
بالإضافة إلى اسم المستخدم ، ويدعو createPresignedDomainUrl
واجهة برمجة تطبيقات SageMaker لاسترداد عنوان URL الخاص بالاستوديو والرمز المميز وإعادة توجيه المستخدم لتسجيل الدخول باستخدام استجابة HTTP 302. تحتوي وظيفة Lambda على سياسة IAM محددة مرتبطة بدورها التنفيذي الذي يسمح بامتداد sagemaker:createPresignedDomainUrl
الإجراء فقط عندما يتم طلبه من نطاق CIDR لشبكة معينة باستخدام VpcSourceIp
شرط.
لا تحتوي وظيفة Lambda على أي منطق للتحقق من صحة استجابة SAML ، على سبيل المثال للتحقق من التوقيع. ومع ذلك ، نظرًا لأن نقطة نهاية API Gateway التي تعمل بمثابة ACS خاصة أو داخلية فقط ، فهي ليست إلزامية لإثبات بيئة المفهوم هذا.
انشر الحل
• مستودع جيثب يوفر شفرة المصدر الكاملة للحل الشامل.
لنشر الحل ، يجب أن يكون لديك أذونات المسؤول (أو المستخدم القوي) لحساب AWS ، وتثبيت واجهة سطر الأوامر AWS (AWS CLI) و أوس سام كلي والحد الأدنى بيثون 3.8.
يدعم الحل النشر إلى ثلاث مناطق AWS: eu-west-1
, eu-central-1
و us-east-1
. تأكد من تحديد إحدى هذه المناطق للنشر.
لبدء اختبار الحل ، يجب إكمال خطوات النشر التالية من الحل ملف التمهيدي على جيثب:
- قم بإعداد AWS SSO إذا لم تكن قد قمت بتكوينه.
- انشر الحل باستخدام تطبيق SAM.
- إنشاء تطبيق SAML 2.0 مخصص جديد.
بعد إكمال خطوات النشر ، يمكنك متابعة اختبار الحل.
اختبر المحلول
يحاكي الحل حالتين من حالات الاستخدام لتوضيح استخدام AWS SSO وسياسات SageMaker القائمة على الهوية:
- حالة استخدام إيجابية - يصل المستخدم إلى Studio من داخل نطاق CIDR المعين من خلال نقطة نهاية VPC
- حالة الاستخدام السلبي - يصل المستخدم إلى الاستوديو من عنوان IP عام
لاختبار حالات الاستخدام هذه ، أنشأ الحل ثلاثة الأمازون الحوسبة المرنة السحابية مثيلات (Amazon EC2):
- مضيف خاص - مثيل EC2 Windows في شبكة فرعية خاصة قادرة على الوصول إلى Studio (بيئتك الآمنة في مكان العمل)
- مضيف الحصن - مثيل EC2 Linux في الشبكة الفرعية العامة يُستخدم لإنشاء نفق SSH في المضيف الخاص على الشبكة الخاصة
- مضيف عام - مثيل EC2 Windows في شبكة فرعية عامة لإثبات أن المستخدم لا يمكنه الوصول إلى Studio من عنوان IP غير مصرح به
اختبار الوصول إلى الاستوديو من شبكة معتمدة
اتبع هذه الخطوات لإجراء الاختبار:
- للوصول إلى مثيل EC2 Windows على الشبكة الخاصة ، قم بتشغيل الأمر المقدم كقيمة لمفتاح إخراج SAM
TunnelCommand
. تأكد من أن المفتاح الخاص لزوج المفاتيح المحدد في المعلمة موجود في الدليل الذي يعمل منه أمر نفق SSH. يقوم الأمر بإنشاء ملف نفق SSH من الكمبيوتر المحلي علىlocalhost:3389
إلى مثيل EC2 Windows على الشبكة الخاصة. انظر رمز المثال التالي: - على سطح المكتب أو الكمبيوتر المحمول المحلي لديك ، افتح اتصال RDP جديد (على سبيل المثال باستخدام Microsoft Remote Desktop) باستخدام
localhost
كمضيف بعيد الهدف. يتم توصيل هذا الاتصال عبر مضيف الأساس إلى مثيل EC2 Windows الخاص. استخدم اسم المستخدمAdministrator
وكلمة المرور من إخراج المكدسSageMakerWindowsPassword
. - افتح متصفح الويب Firefox من سطح المكتب البعيد.
- انتقل إلى بوابة AWS SSO وقم بتسجيل الدخول إليها باستخدام بيانات الاعتماد المرتبطة باسم المستخدم الذي حددته على أنه
ssoUserName
المعلمة. - اختيار عرض تجريبي آمن من SageMaker تطبيق AWS SSO من بوابة AWS SSO.
تتم إعادة توجيهك إلى Studio IDE في نافذة متصفح جديدة.
اختبار الوصول إلى الاستوديو من شبكة غير مصرح بها
الآن اتبع هذه الخطوات لمحاكاة الوصول من شبكة غير مصرح بها:
- افتح اتصال RDP جديد على عنوان IP المتوفر في ملف
SageMakerWindowsPublicHost
إخراج SAML. - افتح متصفح الويب Firefox من سطح المكتب البعيد.
- انتقل إلى بوابة AWS SSO وقم بتسجيل الدخول إليها باستخدام بيانات الاعتماد المرتبطة باسم المستخدم الذي تم تحديده على أنه
ssoUserName
المعلمة. - اختيار عرض تجريبي آمن من SageMaker تطبيق AWS SSO من بوابة AWS SSO.
هذه المرة تتلقى رسالة وصول غير مصرح به.
تنظيف
لتجنب الرسوم ، يجب عليك إزالة جميع الموارد التي تم توفيرها والحلول يدويًا من حساب AWS الخاص بك. اتبع التعليمات الموجودة في الحل ملف README.
وفي الختام
لقد أظهرنا أنه من خلال تقديم طبقة مصادقة للبرامج الوسيطة بين المستخدم النهائي و Studio ، يمكننا التحكم في البيئة التي يُسمح للمستخدم بالوصول إلى Studio منها وحظر كل بيئة غير مصرح بها بشكل صريح.
لمزيد من تشديد الأمان ، يمكنك إضافة سياسة IAM إلى دور المستخدم لمنع الوصول إلى Studio من وحدة التحكم. كما ترى منظمات AWS، يمكنك تنفيذ ما يلي سياسة مراقبة الخدمة للوحدات التنظيمية أو الحسابات التي تحتاج إلى الوصول إلى Studio:
على الرغم من أن الحل الموضح في هذا المنشور يستخدم بوابة API و Lambda ، يمكنك استكشاف طرق أخرى مثل مثيل EC2 مع دور المثيل باستخدام نفس سير عمل التحقق من صحة الإذن كما هو موصوف أو حتى نظام مستقل للتعامل مع مصادقة المستخدم والترخيص وإنشاء عنوان URL مُخصص مسبقًا من Studio.
لمزيد من القراءة
يعد تأمين الوصول إلى الاستوديو موضوع بحث نشط ، وهناك منشورات أخرى ذات صلة حول مناهج مماثلة. راجع المنشورات التالية على مدونة AWS Machine Learning لمعرفة المزيد حول الخدمات والبنى الأخرى التي يمكنك استخدامها:
حول المؤلف
جيروم باتشيليت مهندس حلول في Amazon Web Services. إنه ينجح في مساعدة العملاء على الحصول على أقصى قيمة من AWS لتحقيق أهداف أعمالهم. يتمتع Jerome بخبرة تزيد عن 10 سنوات في العمل مع حلول حماية البيانات وأمن البيانات. إلى جانب كونه في السحابة ، يستمتع جيروم بالسفر ووقت ممتع مع زوجته وابنتيه في منطقة جنيف بسويسرا.
يفغيني إلين هو مهندس حلول في AWS. لديه أكثر من 20 عامًا من الخبرة في العمل على جميع مستويات تطوير البرمجيات وهندسة الحلول واستخدم لغات البرمجة من COBOL و Assembler إلى .NET و Java و Python. يقوم بتطوير وترميز الحلول السحابية الأصلية مع التركيز على البيانات الضخمة والتحليلات وهندسة البيانات.
- '
- "
- 100
- 7
- 9
- من نحن
- الوصول
- حسابي
- اكشن
- نشط
- العنوان
- الكل
- أمازون
- Amazon EC2
- الأمازون SageMaker
- أمازون ويب سيرفيسز
- تحليلات
- API
- واجهات برمجة التطبيقات
- تطبيق
- هندسة معمارية
- المنطقة
- التحقّق من المُستخدم
- ترخيص
- الطيار الآلي
- AWS
- يجري
- البيانات الكبيرة
- المدونة
- المتصفح
- الأعمال
- دعوة
- الحالات
- تحدى
- التحديات
- اسعارنا محددة من قبل وزارة العمل
- سحابة
- سحابة الأصلية
- الكود
- Communication
- إحصاء
- الاعداد
- صلة
- الإتصال
- كنسولات
- مستهلك
- وعاء
- حاويات
- أوراق اعتماد
- العملاء
- البيانات
- حماية البيانات
- أمن البيانات
- التطوير التجاري
- DNS
- لا
- تأثير
- نقطة النهاية
- الهندسة
- البيئة
- مثال
- ممارسة
- الخبره في مجال الغطس
- تجربة
- مقتطفات
- أخيرا
- مالي
- الخدمات المالية
- برنامج فايرفوكس
- الاسم الأول
- تركز
- اتباع
- بالإضافة إلى
- وظيفة
- توليد
- GIF
- كيفية
- كيفية
- HTTPS
- IAM
- هوية
- تنفيذ
- تحقيق
- الصناعات
- التكامل
- Internet
- IP
- عنوان IP
- عزل
- IT
- جافا
- المشــاريــع
- حفظ
- القفل
- اللغات
- تعلم
- تعلم
- خط
- لينكس
- محلي
- آلة التعلم
- إدارة
- مایکروسافت
- نموذج
- صاف
- شبكة
- الوصول إلى الشبكة
- أجهزة الكمبيوتر المحمولة
- عروض
- جاكيت
- أخرى
- كلمة المرور
- سياسات الخصوصية والبيع
- سياسة
- أكثر الاستفسارات
- بوابة
- المنشورات
- قوة
- رئيسي
- خاص
- المفتاح الخاص
- ملفي الشخصي
- برمجة وتطوير
- لغات البرمجة
- دليل
- دليل على المفهوم
- حماية
- الحماية
- تزود
- ويوفر
- الوكيل
- جمهور
- بايثون
- جودة
- نطاق
- إعادة توجيه
- المتطلبات الأساسية
- بحث
- مورد
- الموارد
- استجابة
- يجري
- sagemaker
- أمن
- خدمات
- خدمة
- طقم
- مماثل
- الاشارات
- تطبيقات الكمبيوتر
- تطوير البرمجيات
- الحلول
- بداية
- ملخص الحساب
- تخزين
- مدعومة
- الدعم
- سويسرا
- نظام
- الهدف
- تجربه بالعربي
- الاختبار
- عبر
- الوقت
- رمز
- حركة المرور
- قادة الإيمان
- ui
- المستخدمين
- قيمنا
- افتراضي
- الويب
- متصفح الويب
- خدمات ويب
- نوافذ
- في غضون
- بدون
- سير العمل
- القوى العاملة
- أعمال
- سنوات