בדף הזה מובאת סקירה כללית על תוויות, ומוסבר איך להוסיף תוויות לסוד ואיך להציג ולעדכן תוויות שמצורפות לסוד.
מהן תוויות?
תווית היא צמד מפתח/ערך שאפשר להקצות לסודות ב-Secret Manager. Google Cloud הם עוזרים לכם לארגן את המשאבים האלה ולנהל את העלויות בקנה מידה נרחב, ברמת הפירוט שאתם צריכים. אפשר לצרף תוויות לכל משאב כדי לסנן את המשאבים לפי תוויות. המידע על התוויות מועבר למערכת החיוב, כך שתוכלו לפרט את החיובים לפי תוויות. בעזרת דוחות החיוב המובנים, אפשר לסנן ולקבץ את העלויות לפי תוויות משאבים. אפשר גם להשתמש בתוויות כדי להריץ שאילתות על ייצוא נתוני חיוב.
הדרישות לגבי תוויות
התוויות שמוחלות על משאב צריכות לעמוד בדרישות הבאות:
- אפשר להוסיף עד 64 תוויות לכל משאב.
- כל תווית צריכה להיות צמד מפתח/ערך.
- האורך המינימלי של המפתחות הוא תו אחד, והאורך המקסימלי הוא 63 תווים. המפתחות לא יכולים להיות ריקים. הערכים יכולים להיות ריקים, והאורך המקסימלי שלהם הוא 63 תווים.
- המפתחות והערכים יכולים להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. כל התווים צריכים להיות בקידוד UTF-8, ומותר להשתמש בתווים בינלאומיים. המפתחות צריכים להתחיל באות קטנה או בתו בינלאומי.
- החלק של המפתח בתווית חייב להיות ייחודי בתוך משאב יחיד. עם זאת, אפשר להשתמש באותו מפתח עם כמה משאבים.
המגבלות האלה חלות על המפתח והערך של כל תווית, ועל המשאבים Google Cloud הבודדים שיש להם תוויות. אין הגבלה על מספר התוויות שאפשר להחיל על כל המשאבים בפרויקט.
שימושים נפוצים בתוויות
ריכזנו כאן כמה תרחישי שימוש נפוצים בתוויות:
תוויות של צוות או מרכז עלויות: אפשר להוסיף תוויות שמבוססות על צוות או על מרכז עלויות כדי להבחין בין סודות ב-Secret Manager שנמצאים בבעלות של צוותים שונים (לדוגמה,
team:researchו-team:analytics). אפשר להשתמש בסוג הזה של תוויות לצורך הנהלת חשבונות או תקצוב.תוויות רכיבים: לדוגמה,
component:redis,component:frontend,component:ingestו-component:dashboard.תוויות של סביבה או שלב: לדוגמה,
environment:productionו-environment:test.תוויות של מדינות: לדוגמה,
state:active,state:readytodeleteו-state:archive.תוויות בעלות: משמשות לזיהוי הצוותים שאחראים על הפעולות, לדוגמה:
team:shopping-cart.
אנחנו לא ממליצים ליצור מספר גדול של תוויות ייחודיות, למשל לסימון חותמות זמן או ערכים נפרדים לכל קריאה ל-API. הבעיה בגישה הזו היא שאם הערכים משתנים לעיתים קרובות או אם יש מפתחות שמבלגנים את הקטלוג, קשה לסנן את המשאבים ולדווח עליהם בצורה יעילה.
תוויות ותגים
אפשר להשתמש בתוויות כאנוטציות שאפשר להריץ עליהן שאילתות לגבי משאבים, אבל אי אפשר להשתמש בהן כדי להגדיר תנאים במדיניות. תגים מאפשרים להגדיר תנאי לאישור או לדחייה של כללי מדיניות אם תג ספציפי מצורף או לא מצורף למשאב, וכך מספקים שליטה פרטנית בכללי המדיניות. מידע נוסף מופיע במאמר סקירה כללית על תגים.
יצירת סוד עם תוויות
כדי להוסיף תווית כשיוצרים את הסוד, פועלים לפי השלבים הבאים:
המסוף
-
נכנסים לדף Secret Manager במסוף Google Cloud .
-
בדף Secret Manager, לוחצים על Create secret.
-
בדף יצירת Secret, מזינים שם ל-Secret בשדה שם.
-
מזינים ערך לסוד (לדוגמה,
abcd1234). אפשר גם להעלות קובץ טקסט שמכיל את ערך הסוד באמצעות האפשרות העלאת קובץ. הפעולה הזו יוצרת באופן אוטומטי את גרסת הסוד. -
עוברים לקטע תוויות ולוחצים על הוספת תווית.
-
מזינים את המפתח ואת הערך התואם כדי ליצור תווית.
-
לוחצים על Create secret (יצירת סוד).
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- SECRET_ID: המזהה של הסוד.
- KEY: המפתח של התווית.
- VALUE: הערך של התווית.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud secrets create SECRET_ID --labels=KEY=VALUE
Windows (PowerShell)
gcloud secrets create SECRET_ID --labels=KEY=VALUE
Windows (cmd.exe)
gcloud secrets create SECRET_ID --labels=KEY=VALUE
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- SECRET_ID: המזהה של הסוד.
- KEY: המפתח של התווית.
- VALUE: הערך של התווית.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels
גוף בקשת JSON:
{
"labels": {
"KEY": "VALUE"
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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?secretId=SECRET_ID?update_mask=labels"
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?secretId=SECRET_ID?update_mask=labels" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"labels": {
"key": "value"
},
"etag": "\"161477e6071da9\""
}
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 במסוף Google Cloud .
-
בדף Secret Manager, בוחרים את הסוד שרוצים לראות את התוויות שלו.
-
אם חלונית המידע סגורה, לוחצים על הצגת חלונית המידע כדי להציג אותה.
-
בחלונית, לוחצים על הכרטיסייה תוויות. כל התוויות שנוספו לסוד מוצגות.
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- SECRET_ID: המזהה של הסוד.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud secrets describe SECRET_ID
Windows (PowerShell)
gcloud secrets describe SECRET_ID
Windows (cmd.exe)
gcloud secrets describe SECRET_ID
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- SECRET_ID: המזהה של הסוד.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID
גוף בקשת JSON:
{}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X GET \
-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?secretId=SECRET_ID"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"labels": {
"key": "value"
},
"etag": "\"161477e6071da9\""
}
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 במסוף Google Cloud .
-
בוחרים את הסוד שרוצים לערוך.
-
פותחים את חלונית המידע ולוחצים על הכרטיסייה תוויות.
-
מעדכנים את הערך הקיים של התווית ולוחצים על שמירה.
אפשר גם למחוק תווית קיימת או להוסיף תווית חדשה. כדי לערוך את המפתח של תווית, מוסיפים תווית חדשה עם אותו שם מפתח, ואז מוחקים את התווית הישנה.
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- SECRET_ID: המזהה של הסוד.
- KEY: המפתח של התווית.
- VALUE: הערך של התווית.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud secrets update SECRET_ID --update-labels=KEY=VALUE
Windows (PowerShell)
gcloud secrets update SECRET_ID --update-labels=KEY=VALUE
Windows (cmd.exe)
gcloud secrets update SECRET_ID --update-labels=KEY=VALUE
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- SECRET_ID: המזהה של הסוד.
- KEY: המפתח של התווית.
- VALUE: הערך של התווית.
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels
גוף בקשת JSON:
{
"labels": {
"KEY": "VALUE"
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \
-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?secretId=SECRET_ID?update_mask=labels"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"labels": {
"key": "value"
},
"etag": "\"161477e6071da9\""
}
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 במסוף Google Cloud .
-
בוחרים את הסוד שרוצים לערוך.
-
פותחים את חלונית המידע ולוחצים על הכרטיסייה תוויות.
-
לוחצים על מחיקה כדי להסיר את התוויות שכבר לא צריך.
-
לוחצים על Save.
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- SECRET_ID: המזהה של הסוד.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud secrets update SECRET_ID --clear-labels
Windows (PowerShell)
gcloud secrets update SECRET_ID --clear-labels
Windows (cmd.exe)
gcloud secrets update SECRET_ID --clear-labels
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- SECRET_ID: המזהה של הסוד.
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels
גוף בקשת JSON:
{
"labels": {}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \
-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?secretId=SECRET_ID?update_mask=labels"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"etag": "\"161477e6071da9\"",
"labels": {}
}
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.