كيفية إدارة الأسرار باستخدام AWS Secrets Manager وRDS؟

Kyfyt Adart Alasrar Bastkhdam Aws Secrets Manager Wrds



تعد Amazon Relational Database إحدى خدمات قواعد البيانات العلائقية التي تتميز بسهولة وبساطة تشغيل وتشغيل الاستعلامات المعقدة. باتباع بناء جملة استعلامات SQL، تعد خدمة AWS هذه أسرع من قواعد البيانات التقليدية وتقوم بقياس قاعدة البيانات تلقائيًا بناءً على متطلبات التطبيق. باستخدام AWS RDS، فإنه يلغي الحاجة إلى إعداد الأجهزة بشكل مخصص أو إجراء تكوينات للبرنامج لتشغيل الاستعلامات.

توضح هذه المقالة كيفية إدارة الأسرار باستخدام AWS Secrets Manager وRDS.

ما هو المدير السري؟

كما أثيرت التهديدات الأمنية والمخاوف المتعلقة بالخصوصية من قبل الخبراء والأشخاص في جميع أنحاء العالم. لحماية أسرارك الرقمية مثل بيانات اعتماد قاعدة البيانات وواجهة برمجة التطبيقات والرموز المميزة، فإن AWS Secret Manager هو أداتك المفضلة لهذا الغرض.







يساعد AWS Secret Manager الشركات والمؤسسات على حماية مواردها وخدماتها من النوايا الخبيثة والهجمات الإلكترونية لاختطاف البيانات الحساسة أو سرقتها. تضيف هذه الخدمة طبقة إضافية من الأمان إلى الموارد وتتيح لك توسيع نطاق الأسرار وإدارتها بسهولة.



كيفية إدارة الأسرار باستخدام AWS Secret Manager وRDS؟

كلما قام مستخدم بتكوين مجموعة RDS، فإنه يتطلب معلومات حول المنطقة واسم المستخدم وكلمة المرور الخاصة بالمجموعة ويقوم بتعريفها باستخدام معرف فريد للمجموعة. سيسمح لك دمج RDS مع Secret Manager بحماية بيانات اعتماد RDS الخاصة بك وإدارتها وفقًا لذلك.



باستخدام مدير السرية، يمكنك تحديد دورة حياة هذه الأسرار ودمجها مع الموارد الأخرى. هنا في هذه المقالة، سنضيف AWS Secret Manager مع وظيفة Lambda إلى مجموعة RDS الخاصة بنا.





وفيما يلي بعض الخطوات لهذا الغرض:

الخطوة 1: إنشاء مجموعة RDS

يتم استخدام Secret Manager على نطاق واسع لحماية بيانات اعتماد قاعدة البيانات. لذلك، الخطوة الأولى هي إنشاء مجموعة RDS. ولهذا الغرض راجع هذا المقال: ' كيفية إنشاء مجموعة RDS على AWS؟ '. لدينا مجموعة RDS قيد التشغيل:



الخطوة 2: مدير AWS السري

في وحدة الإدارة في AWS، ابحث وحدد ' مدير الأسرار ':

في واجهة Secret Manager، انقر فوق 'تخزين سر جديد' زر:

في ال نوع سري ، حدد 'بيانات الاعتماد لقاعدة بيانات Amazon RDS' الخيار أثناء قيامنا بتكوينه لـ RDS:

التالي هو أوراق اعتماد قسم. في هذا القسم، قم بتوفير اسم المستخدم و كلمة المرور لقاعدة بيانات RDS التي أنشأناها للتو:

في ال مفتاح التشفير القسم، يمكن للمستخدم إما استخدام القسم الافتراضي الذي يوفره AWS Secret Manager أو إنشاء قسم جديد بالنقر فوق 'إضافة مفتاح جديد' خيار. وبالمثل، في قاعدة البيانات القسم، حدد 'مثيل قاعدة البيانات' التي قمت بإنشائها وضرب 'التالي' زر:

قم بتوفير اسم فريد لـ 'سر' مما سيساعدنا على التعرف عليه لاحقًا. الوصف اختياري. ومع ذلك، يمكن للمستخدم أيضًا تقديم وصف مخصص هنا:

على الواجهة , يوفر لنا المدير السري أيضًا وسيلة لتكرار السر. للقيام بذلك، حدد المنطقة التي تريد إنشاء النسخ المتماثل فيها. في هذا العرض التوضيحي، لا نطلب أي تكرار، لذلك من خلال الاحتفاظ ببقية الإعدادات كإعداد افتراضي، انقر فوق 'التالي' زر:

مع الحفاظ على الإعداد الافتراضي، نقوم الآن بمراجعة المعلومات وتعديلها. بعد التأكد من المعلومات المقدمة، اضغط على 'محل' زر لإنشاء وتخزين السر:

وهنا السر تم إنشاؤه بنجاح . اضغط على ' اسم السر 'لعرض تكويناتها:

بالتمرير لأسفل الواجهة، سيكون لدينا قسم نموذج التعليمات البرمجية. في هذا القسم، يتم إنشاء رمز بواسطة مدير سري. انسخ هذا الكود حيث سيتم استخدامه في وظيفة لامدا:

// استخدم مقتطف الرمز هذا في التطبيق الخاص بك.
// اذا احتجت أكثر للحصول على معلومات حول التكوينات أو تنفيذ نموذج التعليمات البرمجية، تفضل بزيارة مستندات AWS:
// https: // docs.aws.amazon.com / SDK مقابل جافا سكريبت / v3 / دليل المطور / الشروع في العمل.html

يستورد {
أسرار مدير العميل,
جيتسيكريتفاليوكوماند،
} من '@aws-sdk/client-secrets-manager' ;

const Secret_name = 'mysecret1/ش' ;

عميل const = new SecretsManagerClient ( {
منطقة: 'AP-جنوب شرق-1' ,
} ) ;

يترك إجابة؛

يحاول {
الاستجابة = انتظار العميل.إرسال (
GetSecretValueCommand الجديد ( {
المعرف السري: اسم_السر،
مرحلة الإصدار: 'AWSCURRENT' , // يتم تعيين الإصدار الافتراضي إلى AWSCURRENT لو غير محدد
} )
) ;
} يمسك ( خطأ ) {
// للحصول على قائمة الاستثناءات التي تم طرحها، راجع
// https: // docs.aws.amazon.com / com.secretsmanager / أحدث / com.apireference /
API_GetSecretValue.html
خطأ في الرمي
}

سر ثابت = استجابة.SecretString؛

// الكود الخاص بك يذهب هنا

الخطوة 3: إنشاء وظيفة لامدا

في واجهة وظيفة Lambda، انقر فوق ' إنشاء وظيفة ' زر:

اضغط على 'المؤلف من الصفر' الخيار من 'إنشاء وظيفة' واجهه المستخدم:

بعد ذلك، نتحرك نحو 'معلومات اساسية' قسم. قم بتوفير اسم الوظيفة في 'اسم وظيفة' الحقل ثم قم بتوفير 'مدة العرض' بيئة. لقد اخترنا هنا 'Node.js 16.x' في حقل وقت التشغيل:

اضغط على 'إنشاء وظيفة' زر:

لقد قمنا هنا بلصق الكود الذي تم إنشاؤه بواسطة مدير سري . بعد لصق الكود اضغط على 'نشر' زر:

بعد نشر كافة التغييرات، انقر فوق 'إعدادات' علامة التبويب للسماح بأذونات Secret Manager:

اضغط على 'الأذونات' الخيار من 'التكوينات' فاتورة غير مدفوعة. سيعرض هذا ' الدور التنفيذى' الواجهة وانقر على الرابط التالي تحت 'اسم الدور' مجال:

في ال 'سياسات الأذونات' القسم، انقر على 'إضافة أذونات' زر. من القائمة المنسدلة، انقر على 'إرفاق السياسات' خيار:

في ال 'سياسات الأذونات الأخرى' القسم، ابحث واختر ''SecretsManagerReadWrite'' خيار. ضرب 'إضافة أذونات' زر:

هنا تم إرفاق السياسة وتكوينها بنجاح:

الخطوة 4: التحقق من الوصول السري

انتقل الآن إلى واجهة لوحة معلومات Lambda. اضغط على 'امتحان' فاتورة غير مدفوعة:

في الواجهة التالية، قم بتوفير اسم لحدث الاختبار في ملف 'اسم الحدث' مجال. اضغط على 'يحفظ' زر لتطبيق التكوينات:

هنا تم تكوين الاختبار بنجاح. اضغط على 'امتحان' زر:

وهنا سوف نقوم بالضغط على 'امتحان' الزر مرة أخرى، وسوف يعرض الإخراج التالي:

هذا كل شيء من هذا الدليل.

خاتمة

لإدارة الأسرار في Secret Manager، أنشئ مجموعة RDS، وأرفقها بـ Secret Manager، ثم قم بتنفيذ هذا الرمز في وظيفة Lambda التي تم تكوينها. ستحدد وظيفة Lambda ما إذا كان يمكن الوصول إلى السر أم لا عن طريق تنفيذ التعليمات البرمجية الموجودة فيه والتي تحتوي على مواصفات مجموعة RDS. هذه المقالة عبارة عن دليل خطوة بخطوة لإدارة الأسرار باستخدام AWS Secret Manager وRDS.