توفّر AWS للمشغّلين طريقة من جهة العميل لسحب الشهادات والأسرار من خدمات AWS المُدارة، وكتابتها إلى ملفات محلية، وتحديثها دون الحاجة إلى مهمة تجديد مخصّصة.

قدّمت AWS أداة AWS Workload Credentials Provider، وهي خدمة عميل مفتوحة المصدر تمنح التطبيقات مسارًا محليًا للشهادات والأسرار من AWS Secrets Manager وAWS Certificate Manager.
تستهدف هذه الأداة مشكلة تشغيلية مألوفة: تخزّن الفرق الأسرار والشهادات في خدمات سحابية مُدارة، ثم تكتب نصوصها البرمجية الخاصة لجلبها وتخزينها مؤقتًا ووضعها على القرص وإعادة تحميل NGINX أو Apache أو أي خدمة أخرى تعتمد عليها قبل انتهاء صلاحية الشهادة. تقدّم AWS الآن وكيلًا من الطرف الأول لهذا العمل على جانب العميل.
صمّمت AWS الأداة لأحمال العمل على AWS، وفي مراكز البيانات، وفي بيئات أخرى. هذا مهم للفرق التي تدير بيئات هجينة لكنها تستخدم AWS بالفعل لإصدار الشهادات أو لتخزين الأسرار. يمكن لخدمة على مثيل EC2 أو خادم Windows أو مضيف Linux داخل المؤسسة أن تستهلك المصادر المُدارة نفسها من دون انتقال كامل إلى بيئة تشغيل AWS.
يُعدّ المطورون الأداة باستخدام ملف TOML. يعرّف ذلك الملف ARNs الشهادات، وARNs أدوار IAM، ومسارات الإخراج لمواد الشهادات، وملفات المفاتيح الخاصة، وسلاسل الشهادات، وأوامر التحديث، والتسجيل، وسلوك وقت التشغيل. بعد ذلك تسترجع الأداة المواد المُكوّنة، وتكتب الملفات بأذونات مقيدة، وتحدّث النسخة المحلية عندما تُبلغ AWS بوجود تغيير في المحتوى.
تقول AWS إن الأداة تدعم تصدير شهادات ACM للشهادات العامة والخاصة الخاصة بـ TLS. وهذا يمنح المعماريين خيارًا آخر لخوادم الويب ونقاط نهاية الخدمات التي تحتاج إلى أصول TLS معتمدة على الملفات، بما في ذلك الحِزم التي لا تستطيع استدعاء واجهات AWS API داخل مسار الطلب.
يمتد دعم Secrets Manager إلى نموذج AWS Secrets Manager Agent الأقدم. يمكن للفرق التي نشرت ذلك الوكيل بالفعل أن تنظر إلى Workload Credentials Provider باعتبارها المسار الأوسع للخلافة، لأن AWS قد صاغت المشروع الجديد حول الأسرار والشهادات معًا.
تتحقق الأداة من الشهادات المُكوّنة كل 24 ساعة. كما تنفّذ تحديثًا أوليًا عند بدء التشغيل، وتوزّع توقيت التحديث عبر المضيفين لتجنب الارتفاعات المفاجئة في الطلبات، وتسمح للمشغلين بإعادة تحميل الإعدادات من دون إعادة تثبيت الخدمة. يمكن للفرق ضبط ما يصل إلى 50 شهادة، وتتولى الأداة إدارة كل شهادة في عملية منفصلة.
يمنح نموذج العمليات هذا المشغلين حدودًا مفيدة لنطاق الانفجار. يجب ألا يؤدي فشل في مسار عمل شهادة واحدة إلى إيقاف الأداة عن إدارة شهادة أخرى على المضيف نفسه. ستُولي الفرق التي تدير خوادم متعددة المستأجرين أو بوابات مشتركة أهمية لهذا العزل.
يغلق أمر إعادة التحميل الفجوة بين تدوير الشهادة واستخدام التطبيق لها. يمكن للأداة كتابة شهادة جديدة إلى /etc/pki/tls/certs/example.com.crt، وكتابة المفتاح إلى /etc/pki/tls/private/example.com.key، وتحديث ملف السلسلة، ثم تشغيل /usr/sbin/nginx -s reload. لم يعد المشغلون بحاجة إلى مهمة cron منفصلة تخمّن متى غيّرت ACM شهادة ما.
تتطلب نشرات Linux استخدام systemd. وتتطلب نشرات Windows استخدام PowerShell 5.1 أو أحدث. تشغّل AWS الخدمة تحت مستخدم منخفض الامتيازات، وهو ما ينسجم مع النمط الذي تريده فرق الأمن لوكلاء الاعتمادات المحليين: امنح الوكيل الحد الأدنى من أذونات المضيف التي يحتاجها لكتابة الملفات وتشغيل أمر إعادة تحميل محدود.
سيجذب هذا التصميم الفرق التي تستخدم برمجيات تعتمد على الملفات. غالبًا ما تتوقع خوادم الويب، وخدمات Java القديمة، وشبكات الخدمات التي تستخدم مراقبي ملفات، والأجهزة الجاهزة من السوق وجود شهادة ومفتاح على القرص. يمكن للمطورين تغيير كود التطبيق لاستدعاء واجهات Secrets Manager أو ACM API، لكن كثيرًا من فرق العمليات تفضّل إبقاء الاعتمادات خارج بيئة تشغيل التطبيق وترك خدمة المضيف تتولى الجلب والتدوير.
تمنح الأداة أيضًا عملاء AWS جوابًا أصليًا على نمط حلّته كثير من الفرق باستخدام Vault Agent. يمكن لـ HashiCorp Vault Agent أن يصادق ويخزّن مؤقتًا ويعرض القوالب ويجدّد الاعتمادات للتطبيقات المحلية. تغطي AWS الآن دورًا مشابهًا على جانب العميل للعملاء الذين يحتفظون بمصدر الحقيقة لديهم في Secrets Manager وACM.
للمقارنة حدودها. يدعم Vault منظومة أوسع من الهويات والأسرار، بما في ذلك اعتمادات قواعد البيانات الديناميكية، وطرق مصادقة عديدة، وعرض القوالب عبر مزودين مختلفين. تكون Workload Credentials Provider أكثر منطقية عندما تكون الفرق قد التزمت بخدمات AWS المُدارة وتريد عددًا أقل من الأجزاء المتحركة على المضيف.
تتبع التسعير الخدمات الأساسية. لا تفرض AWS رسومًا على الأداة نفسها، وقد أطلقت المشروع بموجب ترخيص Apache 2.0. لا تزال الفرق تدفع مقابل Secrets Manager وميزات ACM واستخدام واجهات API وأي بنية تحتية مرتبطة. يمكن للتخزين المؤقت أن يقلل حجم الطلبات، لكن ينبغي للمعماريين نمذجة استدعاءات Secrets Manager عبر الأساطيل ذات المضيفين الكثر وعمليات إعادة التشغيل المتكررة.
ينبغي لفرق الأمن مراجعة تصميم أدوار IAM قبل نشر الأداة. يحتاج المضيف إلى إذن لتصدير شهادات محددة أو قراءة أسرار محددة. إن منح وصول قراءة واسع سيعيد إنتاج الخطر الذي تهدف مخازن الأسرار المركزية إلى تقليله. يمنح النموذج الأنظف كل حمولة عمل وصولًا فقط إلى ARNs الشهادات وARNs الأسرار التي تحتاجها.
ينبغي للمشغلين أيضًا التعامل مع الملفات المحلية باعتبارها أصولًا حساسة. يمكن للأداة كتابة مفاتيح الشهادات بأذونات مقيدة، لكن اختراق المضيف سيكشف مع ذلك الملفات على القرص. يجب أن تقرن الفرق الأداة بتشفير القرص، وتقسية المضيف، وسجلات التدقيق، وضوابط صارمة حول أمر إعادة التحميل.
تبدأ حالة الاستخدام الأكثر عملية بتجديد TLS. يمكن لفريق يشغّل NGINX على EC2 إصدار شهادة في ACM، وضبط الأداة لتصديرها، ووضع الشهادة والمفتاح في المسارات التي يستخدمها NGINX بالفعل، ثم إعادة تحميل NGINX بعد التحديث. تحتفظ حزمة التطبيق بتخطيط TLS الحالي، بينما تتولى AWS إصدار الشهادة وتتكفل الأداة بالتسليم المحلي.
حالة استخدام ثانية تناسب التطبيقات الهجينة. قد تشغّل شركة وكيل قاعدة بيانات أو بوابة API داخلية في مركز بيانات خاص، مع تخزين الأسرار في AWS. تتيح Workload Credentials Provider لذلك المضيف استهلاك اعتمادات تُدار من AWS من دون إضافة خدمة مزامنة مخصصة.
حالة استخدام ثالثة تناسب برامج الترحيل. يمكن للفرق نقل تخزين الأسرار إلى AWS أولًا، ثم تغيير كود التطبيق لاحقًا. تصل الأداة بين العقدة القديمة القائمة على الملفات والخلفية الجديدة المُدارة للأسرار، ما يمنح فرق المنصة مسار ترحيل أقل مخاطرة.
ومع ذلك، يجب على المعماريين أن يقرروا ما إذا كانت الملفات المحلية تناسب الحمولة. بالنسبة إلى الخدمات السحابية الأصلية الجديدة، يمكن لاستدعاءات SDK المباشرة أو هوية الحمولة العمل دون كتابة مواد طويلة العمر على القرص. أما للبرمجيات التي تتوقع الملفات أصلًا، فتقلل الأداة الكود المخصص وتمنح المشغلين حلقة تحديث مُدارة.
كما منحت AWS فرق المنصة نقطة تحكم حوكميّة. يمكن للفرق المركزية التوحّد على ACM وSecrets Manager، ونشر نمط إعداد للأداة، والسماح لفرق التطبيقات باستهلاك الملفات المحلية من دون تعلّم واجهة AWS API كاملة. يفيد ذلك في البيئات التي تمتلك فيها فرق العمليات المضيفين وتمتلك فرق التطبيقات الخدمات القابلة للنشر.
تقع المقايضة في طبقة التحكم. تكسب الفرق مسارًا مدعومًا من AWS للتسليم المحلي، لكنها تربط أيضًا مزيدًا من دورة حياة الاعتمادات بواجهات AWS API وسياسات IAM وسلوك الخدمات الإقليمي. ينبغي للفرق متعددة السحابات اختبار أوضاع الفشل: سلوك التخزين المؤقت القديم، والبدء أثناء تعطل واجهات AWS API، وأخطاء تصدير الشهادات، وفشل إعادة تحميل الخدمة.
لن تزيل Workload Credentials Provider الحاجة إلى بنية اعتماد. لكنها تضيق جزءًا مزعجًا منها. يمكن للفرق التي تعتمد بالفعل على Secrets Manager وACM استبدال نصوص التجديد الهشة بخدمة تديرها AWS، ثم تقضي وقت المراجعة على حدود الوصول، وضوابط المضيف، وسلامة النشر.
نشرت AWS المشروع على GitHub في aws/aws-workload-credentials-provider. ينبغي للفرق التي تقيّمه قراءة توثيق المشروع، والتأكد من دعم ACM للتصدير لأنواع شهاداتهم، واختبار سلوك التحديث وإعادة التحميل مقابل الخدمات الدقيقة التي تشغّلها في الإنتاج.

التعليقات
يرجى تسجيل الدخول أو إنشاء حساب للانضمام إلى النقاش