בדף הזה מוסבר איך להשמיד גרסה של סוד. במצב השמדה, התוכן של גרסת הסוד נמחק. השמדה של גרסת סוד היא פעולה בלתי הפיכה. אחרי שגרסה נמחקת, אי אפשר לגשת לנתונים הסודיים או לשחזר את הגרסה למצב אחר.
לפני שמשמידים גרסה של סוד, כדאי להשבית אותה קודם ולבחון את התנהגות האפליקציה. אם נתקלים בבעיות לא צפויות, אפשר להפעיל מחדש את גרסת הסוד.
כשמשביתים או משמידים סוד או גרסת סוד, לוקח זמן עד שהשינוי מתעדכן במערכת. במקרה הצורך, אפשר לבטל את הגישה לסוד. השינויים בהרשאות ב-IAM מתעדכנים תוך שניות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להשמדת גרסה של סוד, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Secret Manager Secret Version Manager (roles/secretmanager.secretVersionManager) בסוד.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
השמדת גרסה של סוד
כדי להשמיד גרסה של סוד, משתמשים באחת מהשיטות הבאות:
המסוף
-
נכנסים לדף Secret Manager במסוף Google Cloud .
-
בדף Secret Manager, לוחצים על סוד כדי לגשת לגרסאות שלו.
-
בדף הפרטים של הסוד, בכרטיסייה Versions (גרסאות), בוחרים את גרסת הסוד שרוצים להשמיד.
-
לוחצים על פעולות ואז על השמדה.
-
בתיבת הדו-שיח לאישור שמופיעה, מזינים את מזהה הסוד כדי לאשר, ואז לוחצים על השמדת הגרסאות שנבחרו.
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- VERSION_ID: שם המשאב של גרסת הסוד
- SECRET_ID: מזהה הסוד
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID
Windows (PowerShell)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID
Windows (cmd.exe)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט Google Cloud
- SECRET_ID: מזהה הסוד
- VERSION_ID: המזהה של גרסת הסוד
ה-method של ה-HTTP וכתובת ה-URL:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:destroy
גוף בקשת JSON:
{}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:destroy"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:destroy" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID",
"createTime": "2024-09-02T07:16:34.566706Z",
"destroyTime": "2024-09-04T06:29:01.893743728Z",
"state": "DESTROYED",
"etag": "\"1621454a37ce7f\""
}
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את Secret Manager C# SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Secret Manager Go SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Secret Manager Java SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Secret Manager Node.js SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב-Google Cloud ולהתקין את Secret Manager PHP SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Python ולהתקין את Secret Manager Python SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Secret Manager Ruby SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
השמדה מושהית של גרסאות סוד
אדמין של Secret Manager יכול להגדיר השמדה מושהית של גרסאות סוד על ידי הגדרת התכונה Delay secret version destroy בסוד. אם התכונה הזו מופעלת, גרסת הסוד לא נמחקת מיד כשמבקשים זאת. במקום זאת, גרסת הסוד מושבתת ומתוזמנת להשמדה בתאריך מאוחר יותר. במהלך התקופה הזו, אדמין של Secret Manager יכול לשחזר את גרסת הסוד.