GH GambleHub

ניהול תצורות וסודות

לנהל תצורות וסודות

1) למה אתה צריך את זה

תצורות וסודות הם ”הדם” של פלטפורמת הייצור. שגיאה בתצורה נופלת ל-p95, הסוד שהודלף הוא תקרית P1. המטרה היא ליצור הגדרה/סוד:
  • צפוי (מזימות, אימות, גרסאות).
  • מאובטח (הצפנה, זכויות מינימום, סיבוב).
  • מנוהל (GitOps, ביקורת חשבונות, רולבקס).
  • דינמי שבו הוא מוצדק (דגלים מאפיינים, פרמטריזציה של גבולות).

2) סיווג חפצים

תצורות ציבוריות: מאפיינים, סף, פסקי זמן, דגלים (ללא סודות).
הגדרות רגישות: פרמטרים המשנים את ההתנהגות של נתיבים קריטיים (לדוגמה, מגבלות תשלום).
סודות: סיסמאות/מפתחות/אסימונים/תעודות/חומרי הצפנה.
חפצי אמון: תעודות שורש/ביניים, מדיניות PKI, מפתחות KMS.

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

3) היררכיית הגדרות

לבנות ”פירמידה” של שכבות:

1. ברירת המחדל הגלובלית (org-wide).

2. סביבה (”prod/stage/dev”).

3. אזור ('Eu-central-1', 'us-east-1').

4. דייר/מותג (עבור דיירים רבים).

5. שירות (מיקרו-רוויס ספציפי).

6. מעקף (זמן ריצה) - מתגים זמניים.

כללי מיזוג: ”מתחת לניצחונות”, סכסוך - רק באמצעות מר/אישור.

דוגמה (YAML)

yaml defaults:
http:
timeout_ms: 800 retry: 2 prod:
http:
timeout_ms: 1200 service: payments-api overrides:
eu-central-1:
http:
timeout_ms: 1500

4) מזימות ואימות

כל הגדרה היא חוזה עם סכימה (JSON Schema/OPA/validators in CI).

סוגים, טווחים, שדות דרושים, ערכי ברירת מחדל.
"כללי שמירה" (לא ניתן להגדיר "retry> 5", "p95 _ target <50 ms').
בדיקה אוטומטית ב ־ CI וכאשר היא מיושמת (קבלה ־ webhook/KRM).

תרשים JSON

json
{
"type":"object",
"properties":{
"http":{"type":"object","properties":{"timeout_ms":{"type":"integer","minimum":100,"maximum":10000},"retry":{"type":"integer","minimum":0,"maximum":5}},"required":["timeout_ms"]},
"feature_flags":{"type":"object","additionalProperties":{"type":"boolean"}}
},
"required":["http"]
}

5) דגמי משלוחים מוגדרים

סטטי (תמונה אפויה): אמין, אבל דורש הפעלה מחדש.
Push/Watch :/Sidecar סוכנים מקבלים עדכונים (זרם/סקר) ומסמנים ליישום.
משכו בסטארט-אפ: אנחנו מקבלים תמונה בסטארט-אפ (לפשט את השביל החם).
מטמון קצה/פרוקסי עבור עומסים Geo מבוזר.

הדבר העיקרי: אטומיזציה ומיזוג של תמונות, בקרת תאימות וחזרה מהירה.

6) כלים ותפקידים

חנויות קונפיג: Git (מקור האמת) + GitOps (ארגו/שטף), Farmeter Store/Config Service.
מאגרים סודיים: כספת, מנהל סודות AWS/SSM, סודות GCP, Azure KV.
הצפנה: KMS/HSM, SOPS (גיל/GPG/KMS), סודות אטומים, הצפנת מעבר (כספת).
חנות הסודות של המז "פ, סוכן הכספת מזריק/סידקר, מכלי כניסה.
דגלים/דינמיקה: פלטפורמת דגל (incl. merror kill-dynamics).

7) הצפנה: מודלים ופרקטיקות

