כיצד לנהל סודות באמצעות מנהל סודות AWS ו- RDS?

Kyzd Lnhl Swdwt B Mz Wt Mnhl Swdwt Aws W Rds



Amazon Relational Database הוא אחד משירותי מסדי הנתונים היחסיים שקל ופשוט יותר לתפעול ולהריץ שאילתות מורכבות. בעקבות התחביר של שאילתות SQL, שירות זה של AWS מהיר יותר מבסיסי נתונים מסורתיים ומדרג את מסד הנתונים באופן אוטומטי בהתאם לדרישות האפליקציה. עם AWS RDS, זה מבטל את הצורך להגדיר את החומרה בהתאמה אישית או לבצע הגדרות לתוכנה כדי להפעיל את השאילתות.

מאמר זה מדגים כיצד לנהל סודות באמצעות AWS Secrets Manager ו-RDS.

מה זה מנהל סודי?

איומי אבטחה וחששות לפרטיות הועלו גם על ידי מומחים ואנשים ברחבי העולם. כדי להגן על הסודות הדיגיטליים שלך כגון אישורי מסד נתונים, API ואסימונים, AWS Secret Manager הוא הכלי שלך למטרה זו.







AWS Secret Manager עוזר לחברות וארגונים להגן על המשאבים והשירותים שלהם מפני כוונות זדוניות והתקפות סייבר כדי לחטוף או לגנוב נתונים רגישים. שירות זה מוסיף שכבת אבטחה נוספת למשאבים ומאפשר לך להגדיל ולנהל בקלות את הסודות.



כיצד לנהל סודות באמצעות AWS Secret Manager ו- RDS?

בכל פעם שמשתמש מגדיר את אשכול RDS, הוא דורש מידע על האזור, שם המשתמש והסיסמה של האשכול ומזהה אותו באמצעות מזהה ייחודי של האשכול. שילוב ה-RDS עם המנהל הסודי יאפשר לך להגן על אישורי ה-RDS שלך ולנהל אותם בהתאם.



על ידי שימוש במנהל הסוד, תוכל להגדיר את מחזור החיים של הסודות הללו ולשלב אותם עם משאבים אחרים. כאן במאמר זה, נוסיף את AWS Secret Manager עם פונקציית Lambda לאשכול ה-RDS שלנו.





להלן כמה שלבים למטרה זו:

שלב 1: צור אשכול RDS

המנהל הסודי נמצא בשימוש נרחב כדי להגן על אישורי מסד הנתונים. אז, הצעד הראשון הוא ליצור אשכול RDS. לשם כך, עיין במאמר זה: ' כיצד ליצור אשכול RDS ב-AWS? '. יש לנו את אשכול RDS פועל:



שלב 2: מנהל סודי של AWS

במסוף הניהול של AWS, חפש ובחר את ' מנהל סודות ”:

בממשק Secret Manager, לחץ על 'אחסן סוד חדש' לַחְצָן:

בתוך ה סוג סודי , בחר את 'אישורים למסד הנתונים של Amazon RDS' אפשרות כפי שאנו מגדירים אותה עבור RDS:

הבא הוא אישורים סָעִיף. בסעיף זה, ספק את שם משתמש ו סיסמה עבור מסד הנתונים של RDS שיצרנו זה עתה:

בתוך ה מפתח הצפנה בסעיף, המשתמש יכול להשתמש בברירת המחדל שסופק על ידי מנהל הסודי של AWS או ליצור אחד חדש על ידי לחיצה על 'הוסף מפתח חדש' אוֹפְּצִיָה. באופן דומה, ב- מאגר מידע סעיף, בחר את 'מופע DB' שיצרת ולחץ על 'הַבָּא' לַחְצָן:

ספק שם ייחודי עבור 'סוֹד' שיעזור לנו לזהות אותו מאוחר יותר. התיאור הוא אופציונלי. עם זאת, המשתמש יכול גם לספק תיאור מותאם אישית כאן:

על הממשק , המנהל הסודי מספק לנו גם את המתקן לשכפל את הסוד. לשם כך, בחר אזור שבו ברצונך ליצור את השכפול. בהדגמה זו, איננו דורשים שכפול, לכן על ידי שמירת שאר ההגדרות כברירת מחדל, הקש על 'הַבָּא' לַחְצָן:

תוך שמירה על ברירת המחדל, כעת אנו בודקים ועורכים את המידע. לאחר אישור המידע שסופק, לחץ על 'חנות' לחצן כדי ליצור ולאחסן את הסוד:

הנה, הסוד הוא נוצר בהצלחה . הקלק על ה ' שם הסוד ' כדי להציג את התצורות שלו:

בגלילה למטה בממשק, יהיה לנו את הקטע של קוד לדוגמה. בסעיף זה, קוד נוצר על ידי ה מנהל סודי. העתק את הקוד הזה כפי שהוא ישמש ב- פונקציית למדה:

// השתמש בקטע קוד זה ב האפליקציה שלך.
// אם אתה צריך יותר מידע על תצורות או יישום קוד לדוגמה, בקר במסמכים של AWS:
// https: // docs.aws.amazon.com / sdk-for-javascript / v3 / מדריך למפתחים / getting-started.html

יְבוּא {
SecretsManagerClient,
GetSecretValueCommand,
} מ '@aws-sdk/client-secrets-manager' ;

const secret_name = 'mysecret1/sh' ;

const client = SecretsManagerClient חדש ( {
אזור: 'ap-southeast-1' ,
} ) ;

לתת תְגוּבָה;

לְנַסוֹת {
תגובה = await client.send (
GetSecretValueCommand החדשה ( {
SecretId: secret_name,
VersionStage: 'AWSCURRENT' , // ברירת המחדל של VersionStage היא AWSCURRENT אם לא מוגדר
} )
) ;
} לתפוס ( שְׁגִיאָה ) {
// לרשימה של חריגים שנזרקו, ראה
// https: // docs.aws.amazon.com / מנהל סודות / הכי מאוחר / apireference /
API_GetSecretValue.html
שגיאה לזרוק;
}

const secret = response.SecretString;

// הקוד שלך נכנס לכאן

שלב 3: צור פונקציית Lambda

בממשק Lambda Function, לחץ על ' צור פונקציה ' כפתור:

הקלק על ה 'מחבר מאפס' אפשרות מה 'צור פונקציה' מִמְשָׁק:

לאחר מכן, אנו נעים לכיוון 'מידע בסיסי' סָעִיף. ספק את שם הפונקציה ב- 'שם פונקציה' שדה ולאחר מכן לספק את 'זמן ריצה' סביבה. כאן בחרנו את 'Node.js 16. x' בשדה זמן ריצה:

הקלק על ה 'צור פונקציה' לַחְצָן:

כאן, הדבקנו את הקוד שנוצר על ידי מנהל סודי . לאחר הדבקת הקוד, לחץ על 'לפרוס' לַחְצָן:

לאחר פריסת כל השינויים, לחץ על 'תְצוּרָה' לשונית כדי לאפשר הרשאות למנהל הסודי:

הקלק על ה 'הרשאות' אפשרות מה 'תצורות' לשונית. זה יציג את ' תפקיד ביצוע' ממשק ולחץ על הקישור הבא מתחת ל- 'שם תפקיד' שדה:

בתוך ה 'מדיניות הרשאות' בקטע, לחץ על 'הוסף הרשאות' לַחְצָן. מהתפריט הנפתח, לחץ על 'צרף מדיניות' אוֹפְּצִיָה:

בתוך ה 'מדיניות הרשאות אחרות' מקטע, חפש ובחר את 'SecretsManagerReadWrite' אוֹפְּצִיָה. לחץ על 'הוסף הרשאות' לַחְצָן:

כאן המדיניות צורפה והוגדרה בהצלחה:

שלב 4: אמת את הגישה הסודית

כעת עבור אל ממשק לוח המחוונים של Lambda. הקלק על ה 'מִבְחָן' כרטיסייה:

בממשק הבא, ספק שם לאירוע הבדיקה ב- 'שם אירוע' שדה. הקלק על ה 'להציל' לחצן להחלת תצורות:

כאן הבדיקה הוגדרה בהצלחה. הקלק על ה 'מִבְחָן' לַחְצָן:

כאן נלחץ על 'מִבְחָן' לחצן שוב, והוא יציג את הפלט הבא:

זה הכל מהמדריך הזה.

סיכום

כדי לנהל סודות ב-Secret Manager, צור את אשכול RDS, צרף אותו ל-Secret Manager ולאחר מכן הפעל את הקוד הזה בפונקציית Lambda המוגדרת. פונקציית Lambda תגדיר האם ניתן לגשת אל הסוד או לא על ידי ביצוע הקוד בו המכיל את המפרט של אשכול RDS. מאמר זה הוא מדריך שלב אחר שלב לניהול סודות באמצעות AWS Secret Manager ו- RDS.