אתם יכולים להגדיר ולנהל מדיניות סיסמאות למשתמשי מסד נתונים במכונות AlloyDB ל-PostgreSQL.
במאמר בנושא אימות מופיעה סקירה כללית של שיטות האימות שזמינות ב-AlloyDB.
מידע על מדיניות בנושא סיסמאות
אם המשתמשים במסד הנתונים של האפליקציה מאומתים באמצעות שיטת האימות המובנית שמבוססת על סיסמה במופעי AlloyDB, אתם יכולים לחייב שימוש בסיסמאות חזקות כדי להפוך את האימות למאובטח יותר. אתם יכולים להגדיר ולאפשר אכיפה של סיסמאות על ידי הגדרת מדיניות סיסמאות במופעים.
מגבלות של מדיניות הסיסמאות
יש מגבלות על מדיניות הסיסמאות ב-AlloyDB:
מדיניות הסיסמאות חלה רק על סיסמאות שנוצרו אחרי שהגדרתם את המדיניות. שינוי במדיניות הסיסמאות לא משפיע על סיסמאות קיימות של משתמשים.
מדיניות הסיסמאות חלה רק על סיסמאות שמוזנות כטקסט רגיל. המדיניות בנושא סיסמאות לא חלה על סיסמאות שמוזנות כמחרוזות מוצפנות.
הגדרת מדיניות סיסמאות למופע
אפשר להגדיר מדיניות לסיסמאות במופע על ידי הגדרת דגלים של סיסמאות במופע.
איסור שימוש בשם משתמש: מונע שימוש בשם המשתמש בסיסמה.
מורכבות הסיסמה: צריך לבדוק אם הסיסמה מכילה את מספר התווים המותר של אותיות קטנות, אותיות גדולות, ספרות ותווים לא אלפאנומריים. כדאי גם לבדוק אם אורך הסיסמה תקין.
תוקף הסיסמה: חשוב לוודא שהסיסמאות מתחלפות באופן תקופתי.
רשימת הדגלים של מדיניות הסיסמאות שנתמכים ב-AlloyDB מופיעה במאמר דגלים של מדיניות הסיסמאות.
אכיפת סיסמאות מורכבות
כדי לאכוף מדיניות של סיסמאות מורכבות:
- מגדירים את הדגל
password.enforce_complexityלערךON. - משתמשים בדגלים של מדיניות סיסמאות כדי להגדיר את מדיניות הסיסמאות.
לדוגמה, כדי לאכוף מדיניות סיסמאות שקובעת שסיסמה חייבת להכיל לפחות אות גדולה אחת, מספר אחד ולהיות באורך של 10 תווים לפחות, צריך להגדיר את הדגלים הבאים:
password.enforce_complexityעדON- דגל
password.min_uppercase_lettersלערך1 - דגל
password.min_numerical_charsלערך1 - דגל
password.min_pass_lengthלערך10
אחרי שמגדירים את הדגלים האלה, ניסיון להגדיר סיסמה למשתמש במסד נתונים שלא עומדת בדרישות של מדיניות הסיסמאות הזו ייכשל. לדוגמה, אם המדיניות הזו מוגדרת, הפקודה הבאה של הלקוח psql נכשלת כי הסיסמה foo קצרה מ-10 תווים ולא מכילה מספר או אות גדולה.
CREATE USER USERNAME WITH PASSWORD 'foo';
אכיפת תפוגת תוקף של סיסמאות
כדי לאכוף את מדיניות תפוגת הסיסמאות:
מגדירים את הדגל
password.enforce_expirationלערךON.מגדירים את הדגל
password.expiration_in_daysלמספר הימים שאחרי הגדרת הסיסמה, שבהם היא תפוג.מגדירים את הדגל
password.notify_expiration_in_daysלמספר הימים לפני פקיעת התוקף של הסיסמה שבהם המשתמש מתחיל לקבל התראות על פקיעת התוקף של הסיסמה.
לדוגמה, כדי לאכוף מדיניות סיסמאות שקובעת שתוקף הסיסמאות יפוג אחרי 30 ימים ושהמשתמשים יקבלו התראה 15 ימים לפני שתוקף הסיסמה שלהם יפוג, צריך להגדיר את הערכים הבאים:
password.enforce_expirationעדON- דגל
password.expiration_in_daysלערך30 - דגל
password.notify_expiration_in_daysלערך15
אם תוקף הסיסמה של משתמש פג, המשתמש לא יכול להתחבר למופע AlloyDB. כדי לאפס את הסיסמה של משתמש, אפשר לעיין במאמר בנושא שינוי הסיסמה של משתמש במסד נתונים.
הסיסמאות לא יכולות לכלול שמות משתמש
כדי לאכוף את המדיניות שמונעת מסיסמה להכיל שם משתמש, צריך:
- מגדירים את
password.enforce_password_does_not_contain_usernameלערךON.
לדוגמה, כדי לוודא שסיסמה לא מכילה שם משתמש כמחרוזת משנה, מגדירים את הדברים הבאים:
password.enforce_password_does_not_contain_usernameעדON
אם הדגל הזה מוגדר, הפעולה הבאה נכשלת כי הסיסמה
alex-secret מכילה את שם המשתמש Alex:
CREATE USER Alex WITH PASSWORD 'alex-secret';