בדף הזה מוסבר איך להשתמש ב-AlloyDB ל-PostgreSQL עם Secret Manager כדי לאחסן מידע רגיש לגישה.
טיפול מאובטח במידע רגיש הוא חלק חיוני ביצירת תהליך עבודה מאובטח לפיתוח. ב-AlloyDB, מומלץ לאחסן מידע רגיש כסודות שיוצרים ב-Secret Manager. סודות כוללים מפתחות API, סיסמאות, מידע רגיש ופרטי כניסה שאפשר להשתמש בהם כדי לגשת למערכת סודית.
סקירה כללית
Secret Manager מספק נוחות ומשפר את האבטחה. אפשר גם להחיל ניהול גרסאות על הסודות ולשתף אותם עם חברי הצוות. מידע נוסף על שיתוף סודות עם הצוות זמין במאמר בקרת גישה באמצעות IAM.
שמות משתמש וסיסמאות
שימוש ב-Secret Manager לאחסון שמות המשתמשים והסיסמאות של חשבונות המשתמשים ב-AlloyDB כסודות הוא דרך בטוחה ומהימנה לניהול המידע הרגיש.
קודם כול, יוצרים משתמש ב-AlloyDB. לשם כך צריך לספק שם משתמש וסיסמה. מידע נוסף על יצירת משתמש ב-AlloyDB זמין במאמר ניהול משתמשי PostgreSQL באמצעות אימות מובנה.
אחרי שיוצרים את המשתמש, יוצרים סוד ב-Secret Manager כדי לאחסן את שם המשתמש והסיסמה, וכך למנוע אובדן של המידע הרגיש. מידע נוסף על יצירה של סודות וגישה אליהם ב-Secret Manager זמין במאמר בנושא יצירת סוד.
תרחישים של רפליקה בין אזורים
אם אשכול AlloyDB ראשי נכשל, יכול להיות שתקדמו אשכול משני. אחרי שהאשכול המשני הופך לאשכול הראשי, צריך לעדכן את שם החיבור של המופע כדי לשקף את הקידום הזה. אם שם המופע מאוחסן בסוד, צריך לעדכן את הסוד בשם של האשכול הראשי החדש. מידע נוסף זמין במאמר בנושא עריכת סוד.
אחת הדרכים להשתמש ב-Secret Manager למעבר לגיבוי היא לשמור את השם של האשכול הראשי בסוד, ואז לעטוף את הקריאה של AlloyDB Auth Proxy בסקריפט שמבצע שאילתות ב-Secret Manager.
כדי לזהות מתי הערך של שם החיבור של המכונה מתעדכן, משתמשים בשרת ה-proxy של AlloyDB Auth ואז מפעילים אותו מחדש עם הערך החדש, באופן הבא:
#!/bin/bash
SECRET_ID="my-secret-id" # TODO(developer): replace this value
REFRESH_INTERVAL=5
PORT=5432 # TODO(developer): change this port as needed
# Get the latest version of the secret and start the proxy
INSTANCE=$(gcloud secrets versions access "latest" --secret="$SECRET_ID")
alloydb-auth-proxy $INSTANCE --port=$PORT &
PID=$!
# Every 5s, get the latest version of the secret. If it's changed, restart the
# proxy with the new value.
while true; do
sleep $REFRESH_INTERVAL
NEW=$(gcloud secrets versions access "latest" --secret="$SECRET_ID")
if [ "$INSTANCE" != "$NEW" ]; then
INSTANCE=$NEW
kill $PID
wait $PID
alloydb-auth-proxy $INSTANCE --port=$PORT &
PID=$!
fi
done
למידע נוסף על יצירה וגישה לסוד שמכיל את שם החיבור של מופע הרפליקה הראשי, ראו יצירה וגישה לסוד באמצעות Secret Manager. מידע נוסף על השימוש ב-AlloyDB Auth proxy זמין במאמר חיבור באמצעות AlloyDB Auth Proxy.
המאמרים הבאים
- כדי ללמוד איך לשלב את Secret Manager עם סביבת הפיתוח, אפשר לעיין בדוגמאות השונות שזמינות בדף כל דוגמאות הקוד של Secret Manager.