הגדרת סודות למאגרי עובדים

יכול להיות שמאגר העובדים שלכם יזדקק למפתחות API, לסיסמאות, לאישורים או למידע רגיש אחר בשביל התלות שלו. ב-Cloud Run,‏ Google ממליצה לאחסן את המידע הרגיש הזה בסוד שיוצרים ב-Secret Manager.

אפשר להפוך סוד לזמין למאגרי התגים באחת מהדרכים הבאות:

  • כשמציבים כל סוד כנפח, Cloud Run הופך את הסוד לזמין לקונטיינר כקובץ. כשקוראים נפח, Cloud Run תמיד מאחזר את ערך הסוד מ-Secret Manager כדי להשתמש בערך עם הגרסה האחרונה. השיטה הזו מתאימה גם לרוטציה של סודות.
  • העברת סוד באמצעות משתני סביבה. משתני הסביבה נפתרים בזמן הפעלת המופע, ולכן אם משתמשים בשיטה הזו, Google ממליצה להצמיד את הסוד לגרסה מסוימת במקום להשתמש ב-latest כגרסה.

מידע נוסף זמין במאמר בנושא שיטות מומלצות לשימוש ב-Secret Manager.

איך מתבצעת בדיקה של סודות בזמן הפריסה ובזמן הריצה

במהלך הפריסה של מאגר העובדים, Cloud Run בודק את כל הסודות שבהם אתם משתמשים. הבדיקה מוודאת שלחשבון השירות שמריץ את הקונטיינר יש הרשאה לגשת לסודות האלה.

במהלך זמן הריצה, כשהמופעים מופעלים:

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

בעלות על נפח

הבעלות על נפח סודי ב-Cloud Run משתנה בהתאם לסביבת ההפעלה ולסוג הפריסה.

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

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

  1. Enable the Secret Manager API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  2. משתמשים בסוד קיים או יוצרים סוד ב-Secret Manager, כמו שמתואר במאמר יצירת סוד.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות להגדרת סודות, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

כדי לאפשר ל-Cloud Run לגשת לסוד, לזהות השירות צריכה להיות ההרשאה הבאה:

הוראות להוספת חשבון המשתמש של השירות לתפקיד Secret Accessor ב-Secret Manager מופיעות במאמר ניהול הגישה לסודות.

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מאגר העובדים של Cloud Run מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הפיכת סוד לנגיש ל-Cloud Run

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

אתם יכולים להעניק גישה לסוד למאגר העובדים באמצעות Google Cloud המסוף, Google Cloud CLI או YAML כשאתם פורסים מאגר עובדים חדש או מעדכנים מאגר עובדים קיים ופורסים עדכון. לוחצים על הכרטיסייה הרצויה:

המסוף

  1. במסוף Google Cloud , נכנסים לדף Worker pools של Cloud Run:

    כניסה ל-Cloud Run

  2. לוחצים על Deploy container (פריסת קונטיינר) כדי להגדיר מאגר עובדים חדש. ממלאים את הדף של הגדרות מאגר העובדים הראשוני, ואז לוחצים על Container(s), Volumes, Networking, Security (מאגרים, אמצעי אחסון, רשת, אבטחה) כדי להרחיב את דף ההגדרות.

  3. אם אתם מגדירים מאגר עובדים קיים, לוחצים על מאגר העובדים ואז על Edit and deploy new revision (עריכה ופריסה של גרסה חדשה).

  4. פועלים לפי השלבים להרכבת הסוד כנפח או לחשיפת הסוד כמשתנה סביבה.

    • כדי לחשוף את הסוד כמשתנה סביבה:

      1. לוחצים על הכרטיסייה Container(s) (מאגרי תגים).
      2. בכרטיסייה Variables and Secrets (משתנים וסודות), לוחצים על Reference a secret (הפניה לסוד).
      3. בשדה Name 1, מזינים את השם של משתנה הסביבה.
      4. ברשימה Secret, בוחרים את הסוד שרוצים להשתמש בו.
      5. ברשימה גרסה 1, בוחרים את גרסת הסוד שאליה רוצים להפנות.
      6. לוחצים על סיום.
      7. לוחצים על יצירה או על פריסה.
    • כדי לטעון סוד כנפח:

      1. לוחצים על הכרטיסייה Volumes (אמצעי אחסון) ובוחרים באפשרות Add volume (הוספת אמצעי אחסון).
      2. ברשימה Volume type (סוג נפח), בוחרים באפשרות Secret (סוד).
      3. בשדה Volume name, מזינים שם או מאשרים את שם ברירת המחדל.
      4. ברשימה Secret, בוחרים את הסוד שרוצים להשתמש בו.
      5. בשדה נתיב 1, מזינים את שם הקובץ להרכבה.
      6. ברשימה Version 1, בוחרים את הגרסה של הסוד שאליה רוצים להפנות. כברירת מחדל, הגרסה האחרונה נבחרת. אם רוצים, אפשר לבחור גרסה ספציפית.
      7. לוחצים על סיום.
      8. עוברים לכרטיסייה Container(s) (מאגרים) כדי לטעון את הסוד למאגר.
      9. בכרטיסייה Volume mounts, לוחצים על Mount volume.
      10. ברשימה Name 1, בוחרים את שם הכרך.
      11. בשדה Mount path 1, מזינים את נתיב ההרכבה של הסוד הזה. זוהי הספרייה שבה ממוקמות כל הגרסאות של הסוד.
      12. לוחצים על סיום.
      13. לוחצים על יצירה או על פריסה.

