רוטציה של סודות

בדף הזה מוסבר איך לעדכן מפתחות של Media CDN שמשמשים לבקשות חתומות. אפשר להשתמש בעד שלושה מפתחות ציבוריים ושלושה מפתחות משותפים לאימות, כלומר עד שישה מפתחות לכל קבוצת מפתחות. כדי למנוע חריגה מהמגבלות האלה במהלך רוטציית מפתחות, אפשר לעיין בהוראות הבאות לגבי מחיקת מפתח משותף לאימות והוספת מפתח.

לפני שמתחילים

  1. הגדרת מפתחות משותפים לאימות ב-Secret Manager

  2. מקצים לחשבון השירות של Media CDN את התפקיד 'גישה ל-Secret Manager' (roles/secretmanager.secretAccessor).

    המסוף

    1. במסוף Google Cloud , עוברים לדף Secret Manager.

      מעבר אל Secret Manager

    2. בוחרים את הסוד.
    3. בחלונית המידע, לוחצים על Add principal.
    4. בשדה New principals (חשבונות משתמשים חדשים), מזינים את חשבון השירות של Media CDN באופן הבא:
      service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com

      מחליפים את PROJECT_NUMBER במספר הפרויקט.

    5. בשדה Select a role (בחירת תפקיד), בוחרים באפשרות Secret Manager (ניהול סודות) ואז באפשרות Secret Manager Secret Accessor (גישה לסודות ב-Secret Manager).
    6. לוחצים על Save.

    gcloud

    משתמשים בפקודה gcloud secrets add-iam-policy-binding:

       gcloud secrets add-iam-policy-binding projects/PROJECT_NUMBER/secrets/SECRET_ID \
           --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com" \
           --role="roles/secretmanager.secretAccessor"
        

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_NUMBER: מספר הפרויקט
    • SECRET_ID: מזהה הסוד

מחיקת סוד

המסוף

  1. נכנסים לדף Media CDN במסוף Google Cloud .

    מעבר אל Media CDN

  2. לוחצים על הכרטיסייה Keysets (קבוצות מפתחות).

  3. בוחרים את קבוצת המקשים שכוללת את הסוד שרוצים למחוק, ואז לוחצים על עריכה.

  4. כדי למחוק סוד, בקטע מפתחות > מפתחות משותפים לאימות, לוחצים על מחיקה לצד שם הסוד.

  5. לוחצים על עדכון קבוצת המפתחות.

gcloud

כדי למחוק מפתח סודי מקבוצת מפתחות, משתמשים בפקודה gcloud edge-cache keysets update. משמיטים את קבוצת המפתחות שרוצים למחוק ומציינים את קבוצות המפתחות שרוצים לשמור.

בדוגמה הבאה, KEY_VERSION_1 לא מופיע ברשימה, אבל KEY_VERSION_2 ו-KEY_VERSION_3 כן מופיעים. השמטה KEY_VERSION_1 מוחקת אותו מקבוצת המקשים.

gcloud edge-cache keysets update KEYSET_NAME \
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2'
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3'

מחליפים את מה שכתוב בשדות הבאים:

  • KEYSET_NAME: השם של קבוצת המפתחות
  • PROJECT_NUMBER: מספר הפרויקט
  • SECRET_ID: המזהה של הסוד שרוצים לעדכן
  • KEY_VERSION: גרסת המפתח

