בדף הזה מוסבר תהליך הסינון של סודות וגרסאות של סודות ב-Secret Manager. בסביבות עם סודות רבים, סינון עוזר לזהות במהירות סודות או גרסאות ספציפיים בלי לגלול ידנית בכל הרשימה. אפשר לסנן לפי קריטריונים כמו תוויות, תאריכי יצירה או דפוסים ספציפיים בשמות של סודות, וכך לנהל בצורה ממוקדת קבוצות ספציפיות של סודות.
ב-Secret Manager, אפשר לסנן סודות וגרסאות של סודות באמצעות האפשרות Filter במסוף Google Cloud , או על ידי ציון קריטריוני סינון בקריאה ל-API. ב-Google Cloud CLI, אפשר לסנן סודות וגרסאות של סודות על ידי הוספת מחרוזת filter כשמציגים את רשימת הסודות.
סינון סודות
כדי לסנן סוד, משתמשים באחת מהשיטות הבאות:
המסוף
-
נכנסים לדף Secret Manager במסוף Google Cloud .
-
בטבלה Secrets (סודות), לוחצים על השדה Filter (מסנן).
-
בוחרים מאפיין של מסנן ואת הערך המתאים לו, לדוגמה
Location:asia-east1.הטבלה מסוננת אוטומטית על סמך הערכים שהוזנו. התוצאות ממוינות לפי שם בסדר עולה.
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- FILTER: מחרוזת המסנן, לדוגמה
name:asecret OR name:bsecret. ב-CLI של gcloud יש גם תמיכה בביטויים רגולריים, למשלname ~ "secret_ab.*".
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud secrets list --filter="FILTER"
Windows (PowerShell)
gcloud secrets list --filter="FILTER"
Windows (cmd.exe)
gcloud secrets list --filter="FILTER"
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- FILTER: מחרוזת הסינון. המסננים מוגדרים כפרמטר של מחרוזת השאילתה
filterוחייבים להיות מקודדים בכתובת ה-URL. לדוגמה, המסנןname:asecret OR name:bsecretיקודד לכתובת URL כ-name%3Aasecret+OR+name%3Absecret. אין תמיכה בביטויים רגולריים ב-API.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?filter=FILTER
גוף בקשת 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?filter=FILTER"
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?filter=FILTER" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"secrets": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
"createTime": "2024-09-02T07:14:00.281541Z",
"etag": "\"16211dd90b37e7\""
}
]
}
סינון גרסה של סוד
כדי לסנן גרסה של סוד:
-
במסוף Google Cloud , בוחרים סוד כדי לגשת לגרסאות שלו, ואז משתמשים באפשרות Filter בטבלה Versions.
-
אם אתם משתמשים ב-Google Cloud CLI או ב-Secret Manager API, צריך לכלול מחרוזת
filterכשמציגים רשימה של גרסאות סודות.
דוגמאות למסננים
| תרחיש שימוש | מסנן |
|---|---|
סודות שהשם שלהם מכיל את מחרוזת המשנה mysecret |
name:mysecret |
| סודות עם תווית ספציפית | labels.environment=production |
| סודות שנוצרו בטווח תאריכים/שעות | create_time<2021-01-01T06:00:00Z AND create_time>2021-01-01T01:00:00Z |
| סודות עם שכפול אוטומטי | replication.automatic:* |
| סודות עם שכפול בניהול המשתמש, אבל לא מאוחסנים באף אחד מהאזורים שצוינו | replication.user_managed.replicas.location:* AND NOT replication.user_managed.replicas.location:(us-central1 OR us-east1) |
| סודות שמוצפנים באמצעות מפתחות CMEK | replication.user_managed.replicas.customerManagedEncryption:* |
| סודות שמוצפנים באמצעות מפתח CMEK ספציפי | replication.user_managed.replicas.customerManagedEncryption.kmsKeyName=projects/p/locations/us-central1/keyRings/kr/cryptoKeys/my-cmek-key |
| סודות ללא תקופת רוטציה | NOT rotation.next_rotation_time:* |
| סודות עם תקופת רוטציה של יותר מ-30 ימים | rotation.rotation_period>259200s |
| סודות עם תפוגה מוגדרת | expire_time:* |
| סודות שתוקף שלהם יפוג לפני תאריך מסוים | expire_time<2021-07-31 |
| גרסאות שמופעלות או מושבתות | state:(ENABLED OR DISABLED) |
| גרסאות שהושמדו, הושמדו אחרי תאריך | state:DESTROYED AND destroy_time>2021-01-01 |
תחביר של מסננים
תחביר המסנן מורכב מביטוי בשדה אחד או יותר של האובייקטים שמסננים.
אפשר להשתמש באופרטורים הבאים של ביטויים.
| אופרטור | תיאור |
|---|---|
= |
שוויון. |
> |
גדול מ-. |
< |
פחות מ. |
>= |
גדול מ- או שווה ל- |
<= |
קטן מ- או שווה ל-. |
!=-NOT |
אי-שוויון. הביטויים הבאים שקולים:name!="topsecret"-name="topsecret"NOT name="topsecret"
|
: |
בלימה. זוהי התאמה של מחרוזת משנה שלא תלויה באותיות רישיות.
לדוגמה, |