gcloud

  • כדי לחשוף את הסוד כמשתנה סביבה כשפורסים מאגר עובדים, מריצים את הפקודה הבאה:

    gcloud beta run worker-pools deploy WORKER_POOL \
    --image IMAGE_URL \
    --update-secrets=ENV_VAR_NAME=SECRET_NAME:VERSION

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

    • WORKER_POOL: השם של מאגר העובדים.
    • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
    • ENV_VAR_NAME: השם של משתנה הסביבה שרוצים להשתמש בו עם הסוד.
    • SECRET_NAME: שם הסוד באותו פרויקט, לדוגמה mysecret.
    • VERSION: גרסת הסוד. משתמשים ב-latest כדי להוריד את הגרסה העדכנית, או במספר – לדוגמה, 2.
  • כדי לעדכן כמה סודות בו-זמנית, מפרידים בין אפשרויות ההגדרה של כל סוד באמצעות פסיק. הפקודה הבאה מעדכנת סוד אחד שמוטמע כנפח וסוד אחר שמוצג כמשתנה סביבתי. כדי לעדכן סודות קיימים, מריצים את הפקודה הבאה:

    gcloud beta run worker-pools deploy WORKER_POOL \
    --image IMAGE_URL \
    --update-secrets=PATH=SECRET_NAME:VERSION,ENV_VAR_NAME=SECRET_NAME:VERSION
  • כדי לנקות סודות קיימים ולאפשר גישה לסוד חדש למאגר העובדים, משתמשים בדגל --set-secrets:

    gcloud beta run worker-pools update WORKER_POOL \
    --set-secrets="ENV_VAR_NAME=SECRET_NAME:VERSION"

YAML

  1. אם אתם יוצרים מאגר עובדים חדש, דלגו על השלב הזה. אם אתם מעדכנים מאגר עובדים קיים, אתם צריכים להוריד את הגדרת ה-YAML שלו:

    gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. לסודות שנחשפים כמשתני סביבה:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          containers:
          - image: IMAGE_URL
            env:
            - name: ENV_VAR
              valueFrom:
                secretKeyRef:
                  key: SECRET_VERSION
                  name: SECRET_NAME

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

    • WORKER_POOL: השם של מאגר העובדים שלכם ב-Cloud Run.
    • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest
    • ENV_VAR: השם של משתנה הסביבה.
    • SECRET_VERSION: גרסת הסוד. משתמשים ב-latest כדי להוריד את הגרסה העדכנית, או במספר – לדוגמה, 2.
    • SECRET_NAME: שם הסוד, לדוגמה, mysecret.
  3. לסודות שמוצמדים כנתיבי קבצים:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          containers:
          - image: IMAGE_URL
            volumeMounts:
            - name: VOLUME_NAME
              mountPath: MOUNT_PATH
          volumes:
          - name: VOLUME_NAME
            secret:
              secretName: SECRET_NAME
              items:
              - key: SECRET_VERSION
                path: SECRET_NAME

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

    • WORKER_POOL: השם של מאגר העובדים שלכם ב-Cloud Run.
    • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
    • VOLUME_NAME: כל שם שרוצים לתת לנפח האחסון.
    • MOUNT_PATH: הנתיב היחסי שבו אתם מטמיעים את אמצעי האחסון. לדוגמה, /mnt/my-volume.
    • SECRET_NAME: שם הסוד, לדוגמה, mysecret.
    • SECRET_VERSION: גרסת הסוד. משתמשים ב-latest כדי להוריד את הגרסה העדכנית, או במספר – לדוגמה, 2.
  4. מחליפים את השירות בהגדרה החדשה שלו באמצעות הפקודה הבאה:

    gcloud run services replace service.yaml