כלי לעריכת טקסט

  1. מייצאים את קבוצת המפתחות לקובץ YAML. משתמשים בפקודה gcloud edge-cache keysets export.

    gcloud edge-cache keysets export KEYSET_NAME \
        --destination=FILENAME.yaml
    

    מחליפים את מה שכתוב בשדות הבאים:

    • KEYSET_NAME: השם של קבוצת המפתחות, לדוגמה prod-vod-keyset
    • FILENAME: שם קובץ ה-YAML
  2. עורכים את קובץ ההגדרות של קבוצת המפתחות שייצאתם כדי להסיר את המפתח הסודי. בדוגמה הבאה אפשר לראות איך מסירים את מפתח הסוד הכי ישן, שמסתיים ב-KEY_VERSION_1:

    name: projects/my-project/locations/global/edgeCacheKeysets/prod-vod-keyset
    validationSharedKeys:
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_1"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_NUMBER: מספר הפרויקט
    • SECRET_ID: המזהה של הסוד שרוצים לעדכן
    • KEY_VERSION: גרסת המפתח

    הקובץ הערוך ייראה כך:

    name: projects/my-project/locations/global/edgeCacheKeysets/prod-vod-keyset
    validationSharedKeys:
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3"
    
  3. מייבאים את קבוצת המפתחות הערוכה. משתמשים בפקודה gcloud edge-cache keysets import:

    gcloud edge-cache keysets import KEYSET_NAME \
        --source=FILENAME.yaml
    

הוספת סוד

המסוף

  1. נכנסים לדף Media CDN במסוף Google Cloud .

    מעבר אל Media CDN

  2. לוחצים על הכרטיסייה Keysets (קבוצות מפתחות).

  3. בוחרים את קבוצת המפתחות שרוצים להוסיף לה סוד ולוחצים על עריכה.

  4. כדי להוסיף סוד, בקטע Keys > Validation shared keys (מפתחות > מפתחות משותפים לאימות), לוחצים על Secret (סוד). אחר כך בוחרים סוד מהרשימה, מזינים סוד באופן ידני על ידי ציון מזהה המשאב שלו או יוצרים סוד חדש ואז בוחרים אותו.

  5. בוחרים גרסת סוד מהרשימה או יוצרים גרסת סוד חדשה ואז בוחרים אותה.

  6. לוחצים על עדכון קבוצת המפתחות.

gcloud

כדי להוסיף מפתח סודי לסט מפתחות, משתמשים בפקודה gcloud edge-cache keysets update. מציינים את קבוצות המפתחות שיש לכם ואת קבוצת המפתחות שרוצים להוסיף.

בדוגמה הבאה, KEY_VERSION_1 נמחק בעבר ו-KEY_VERSION_4 הוא קבוצת המפתחות שנוספת. הוספת KEY_VERSION_4 לרשימה בנוסף ל-KEY_VERSION_2 ול-KEY_VERSION_3 מוסיפה אותו לערכת המפתחות.

gcloud edge-cache keysets update KEYSET_NAME \
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2'
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3'
    --validation-shared-key='secret_version=projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_4'

מחליפים את מה שכתוב בשדות הבאים:

  • KEYSET_NAME: השם של קבוצת המפתחות
  • PROJECT_NUMBER: מספר הפרויקט
  • SECRET_ID: המזהה של הסוד שרוצים לעדכן.
  • KEY_VERSION: גרסת המפתח

כלי לעריכת טקסט

  1. מייצאים את קבוצת המפתחות לקובץ YAML. משתמשים בפקודה gcloud edge-cache keysets export.

    gcloud edge-cache keysets export KEYSET_NAME \
        --destination=FILENAME.yaml
    

    מחליפים את מה שכתוב בשדות הבאים:

    • KEYSET_NAME: השם של קבוצת המפתחות
    • FILENAME: שם קובץ ה-YAML
  2. בקובץ התצורה של קבוצת המפתחות המיוצאת, מוסיפים שורה חדשה של secretVersion שכוללת גרסה חדשה של מפתח, בדומה לזו:

    name: projects/my-project/locations/global/edgeCacheKeysets/prod-vod-keyset
    validationSharedKeys:
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_2"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_3"
        - secretVersion: "projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/KEY_VERSION_4"
    
  3. מייבאים את קבוצת המפתחות הערוכה. משתמשים בפקודה gcloud edge-cache keysets import:

    gcloud edge-cache keysets import KEYSET_NAME \
        --source=FILENAME.yaml