במנוחה: מפתחות KMS של הפרוייקט/סביבה, הצפנת מעטפה.
בטרנזיט: TLS/mTLS עם אימות הדדי.
בשימוש: פענוח מאוחר ככל האפשר, רצוי בתהליך זיכרון/סידקר (ללא כתיבה לדיסק).
היררכיית מפתח: root (HSM) * KMS CMK # מפתחות נתונים (DEK).
סיבוב: לוח שנה (90/180 ימים) + על ידי אירוע (פשרת עובדים/עזיבה).

8) ניהול סודי: דפוסים

8. 1 GitOps + SOPS (צילום סטטי)

Git מאחסן רק צופן טקסט.
פענוח ב CI/CD או על אשכול (KMS/Age).
יישום באמצעות בקר (Flux/Argo) # קוברנטס סיקרט.

yaml apiVersion: v1 kind: Secret metadata: { name: psp-keys, namespace: payments }
type: Opaque data:
apiKey: ENC[AES256_GCM,data:...,sops]

8. מזריק סוכן כספת 2

חשבון השירות (JWT/SA) מאומת בכספת.
סידקר מכניס קרדיטים ל-TTL ועדכונים.
תמיכה בקרדיטים דינמיים (DB, ענן - בידוד וטווח קצר).

yaml annotations:
vault. hashicorp. com/agent-inject: "true"
vault. hashicorp. com/role: "payments-api"
vault. hashicorp. com/agent-inject-secret-db: "database/creds/payments"

8. 3 חנות סודות CSI

תעלה את הסוד כנפח, הסיבוב שקוף.
עבור PKI - חידוש אוטומטי של תעודות/מפתחות.

9) קוברנטס: פעולות

הגדרה - מידע ציבורי/חסר רגישות בלבד.
סוד - רגיש (עם base64 - לא הצפנה; אפשר הצפנה במנוחה עבור etcd).
צ 'קסום אנוטציות: מחדש פריסה בעת שינוי ההגדרות.
בקרת כניסה: איסור על גיבוש סודות שלא מתוך ”הרשימה הלבנה”, איסור על סיסמאות ”פשוטות” במניפסטים.
מדיניות ניירות ערך: הגבלת הגישה לספקים סודיים (כספת/CSI).

Checksum דוגמה (הלם)

yaml annotations:
checksum/config: {{ include (print $.Template. BasePath "/configmap. yaml"). sha256sum }}

10) מדיניות גישה (RBAC/ABAC)

זכות מינימלית: השירות רק רואה את סודותיו; גישה על ידי שם/תווית/קידומת.
חובות מפוצלות: יצירת תוכן קריאה סודי; ביקורת כל קריאה.
קרדיטים זמניים: לוגינס דינמי (DB, ענן) עם TTL וסיבוב אוטומטי.
מקטע: prod/stage בפרוייקטים שונים/חשבונות/KMS keys.

11) ביקורת, כריתת עצים, תצפית

יומנים של קריאה/הנפקת סודות: מי/מתי/מה/איפה; מתאם עם שחרור ותקריות.
מדדים: תדירות השיחות, סודות שפג תוקפם, תעודות שפג תוקפן, שיתוף נקודות זכות דינמיות.
אירועים ביטחוניים - מכסה חרגה, אנומליות IP/זמן, אימות כושל מרובה.

12) סבב של סודות ותעודות

תקן את התנאים: מפתחות API - 90 ימים, סיסמאות DB - 30 ימים, סריטי TLS - 60-90 ימים.
מתווה סיבוב: generation # test # double publishing (grace) _ transforming ach influstriation of old ach image.
אמינות: כניסה כפולה של הגדרות/סודות, תאימות לקוח (קבל חדש + ישן).
CA או אינטגרציה עם אחד חיצוני; עדכון אוטומטי של תוכן mTLS באמצעות CSI/Vault.

13) תצורות דינמיות ודגלי תכונה

קח פרמטרים ”חמים” (גבולות, פסקי זמן) משירות ההגדרות/פלטפורמת הדגל.
מטמון מקומי ודביקות (חישוב של הווריאנט על ידי חשיש), TTL קצר.
שומרי SLO לשנות פרמטרים רגישים (אוטומטי rollback ו-kill-switch).