הפניה לסודות מפרויקטים אחרים

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף Worker pools של Cloud Run:

    כניסה ל-Cloud Run

  2. לוחצים על Deploy container (פריסת קונטיינר) כדי להגדיר מאגר עובדים חדש. ממלאים את הדף של הגדרות מאגר העובדים הראשוני, ואז לוחצים על Container(s), Volumes, Networking, Security (מאגרים, אמצעי אחסון, רשת, אבטחה) כדי להרחיב את דף ההגדרות.

  3. אם אתם מגדירים מאגר עובדים קיים, לוחצים על מאגר העובדים ואז על Edit and deploy new revision (עריכה ופריסה של גרסה חדשה).

  4. פועלים לפי השלבים להרכבת הסוד כנפח או לחשיפת הסוד כמשתנה סביבה.

    • כדי לחשוף את הסוד כמשתנה סביבה:

      1. לוחצים על הכרטיסייה Container(s) (מאגרי תגים).
      2. בכרטיסייה Variables and Secrets (משתנים וסודות), לוחצים על Reference a secret (הפניה לסוד).
      3. בשדה Name 1, מזינים את השם של משתנה הסביבה.
      4. ברשימה Secret, לוחצים על Enter secret manually (הזנת סוד באופן ידני).
      5. מזינים את מזהה המשאב של הסוד בפורמט הבא:

        projects/PROJECT_NUMBER/secrets/SECRET_NAME
        

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

        • PROJECT_NUMBER במספר הפרויקט. Google Cloud הוראות מפורטות לאיתור מספר הפרויקט זמינות במאמר יצירה וניהול של פרויקטים.

        • SECRET_NAME: השם של הסוד ב-Secret Manager.

      6. ברשימה גרסה 1, בוחרים את גרסת הסוד שאליה רוצים להפנות.

      7. לוחצים על סיום.

      8. לוחצים על יצירה או על פריסה.

    • כדי לטעון סוד כנפח:

      1. לוחצים על הכרטיסייה Volumes (אמצעי אחסון) ובוחרים באפשרות Add volume (הוספת אמצעי אחסון).
      2. ברשימה Volume type (סוג נפח), בוחרים באפשרות Secret (סוד).
      3. בשדה Volume name, מזינים שם או מאשרים את שם ברירת המחדל.
      4. ברשימה Secret, לוחצים על Enter secret manually (הזנת סוד באופן ידני).
      5. מזינים את מזהה המשאב של הסוד בפורמט הבא:

        projects/PROJECT_NUMBER/secrets/SECRET_NAME
        

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

        • PROJECT_NUMBER במספר הפרויקט. Google Cloud הוראות מפורטות לאיתור מספר הפרויקט זמינות במאמר יצירה וניהול של פרויקטים.

        • SECRET_NAME: השם של הסוד ב-Secret Manager.

      6. בשדה נתיב 1, מזינים את שם הקובץ להרכבה.

      7. ברשימה Version 1, בוחרים את הגרסה של הסוד שאליה רוצים להפנות. כברירת מחדל, הגרסה האחרונה נבחרת. אם רוצים, אפשר לבחור גרסה ספציפית.

      8. לוחצים על סיום.

      9. עוברים לכרטיסייה Container(s) (מאגרים) כדי לטעון את הסוד למאגר.

      10. בכרטיסייה Volume mounts, לוחצים על Mount volume.

      11. ברשימה Name 1, בוחרים את שם הכרך.

      12. בשדה Mount path 1, מזינים את נתיב ההרכבה של הסוד הזה. זוהי הספרייה שבה ממוקמות כל הגרסאות של הסוד.

      13. לוחצים על סיום.

      14. לוחצים על יצירה או על פריסה.

