Netflix Bridges AWS IAM and Internal Identity with Workload Attestation

طوّرت Netflix آلية workload attestation تتيح لمهام Apache Spark العاملة على Amazon EMR تبادل هوية التنفيذ الخاصة بها على AWS بهوية داخلية قصيرة الأجل لعبء العمل. يربط هذا النهج بين AWS IAM ونظام Metatron PKI الداخلي لدى Netflix، ما يمكّن أعباء العمل الحاسوبية المُدارة من المصادقة أمام الخدمات الداخلية دون حقن بيانات الاعتماد يدوياً.
شرح Dhruv Pratap، مهندس منصة البيانات الضخمة في Netflix، هذا التصميم في منشور على LinkedIn، قائلاً إنه على البنية التحتية التي تبنيها الشركة، يمكن للمستخدمين تهيئة هويتهم الخاصة حسب الحاجة.
تشغّل Netflix نظامي هوية: توفّر AWS لأعباء العمل المُدارة دور تنفيذ IAM، بينما تستخدم الخدمات الداخلية Metatron، وهو نظام PKI خاص يصدر شهادات X.509 قصيرة الأجل لمصادقة TLS المتبادلة. وتعمل مشاريع البيانات كحدود الملكية والهوية للوصول إلى البيانات، إذ تتطلب من مهام Spark على EMR إثبات أن هويتها على AWS تطابق الهوية الداخلية المرتبطة بمشروع البيانات الخاص بها.
يربط التصميم كل مشروع بيانات بدور IAM مخصص. وبما أن Netflix تتوقع أن يبلغ عدد مشاريع البيانات عشرات الآلاف، فإن هذه الأدوار موزعة على مجموعة من حسابات AWS المخصصة بدلاً من تركيزها في حساب واحد.
عند تقديم مهمة، تتحقق لوحة التحكم الخاصة بـ Netflix من الطلب، وتحدد دور IAM الخاص بمشروع البيانات، وتنشئ حمولة بيانات وصفية لعبء العمل موقّعة تحدد عبء العمل المقصود. ولوحة التحكم هي الخدمة الوحيدة المخوّلة بإنشاء هذه المطالبات.
يستخدم مشغّل Spark بيانات الاعتماد المرتبطة بدور التنفيذ الخاص به لإنشاء طلب موقّع مسبقاً إلى نقطة نهاية GetCallerIdentity في AWS Security Token Service. وتسترد خدمة الهوية لدى Netflix هذا الطلب من AWS STS لتحديد دور IAM الذي وقّعه، ما يوفر بياناً قابلاً للتحقق منه بشكل مستقل عن هوية عبء العمل على AWS.
ثم تقارن خدمة الهوية استجابة AWS مع البيانات الوصفية الموقّعة من لوحة التحكم. تؤكد استجابة AWS امتلاك دور IAM المتوقع، بينما تحدد البيانات الوصفية الموقّعة عبء العمل المقصود. ويتيح تقاطعهما للخدمة إصدار شهادة Metatron.
يعالج هذا التصميم أيضاً توزّع المنفذين في Spark. فبدلاً من إثبات هوية آلاف المنفذين بشكل مستقل، تجعل Netflix المشغّل يثبت هويته مرة واحدة ويوزّع بيانات الاعتماد عبر Spark RPC الموثّق والمشفّر. تقلل هذه الطريقة حركة إثبات الهوية بما يتناسب مع عدد المنفذين، مع جعل المشغّل حداً إضافياً للثقة في توزيع بيانات الاعتماد.
المصدر: InfoQ