14) אינטגרציה עם CI/CD ו ־ GitOps

טרום-התחייבות/CI: צירי מעגל, בדיקות SOPS, איסור על סודות ”עירומים” (סורקים: gitleaks/trafflehog).
שער מדיניות: OPA/Confest - סתימת תצורות ללא סכימה/ללא הערות בעלים/ללא תוויות סביבה.
משלוח מתקדם: קידום הגדרות כחפצים (סמבר), קנרית לשינוי פרמטרים.
שחרר הערות: מי/איזו הגדרה/סוד השתנה; מתאם מהיר עם p95/5xx.

15) דוגמאות

15. 1 מדיניות אופ "א: Banning Open SGS בקונפיג

rego package policy. config

deny[msg] {
input. kind == "SecurityGroupRule"
input. cidr == "0. 0. 0. 0/0"
input. port = = 5432 msg: = "Postgres open internet banned"
}

15. 2 דוגמה לתמונת תצורה (ממולכדת)

yaml version: 1. 12. 0 owner: payments-team appliesTo: [ "payments-api@prod" ]
http:
timeout_ms: 1200 retry: 2 withdraw:
limits:
per_txn_eur: 5000 per_day_eur: 20000 flags:
new_withdrawal_flow: false

15. 3 כספת - זיכויי בסיס נתונים דינמיים

hcl path "database/creds/payments" {
capabilities = ["read"]
}
role issues user/password with TTL = 1h and auto-rollover

16) אנטי דפוסים

סודות ב Git בטקסט ברור/ב Helm/משתנים Ansible ללא הצפנה.
אחד ”מגה סודי” לכל השירותים/סביבות.
אסימונים שנמשכו זמן רב ללא TTL/סיבוב; תעודות ”אלמוות”.
הגדרות דינמיות ללא סכימות/אימות וללא שינויים בביקורת.
אין הצפנה במנוחה עבור etcd/KMS ורשת שאינה mTLS.
עריכה ידנית של תצורות במוצר (עקיפה של GitOps).
גישה למפתחים לסודות מסחריים ”ליתר ביטחון”.

17) רשימת מימושים (0-60 יום)

0-15 ימים

כלול דיאגרמות/מאשרים עבור תצורות; התחל ריפו ”תצורות” וזרם GitOps.
העלה KMS והצפנה: SOPS/אטום סודות/הצפנה במנוחה etcd.
אוסר על שמירת סודות CI (סורקים), הזן בעלים/אישורים.

16-30 ימים

מחלקים כספות: תצורות ציבוריות נגד רגישות נגד סודות.
יישום מנהל כספת/סודות, בחר את נתיב המשלוח (סוכן/CSI/SOPS).
הגדרת הסיבוב של קרדיטים TLS/DB/PSP; לוחות מחוונים ”תוחלת חיים/פגה”.

31-60 ימים

הגדרות ודגלים דינמיים עם SLO-Gating וגלגול אוטומטי.
מדיניות אופ "א/קונסטלציה; אפס-אמון (namespace/label-scoped access).
יום המשחק: סימולציה של דליפה סודית וסיבוב כוח.

18) מדדי בגרות

% של סודות תחת הצפנה וללא גישה ישירה Git = 100%.
כיסוי ההגדרות/אימות ל- 95%.
זמן ממוצע לסובב סודות קריטיים (יעד: שעות, לא ימים).
נתח הקרדיטים הדינמיים (DB/Cloud) הוא 80%.
0 תקריות בשל ”סודות פשוטים ”/תעודות פג תוקף.
MTTR על שגיאת הגדרות עם rollback <5 דקות.

19) תפקידי פיקוד ותהליכים

בעל הגדרות: Domain/Schema/Policy.
מדיניות, היררכיית מפתח, ביקורת גישה.
פלטפורמה/SRE: GitOps, אספקה/הזרקה, טלמטריה.
קבוצות אפליקציה: תצורה/צריכה סודית, מבחני תאימות.

20) מסקנה

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

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

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