gcloud

כדי להפנות לסוד כמשתנה סביבה, מריצים את הפקודה הבאה:

gcloud beta run worker-pools deploy WORKER_POOL \
--image IMAGE_URL \
--update-secrets=ENV_VAR_NAME=projects/PROJECT_NUMBER/secrets/SECRET_NAME:VERSION

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

  • WORKER_POOL: השם של מאגר העובדים.
  • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • PROJECT_NUMBER: מספר הפרויקט שבו נוצר הסוד.
  • SECRET_NAME: שם הסוד, לדוגמה, mysecret.
  • VERSION: גרסת הסוד. משתמשים ב-latest כדי להוריד את הגרסה העדכנית, או במספר – לדוגמה, 2.

YAML

  1. אם אתם יוצרים מאגר עובדים חדש, דלגו על השלב הזה. אם אתם מעדכנים מאגר עובדים קיים, אתם צריכים להוריד את הגדרת ה-YAML שלו:

    gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. לסודות שנחשפים כמשתני סביבה:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/secrets: SECRET_LOOKUP_NAME:projects/PROJECT_NUMBER/secrets/SECRET_NAME
        spec:
          containers:
          - image: IMAGE_URL
            env:
            - name: ENV_VAR
              valueFrom:
                secretKeyRef:
                  key: SECRET_VERSION
                  name: SECRET_LOOKUP_NAME

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

    • WORKER_POOL: השם של מאגר העובדים שלכם ב-Cloud Run.
    • SECRET_LOOKUP_NAME: כל שם עם תחביר תקין של שם סוד – לדוגמה, my-secret. יכול להיות שזה יהיה אותו שם כמו SECRET_NAME.
    • PROJECT_NUMBER: מספר הפרויקט שבו נוצר הסוד.
    • SECRET_NAME: שם הסוד, לדוגמה, mysecret.
    • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest
    • ENV_VAR: השם של משתנה הסביבה.
    • SECRET_VERSION: גרסת הסוד. משתמשים ב-latest כדי להוריד את הגרסה העדכנית, או במספר – לדוגמה, 2.
  3. לסודות שמוצמדים כנתיבי קבצים:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/secrets: SECRET_LOOKUP_NAME:projects/PROJECT_NUMBER/secrets/SECRET_NAME
        spec:
          containers:
          - image: IMAGE_URL
            volumeMounts:
            - name: VOLUME_NAME
              mountPath: MOUNT_PATH
          volumes:
          - name: VOLUME_NAME
            secret:
              secretName: SECRET_NAME
              items:
              - key: SECRET_VERSION
                path: SECRET_LOOKUP_NAME

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

    • WORKER_POOL: השם של מאגר העובדים שלכם ב-Cloud Run.
    • SECRET_LOOKUP_NAME: כל שם שתואם לתחביר של שם סוד תקין, לדוגמה, my-secret. יכול להיות זהה לערך של SECRET_NAME.
    • PROJECT_NUMBER: מספר הפרויקט שבו נוצר הסוד.
    • SECRET_NAME: שם הסוד, לדוגמה, mysecret.
    • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
    • VOLUME_NAME: כל שם שרוצים לתת לנפח האחסון.
    • MOUNT_PATH: הנתיב היחסי שבו אתם מטמיעים את אמצעי האחסון. לדוגמה, /mnt/my-volume.
    • SECRET_VERSION: גרסת הסוד. משתמשים ב-latest כדי להוריד את הגרסה העדכנית, או במספר – לדוגמה, 2.
  4. מחליפים את השירות בהגדרה החדשה שלו באמצעות הפקודה הבאה:

    gcloud run services replace service.yaml

הצגת הגדרות הסודות

כדי לראות את הגדרות הסודות הנוכחיות של מאגר העובדים ב-Cloud Run:

המסוף

  1. במסוף Google Cloud , עוברים לדף Cloud Run worker pools:

    כניסה לדף Cloud Run worker pools

  2. לוחצים על מאגר העובדים שרוצים לפתוח את הדף Worker pools details (פרטי מאגרי עובדים).

  3. לוחצים על עריכה ופריסה של גרסה חדשה.

  4. מאתרים את הגדרת הסודות בפרטי ההגדרה.

gcloud

  1. משתמשים בפקודה הבאה:

    gcloud beta run worker-pools describe WORKER_POOL
  2. מאתרים את הגדרת הסודות בתצורה שמוחזרת.

הסרת סודות ממאגר עובדים

אפשר להסיר סודות ממאגר עובדים באמצעות מסוף Google Cloud או ה-CLI של gcloud:

המסוף

  1. במסוף Google Cloud , נכנסים לדף Worker pools של Cloud Run:

    כניסה ל-Cloud Run

  2. בוחרים את מאגר העובדים מהרשימה ולוחצים על עריכה ופריסה של עדכון חדש.

  3. לוחצים על הכרטיסייה Container(s) (מאגרי תגים).

  4. כדי למחוק סודות שצורפו כנפח, בוחרים בכרטיסייה Volume mounts, מעבירים את מצביע העכבר מעל הסוד שרוצים להסיר ולוחצים על Delete.

  5. כדי למחוק סודות שנחשפו כמשתנה סביבתי, בוחרים בכרטיסייה Variables and secrets, מעבירים את מצביע העכבר מעל הסוד שרוצים להסיר ולוחצים על Delete.

  6. לוחצים על פריסה.

gcloud

אפשר להסיר את כל הסודות ממאגר העובדים או לציין סוד אחד או יותר להסרה:

  • כדי להסיר את כל הסודות, מריצים את הפקודה הבאה:
  gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL \
  --clear-secrets

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

  • WORKER_POOL: השם של מאגר העובדים.
  • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest.

  • כדי לציין רשימה של סודות להסרה, משתמשים בדגל --remove-secrets. הפקודה הבאה מסירה סוד אחד שצורף כנפח וסוד אחר שנחשף כמשתנה סביבה:

  gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL \
  --remove-secrets=ENV_VAR_NAME,SECRET_FILE_PATH

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

  • WORKER_POOL: השם של מאגר העובדים.
  • IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, למשל us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • ENV_VAR_NAME: השם של משתנה הסביבה.
  • SECRET_FILE_PATH: הנתיב המלא של הסוד. לדוגמה, /mnt/secrets/primary/latest, כאשר /mnt/secrets/primary/ הוא נתיב ההרכבה ו-latest הוא נתיב הסוד. אפשר גם לציין את נתיבי ההרכבה והסוד בנפרד:

    --set-secrets MOUNT_PATH:SECRET_PATH=SECRET:VERSION

שימוש בסודות בקוד

דוגמאות לגישה לסודות בקוד כמשתני סביבה מופיעות במדריך בנושא אימות משתמשי קצה, במיוחד בקטע טיפול בהגדרות רגישות באמצעות Secret Manager.

מגבלות

בקטעים הבאים מתוארות המגבלות שחלות על העלאת סודות.

נתיבים אסורים

  • ב-Cloud Run אי אפשר לטעון סודות בנתיבים /dev, /proc ו-/sys או בספריות המשנה שלהם.
  • ב-Cloud Run אי אפשר לטעון כמה סודות באותה נתיב, כי אי אפשר לטעון שני כרכים באותו מיקום.

סודות אזוריים

‫Cloud Run לא תומך בסודות אזוריים.

שינוי של ספרייה

אם הסוד מוטען כנפח ב-Cloud Run, והספרייה האחרונה בנתיב הטעינה של הנפח כבר קיימת, לא תהיה גישה לקבצים או לתיקיות בספרייה הקיימת.

לדוגמה, אם סוד בשם my-secret מותקן בנתיב /etc/app_data, כל התוכן בספרייה app_data יידרס, והקובץ היחיד שיוצג הוא /etc/app_data/my-secret.

כדי להימנע משכתוב של קבצים בספרייה קיימת, יוצרים ספרייה חדשה להרכבת הסוד, למשל /etc/app_data/secrets, כך שנתיב ההרכבה של הסוד יהיה /etc/app_data/secrets/my-secret.