In جزء 1 من هذه السلسلة ، أوضحنا كيفية حل ملف أمازون ساجميكر ستوديو عنوان URL مُخصص من شبكة شركة تستخدم نقاط نهاية VPC الخاصة من Amazon دون عبور الإنترنت. في هذا المنشور ، سنستمر في البناء على الحل السابق لشرح كيفية إنشاء بوابة API خاصة عبر بوابة أمازون API كواجهة وكيل للإنشاء والوصول الأمازون SageMaker محدد مواقع المعلومات. علاوة على ذلك ، نضيف حاجز حماية إضافيًا لضمان إنشاء عناوين URL المحددة والوصول إليها فقط للمستخدم النهائي المصادق عليه داخل شبكة الشركة.
حل نظرة عامة
يوضح الرسم البياني التالي بنية الحل.
تتضمن العملية الخطوات التالية:
- في مجلة أمازون كوجنيتو تجمع المستخدمين ، قم أولاً بإعداد مستخدم يحمل الاسم المطابق لملف تعريف مستخدم Studio الخاص به وتسجيل Studio كعميل التطبيق في تجمع المستخدمين.
- يتحد المستخدم من موفر هوية الشركة (IdP) ويصادق مع مجموعة مستخدمي Amazon Cognito للوصول إلى Studio.
- يعيد Amazon Cognito رمزًا مميزًا للمستخدم الذي يأذن بالوصول إلى تطبيق Studio.
- يستدعي المستخدم
createStudioPresignedUrl
API على بوابة API مع رمز مميز في الرأس. - تستدعي API Gateway ملفًا مخصصًا AWS لامدا المخوّل والتحقق من صحة الرمز المميز.
- عندما يكون الرمز المميز صالحًا ، يُرجع Amazon Cognito سياسة منح الوصول مع معرف ملف تعريف مستخدم الاستوديو إلى بوابة API.
- تستدعي API Gateway ملف
createStudioPresignedUrl
وظيفة Lambda لإنشاء عنوان url المخصص للاستوديو. - •
createStudioPresignedUrl
تقوم الوظيفة بإنشاء عنوان URL مُعد مسبقًا باستخدام نقطة نهاية SageMaker API VPC والعودة إلى المتصل. - يصل المستخدم إلى عنوان URL المعين مسبقًا من شبكة الشركة الخاصة به والذي يتم حله عبر نقطة نهاية Studio VPC.
- وظائف إدارة الهوية والوصول AWS تتأكد سياسة (IAM) من أن إنشاء عنوان URL المحدد مسبقًا والوصول إليه يتم تنفيذه عبر نقاط نهاية VPC.
توجهك الأقسام التالية خلال نشر الحل وتكوينه والتحقق من صحته لواجهة API الخاصة ببوابة API لإنشاء وحل عنوان URL مُعد مسبقًا من Studio من شبكة شركة باستخدام نقاط نهاية VPC.
- انشر الحل
- قم بتكوين مستخدم Amazon Cognito
- مصادقة واجهة برمجة التطبيقات الخاصة لعنوان URL المحدد مسبقًا باستخدام رمز ويب JSON
- قم بتكوين خادم DNS الخاص بالشركات للوصول إلى واجهة برمجة التطبيقات الخاصة
- اختبر API الخاص لبوابة API لعنوان URL المعين مسبقًا من شبكة الشركة
- سياسة مصادقة Lambda لعنوان URL الموقع مسبقًا
- تنظيف
انشر الحل
يمكنك نشر الحل من خلال أي من وحدة تحكم إدارة AWS أو ال نموذج تطبيق AWS Serverless (أوس سام).
لنشر الحل عبر وحدة التحكم ، قم بتشغيل ما يلي تكوين سحابة AWS النموذج في حسابك عن طريق الاختيار قم بتشغيل Stack. يستغرق اكتمال حزمة CloudFormation حوالي 10 دقائق.
لنشر الحل باستخدام AWS SAM ، يمكنك العثور على أحدث رمز في ملف مستودع جيثب-عينات، حيث يمكنك أيضًا المساهمة في نموذج التعليمات البرمجية. توضح الأوامر التالية كيفية نشر الحل باستخدام AWS SAM CLI. إذا لم يكن مثبتًا حاليًا ، قم بتثبيت AWS SAM CLI.
- استنساخ المستودع على https://github.com/aws-samples/secure-sagemaker-studio-presigned-url.
- بعد استنساخ الريبو ، انتقل إلى المصدر وقم بتشغيل الكود التالي:
قم بتكوين مستخدم Amazon Cognito
لتهيئة مستخدم Amazon Cognito ، أكمل الخطوات التالية:
- أنشئ مستخدم Amazon Cognito بنفس اسم ملف تعريف مستخدم SageMaker:
- قم بتعيين كلمة مرور المستخدم:
- احصل على رمز وصول:
مصادقة واجهة برمجة التطبيقات الخاصة لعنوان URL المحدد مسبقًا باستخدام رمز ويب JSON
عندما تنشر واجهة برمجة تطبيقات خاصة لإنشاء عنوان URL مُعد مسبقًا من SageMaker ، أضفت حاجز حماية لتقييد الوصول إلى عنوان URL المعين مسبقًا من قبل أي شخص خارج شبكة الشركة ونقطة نهاية VPC. ومع ذلك ، بدون تطبيق عنصر تحكم آخر على واجهة برمجة التطبيقات الخاصة داخل شبكة الشركة ، سيتمكن أي مستخدم داخلي داخل شبكة الشركة من تمرير معلمات غير مصدق عليها لملف تعريف مستخدم SageMaker والوصول إلى أي تطبيق SageMaker.
للتخفيف من هذه المشكلة ، نقترح تمرير JSON Web Token (JWT) للمتصل المصادق عليه إلى بوابة API والتحقق من هذا الرمز المميز باستخدام مفوض JWT. توجد خيارات متعددة لتنفيذ مُخوّل لبوابة API الخاصة ، باستخدام إما مخصص مفوض Lambda or أمازون كوجنيتو.
باستخدام مفوض Lambda المخصص ، يمكنك تضمين اسم ملف تعريف مستخدم SageMaker في السياسة التي تم إرجاعها. يمنع هذا أي مستخدمين داخل شبكة الشركة من أن يتمكنوا من إرسال أي اسم ملف تعريف مستخدم SageMaker لإنشاء عنوان URL مُعد مسبقًا لم يُصرح لهم بإنشائه. نستخدم Amazon Cognito لإنشاء الرموز المميزة الخاصة بنا ومخوّل Lambda المخصص للتحقق من صحة السياسة المناسبة وإعادتها. لمزيد من المعلومات ، يرجى الرجوع إلى إنشاء ترخيص دقيق باستخدام Amazon Cognito و API Gateway و IAM. يستخدم مُخوِّل Lambda اسم مستخدم Amazon Cognito كاسم ملف تعريف المستخدم.
إذا لم تتمكن من استخدام Amazon Cognito ، فيمكنك تطوير تطبيق مخصص للمصادقة وتمرير الرموز المميزة للمستخدم النهائي إلى مُخوِّل Lambda. لمزيد من المعلومات ، يرجى الرجوع إلى استخدام مفوضين API Gateway Lambda.
قم بتكوين خادم DNS الخاص بالشركات للوصول إلى واجهة برمجة التطبيقات الخاصة
لتكوين خادم DNS الخاص بشركتك ، أكمل الخطوات التالية:
- على الأمازون الحوسبة المرنة السحابية (Amazon EC2) ، اختر مثيل DNSA EC2 الداخلي واتصل عبر مدير جلسة مدير النظم.
- أضف سجل منطقة في
/etc/named.conf
ملف لحل اسم DNS الخاص بـ API Gateway عبر ملف الأمازون الطريق 53 المحلل الداخلي ، كما هو موضح في الكود التالي: - أعد تشغيل الخدمة المسماة باستخدام الأمر التالي:
تحقق من صحة طلب عنوان URL مُعد مسبقًا من واجهة برمجة التطبيقات الخاصة بـ API Gateway للمستخدمين المصرح لهم
في سيناريو العالم الحقيقي ، ستقوم بتنفيذ واجهة أمامية من شأنها تمرير رؤوس التفويض المناسبة للموارد المصدق عليها والمصرح بها باستخدام إما حل مخصص أو رافعة مالية تضخيم AWS. لإيجاز منشور المدونة هذا ، تستفيد الخطوات التالية من Postman للتحقق بسرعة من صحة الحل الذي نشرناه في الواقع يقيد طلب عنوان URL المعين لمستخدم داخلي ، ما لم يكن مصرحًا بذلك.
للتحقق من صحة الحل باستخدام Postman ، أكمل الخطوات التالية:
- قم بتثبيت Postman على مثيل WINAPP EC2. انظر التعليمات هنا
- افتح Postman وأضف رمز الوصول إلى ملف
Authorization
العنوان: - قم بتعديل عنوان URL الخاص ببوابة API للوصول إليه من مثيل EC2 الداخلي الخاص بك:
- أضف نقطة نهاية VPC إلى عنوان URL الخاص ببوابة API:
- إضافة
Host
رأس بقيمة عنوان URL الخاص ببوابة API: - أولاً ، قم بتغيير ملف
EMPLOYEE_ID
إلى اسم مستخدم Amazon Cognito واسم ملف تعريف مستخدم SageMaker. تأكد من حصولك على عنوان URL مُصرح به مسبقًا. - ثم قم بتغيير ملف
EMPLOYEE_ID
إلى مستخدم ليس ملكك وتأكد من تلقيك لإخفاق في الوصول.
- في وحدة تحكم Amazon EC2 ، اختر مثيل WINAPP الداخلي الخاص بك وقم بالاتصال عبر عميل RDP الخاص بك.
- افتح متصفح Chrome وانتقل إلى عنوان URL المعتمد مسبقًا لتشغيل Studio.
يتم تشغيل الاستوديو عبر نقطة نهاية VPC بعنوان بعيد مثل Studio VPC endpoint IP.
إذا تم الوصول إلى عنوان URL المعين مسبقًا خارج شبكة الشركة ، يفشل الحل لأن شرط سياسة IAM لعنوان URL المعين مسبقًا يفرض الإنشاء والوصول من نقطة نهاية VPC.
سياسة مصادقة Lambda لعنوان URL الموقع مسبقًا
أنشأ الحل أعلاه سياسة المصادقة التالية لـ Lambda التي أنشأت عنوان URL موقّع مسبقًا للوصول إلى SageMaker Studio.
وفي الختام
في هذا المنشور ، أوضحنا كيفية الوصول إلى Studio باستخدام بوابة API خاصة من شبكة شركة باستخدام نقاط نهاية VPC الخاصة من Amazon ، ومنع الوصول إلى عناوين URL المحددة خارج شبكة الشركة ، وتأمين بوابة API باستخدام مفوض JWT باستخدام Amazon Cognito و Lambda المخصص المفوضين.
جرب هذا الحل وجرب دمجه مع بوابة شركتك ، واترك ملاحظاتك في التعليقات!
حول المؤلف
رام فيتال مهندس حلول التعلم الآلي في AWS. يتمتع بخبرة تزيد عن 20 عامًا في تصميم وبناء التطبيقات الموزعة والهجينة والسحابية. إنه متحمس لبناء حلول آمنة وقابلة للتطوير للذكاء الاصطناعي / التعلم الآلي والبيانات الضخمة لمساعدة عملاء المؤسسات في تبني السحابة ورحلة التحسين لتحسين نتائج أعمالهم. يستمتع في أوقات فراغه بالتنس والتصوير وأفلام الحركة.
جوناثان نجوين هو مستشار أمان أول لفريق التسليم المشترك في AWS. خلفيته في AWS Security مع التركيز على اكتشاف التهديدات والاستجابة للحوادث. واليوم ، يساعد عملاء المؤسسات على تطوير إستراتيجية أمان AWS شاملة ، ونشر حلول الأمان على نطاق واسع ، وتدريب العملاء على أفضل ممارسات أمان AWS.
كريس تشايلدرز هو مهندس البنية التحتية السحابية في الخدمات الاحترافية في AWS. إنه يعمل مع عملاء AWS لتصميم وأتمتة البنية التحتية السحابية الخاصة بهم وتحسين اعتمادهم لثقافة وعمليات DevOps.
- كوينسمارت. أفضل بورصة للبيتكوين والعملات المشفرة في أوروبا.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. دخول مجاني.
- كريبتوهوك. الرادار. تجربة مجانية.
- المصدر: https://aws.amazon.com/blogs/machine-learning/secure-amazon-sagemaker-studio-presigned-urls-part-2-private-api-with-jwt-authentication/
- "
- 10
- 100
- a
- من نحن
- الوصول
- الوصول
- حسابي
- اكشن
- وأضاف
- إضافي
- العنوان
- تبني
- أمازون
- آخر
- أي شخص
- API
- التطبيق
- تطبيق
- التطبيقات
- مناسب
- ما يقرب من
- هندسة معمارية
- موثق
- يصادق
- التحقّق من المُستخدم
- ترخيص
- أتمتة
- AWS
- خلفية
- لان
- يجري
- أفضل
- أفضل الممارسات
- البيانات الكبيرة
- المدونة
- الحدود
- المتصفح
- نساعدك في بناء
- ابني
- الأعمال
- المتصل
- تغيير
- اسعارنا محددة من قبل وزارة العمل
- اختار
- الكروم
- متصفح الكروم
- سحابة
- البنية التحتية السحابية
- الكود
- إكمال
- شامل
- إحصاء
- حالة
- الاعداد
- التواصل
- كنسولات
- consultants
- استمر
- المساهمة
- مراقبة
- منظمة
- خلق
- خلق
- يخلق
- خلق
- خلق
- ثقافة
- حاليا
- على
- العملاء
- البيانات
- التوصيل
- شرح
- تظاهر
- نشر
- نشر
- نشر
- تصميم
- كشف
- تطوير
- وزعت
- DNS
- تأثير
- نقطة النهاية
- مشروع
- الخبره في مجال الغطس
- تجربة
- فشل
- ردود الفعل
- الاسم الأول
- تركز
- متابعيك
- إلى الأمام
- تبدأ من
- وظيفة
- علاوة على ذلك
- بوابة
- توليد
- ولدت
- GitHub جيثب:
- مساعدة
- يساعد
- كيفية
- كيفية
- لكن
- HTTPS
- مهجنة
- هوية
- تنفيذ
- تحقيق
- تحسن
- يشمل
- معلومات
- البنية التحتية
- مثل
- السطح البيني
- Internet
- IP
- قضية
- IT
- رحلة
- آخر
- إطلاق
- أطلقت
- تعلم
- يترك
- الرافعة المالية
- روافع
- آلة
- آلة التعلم
- جعل
- يصنع
- إدارة
- مدير
- مطابقة
- الأكثر من ذلك
- أفلام
- متعدد
- التنقل
- شبكة
- جارية
- التحسين
- مزيد من الخيارات
- جزء
- مرور
- عاطفي
- كلمة المرور
- تصوير
- سياسة
- تجمع
- بوابة
- منع
- سابق
- خاص
- عملية المعالجة
- العمليات
- محترف
- ملفي الشخصي
- اقترح
- مزود
- الوكيل
- بسرعة
- تسلم
- سجل
- تسجيل جديد
- عن بعد
- مستودع
- مورد
- الموارد
- استجابة
- عائد أعلى
- عائدات
- طريق
- يجري
- نفسه
- تحجيم
- حجم
- تأمين
- أمن
- مسلسلات
- Serverless
- الخدمة
- خدماتنا
- طقم
- شاركت
- إظهار
- أظهرت
- So
- الصلبة
- حل
- الحلول
- كومة
- ملخص الحساب
- الإستراتيجيات
- ستوديو
- فريق
- •
- المصدر
- ثلاثة
- عبر
- الوقت
- اليوم
- رمز
- الرموز
- تيشرت
- قطار
- تستخدم
- المستخدمين
- التحقق من صحة
- قيمنا
- الإصدار
- الويب
- في غضون
- بدون
- أعمال
- سوف
- سنوات
- حل متجر العقارات الشامل الخاص بك في جورجيا