מפתחות של חשבונות שירות הם מפתחות פרטיים שמאפשרים לבצע אימות כחשבון שירות. רוטציית מפתחות היא התהליך של החלפת המפתחות הקיימים במפתחות חדשים, ולאחר מכן ביטול התוקף של המפתחות שהוחלפו. אנו ממליצים לבצע באופן קבוע רוטציה לכל המפתחות שאתם מנהלים, כולל המפתחות של חשבונות השירות.
החלפת מפתחות של חשבונות שירות יכולה לעזור בצמצום הסיכון של דליפת או גניבת מפתחות. אם מתרחשת דליפת מפתח, ייתכן שיחלפו ימים או שבועות עד שגורמים זדוניים יגלו את המפתח. אם תבצעו באופן קבוע רוטציה למפתחות של חשבונות השירות, יש סיכוי גבוה יותר שהמפתחות שדלפו כבר לא יהיו בתוקף עד שגורם זדוני יקבל אותם.
תהליך קבוע עבור רוטציית מפתחות של חשבונות שירות גם עוזר לפעול במהירות, אם קיים חשד שמפתח של חשבון שירות נחשף.
תדירות רוטציית המפתחות
מומלץ לבצע רוטציית מפתחות לפחות כל 90 יום כדי לצמצם את הסיכון הנובע ממפתחות שדלפו.
אם סבורים שמפתח של חשבון שירות נחשף, אנו ממליצים לבצע עבורו רוטציה באופן מיידי.
תהליך רוטציית מפתחות
כדי לבצע רוטציית מפתחות של חשבונות שירות, יש לעשות את הדברים הבאים:
- מאתרים את המפתחות של חשבונות השירות שיש לבצע עבורם רוטציה.
- יוצרים מפתחות חדשים עבור אותם חשבונות שירות.
- מחליפים את המפתחות הקיימים במפתחות החדשים בכל האפליקציות.
- משביתים את המפתחות המוחלפים ועוקבים אחרי האפליקציות כדי לוודא שהן עובדות כמצופה.
- מוחקים את מפתחות חשבונות השירות שהוחלפו.
אפשר לבצע שלבים אלו באמצעות שירות ניהול סודות מרכזי או באמצעות מערכת התראות בהתאמה אישית.
שירות ניהול סודות מרכזי
שירותי ניהול סודות מרכזיים רבים, כמו HashiCorp Vault, מספקים רוטציית סודות אוטומטית. אפשר להשתמש בשירותים אלו כדי לאחסן את המפתחות של חשבונות השירות ולבצע רוטציה עבורם.
לא מומלץ להשתמש ב- Google CloudSecret Manager כדי לאחסן מפתחות של חשבונות שירות ולבצע רוטציה עבורם. הסיבה לכך היא שכדי לגשת לסודות של Secret Manager, האפליקציה זקוקה לזהות ש-Google Cloud יכולה לזהות. אם לאפליקציה כבר יש זהות ש- Google Cloud יכולה לזהות, אז האפליקציה יכולה להשתמש בזהות הזו כדי לאמת את Google Cloud במקום להשתמש במפתח של חשבון שירות.אותו עיקרון חל על שירותי ניהול סודות אחרים מבוססי-ענן, כמו Azure KeyVault ו-AWS Secret Manager. אם לאפליקציה כבר יש זהות שספקי הענן האלה יכולים לזהות, האפליקציה תוכל להשתמש בזהות הזו כדי לבצע אימות ל- Google Cloud במקום להשתמש במפתח של חשבון שירות.
מערכת התראות בהתאמה אישית
גישה נוספת לרוטציית מפתחות של חשבונות שירות היא ליצור מערכת ששולחת התראות כשצריך לבצע רוטציית מפתחות. לדוגמה, אפשר ליצור מערכת ששולחת התראות כשהיא מגלה מפתחות שנוצרו לפני יותר מ-90 יום.
קודם כול צריך לזהות את המפתחות שזקוקים לרוטציה. כדי לזהות מפתחות אלו, מומלץ להשתמש במאגר משאבי ענן כדי לחפש את כל המפתחות של חשבונות השירות שנוצרו לפני זמן מסוים.
לדוגמה, הפקודה הבאה מפרטת את כל מפתחות חשבונות השירות שנוצרו לפני כן 2023-03-10 00:00:00 UTC בארגון עם המזהה 123456789012:
gcloud asset search-all-resources \
--scope="organizations/123456789012" \
--query="createTime < 2023-03-10" \
--asset-types="iam.googleapis.com/ServiceAccountKey" \
--order-by="createTime"
למידע נוסף על חיפוש משאבים במאגר משאבי ענן, ראו חיפוש משאבים. אחרי זיהוי המפתחות שזקוקים לרוטציה, תוכלו לשלוח התראות לצוותים המתאימים.
כשמתקבלת התראה לבצע רוטציה למפתח, צריך:
- ליצור מפתח חדש עבור אותו חשבון שירות.
- להחליף את המפתח הקיים במפתח החדש בכל האפליקציות.
- להשבית את המפתח שהוחלף ולעקוב אחרי האפליקציות כדי לוודא שהן עובדות כצפוי.
- אחרי שמוודאים שהאפליקציות עובדות כצפוי, מוחקים את המפתח שהוחלף.
מפתחות לחשבונות שירות שתוקפם עומד לפוג
אנו לא ממליצים לבצע רוטציית מפתחות על מפתחות של חשבונות שירות שתוקפם עומד לפוג. הסיבה לכך היא שמפתחות שתוקפם עומד לפוג עלולים לגרום להפסקות זמניות בשירות אם הרוטציה לא מבוצעת כראוי. למידע נוסף על תרחישים לדוגמה עבור מפתחות של חשבונות שירות שתוקפם עומד לפוג, ראו מועדי תפוגה עבור מפתחות בניהול משתמשים.
המאמרים הבאים
- משתמשים במאגר משאבי ענן כדי לחפש משאבים, כולל מפתחות של חשבונות שירות, לפי זמן היצירה.
- יצירה, השבתה ומחיקה של מפתחות של חשבונות שירות.