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. نادیده گرفتن (زمان اجرا) - سوئیچ های موقت.

قوانین ادغام: «زیر برنده»، درگیری - تنها از طریق MR/تصویب.

مثال (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 در CI) است.

انواع، محدوده ها، زمینه های مورد نیاز، مقادیر پیش فرض.
«قوانین گارد» (نمی توان به 'retry> 5'، 'p95 _ target <50ms' تنظیم کرد).
بررسی خودکار در 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) مدل های تحویل پیکربندی

استاتیک (تصویر پخته شده): قابل اعتماد است، اما نیاز به راه اندازی مجدد دارد.
فشار/سازمان دیده بان :/عوامل sidecar دریافت به روز رسانی (جریان/نظرسنجی) و سیگنال نرم افزار.
نگه دار، در راه اندازی: ما یک عکس فوری در راه اندازی (ساده داغ مسیر).
کش/پروکسی لبه برای بارهای توزیع شده جغرافیایی.

نکته اصلی: اتمی بودن و نسخه بندی عکس های فوری، کنترل سازگاری و بازگشت سریع.

6) ابزار و نقش

فروشگاه های پیکربندی: Git (منبع حقیقت) + GitOps (Argo/Flux)، Parameter Store/Config Service.
مخازن مخفی: Vault، AWS Secrets Manager/SSM، اسرار GCP، Azure KV.
رمزگذاری: KMS/HSM، SOPS (سن/GPG/KMS)، اسرار مهر و موم شده، رمزگذاری حمل و نقل (خرک).
تحویل: CSI Secrets Store، Vault Agent Injector/Sidecar، init-containers.
پرچم ها/دینامیک: پلت فرم پرچم (شامل سوئیچ کشتن اضطراری).

7) رمزگذاری: مدل ها و شیوه ها

در حالت استراحت: کلید KMS از پروژه/محیط زیست، رمزگذاری پاکت.
در حمل و نقل: TLS/mTLS با احراز هویت متقابل.
در حال استفاده: رمزگشایی در صورت امکان، ترجیحا در حافظه/حافظه جانبی (بدون نوشتن روی دیسک).
سلسله مراتب کلید: ریشه (HSM) → KMS CMK → کلیدهای داده (DEK).
چرخش: تقویم (90/180 روز) + توسط رویداد (سازش کارمند/خروج).

8) مدیریت مخفی: الگوها

8. 1 GitOps + SOPS (عکس فوری استاتیک)

Git فقط متن رمز شده را ذخیره می کند.
رمزگشایی در CI/CD یا در یک خوشه (KMS/age).
کاربرد از طریق کنترل کننده (Flux/Argo) → Kubernetes Secret.

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

8. 2 خرک عامل انژکتور

حساب سرویس (JWT/SA) در Vault تأیید شده است.
Sidecar اعتبارات را در tmpfs و به روز رسانی در 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) Kubernetes: عملیات

ConfigMap - فقط داده های عمومی/غیر حساس.
مخفی - حساس (با base64 - رمزگذاری نیست ؛ Encryption at Rest for etcd) را فعال کنید.
حاشیه نویسی Checksum: راه اندازی مجدد هنگام تغییر پیکربندی.
کنترل پذیرش: ممنوعیت نصب اسرار نه از «لیست سفید»، ممنوعیت کلمه عبور «ساده» در ظاهر.
NetworkPolicy: محدود کردن دسترسی به ارائه دهندگان مخفی (Vault/CSI).

مثال چک سام (هلم)

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

10) سیاست های دسترسی (RBAC/ABAC)

کمترین امتیاز: خدمات فقط اسرار خود را می بیند ؛ دسترسی توسط فضای نام/برچسب/پیشوند.
تقسیم وظایف: ایجاد یک راز ≠ خواندن محتوا ؛ هر خواندن را بررسی کنید.
اعتبار موقت: ورود پویا (DB، ابر) با TTL و چرخش خودکار.
بخش بندی: تولید/مرحله در پروژه های مختلف/حساب/کلید های KMS.

11) حسابرسی، ورود به سیستم، مشاهده پذیری

سیاهههای مربوط به خواندن/صدور اسرار: چه کسی/چه زمانی/چه چیزی/کجا ؛ ارتباط با انتشارات و حوادث

معیارها: فرکانس تماس ها، اسرار منقضی شده، گواهینامه های منقضی شده، سهم اعتبار پویا.
رویدادهای امنیتی - سهمیه بیش از حد، ناهنجاری های IP/زمان، احراز هویت چندگانه شکست خورده است.

12) چرخش اسرار و گواهینامه ها

استاندارد کردن شرایط: کلید API - 90 روز، کلمه عبور DB - 30 روز، TLS serts - 60-90 روز.
Rotation outline: generation → test → double publication (grace) → switching → revolocation of old → verification.
قابلیت اطمینان: ورود دوگانه configs/secrets، سازگاری مشتری (قبول جدید + قدیمی).
PKI: خود CA یا ادغام با یک خارجی ؛ به طور خودکار محتوای mTLS را از طریق CSI/Vault به روز کنید.

13) پیکربندی پویا و پرچم های ویژگی

پارامترهای «داغ» (محدودیت ها، زمان بندی ها) را از پلت فرم سرویس/پرچم پیکربندی کنید.
حافظه پنهان محلی و چسبندگی (محاسبه نوع توسط هش)، کوتاه TTL.
نگهبانان SLO برای تغییر پارامترهای حساس (خودکار برگشت و سوئیچ کشتن).

14) ادغام با CI/CD و GitOps

Pre-commit/CI: خطوط مدار، بررسی های SOPS، ممنوعیت اسرار «برهنه» (اسکنرها: gitleaks/trufflehog).
Policy Gate: OPA/Conftest - پیکربندی بدون طرح/بدون حاشیه نویسی مالک/بدون برچسب های محیط را غیرفعال کنید.
تحویل مترقی: ارتقاء پیکربندی به عنوان مصنوعات (semver)، canary برای تغییر پارامترها.

حاشیه نویسی انتشار: چه کسی/چه پیکربندی/مخفی تغییر ؛ ارتباط سریع با p95/5xx

15) مثال ها

15. 1 سیاست OPA: ممنوعیت SG های باز در پیکربندی

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 روز

شامل نمودارها/اعتبار سنج برای پیکربندی ؛ شروع مجدد «configs» و جریان GitOps.
بالا بردن KMS و رمزگذاری: SOPS/اسرار مهر و موم شده/رمزگذاری در بقیه در etcd.
اسرار متن ساده را در CI (اسکنرها) ممنوع کنید، صاحبان/مصوبات را وارد کنید.

16-30 روز

تقسیم والتها: پیکربندی عمومی در مقابل حساس در مقابل اسرار.
پیاده سازی خرک/اسرار مدیر، مسیر تحویل (عامل/CSI/SOPS) را انتخاب کنید.
تنظیم چرخش اعتبارات TLS/DB/PSP ؛ داشبورد «طول عمر/انقضا».

31-60 روز

پیکربندی پویا و پرچم با SLO-gating و خودکار بازگشت.

سیاست های OPA/Conftest ؛ zero-trust (namespace/label-scoped access)

Game-day: شبیه سازی نشت مخفی و چرخش نیرو.

18) معیارهای بلوغ

٪ از اسرار تحت رمزگذاری و بدون دسترسی مستقیم از Git = 100٪.
پوشش پیکربندی/اعتبار 95٪ ≥.
میانگین زمان چرخش اسرار مهم (هدف: ساعت، نه روز).
سهم اعتبارات پویا (DB/cloud) 80٪ ≥.
0 حادثه به دلیل «اسرار ساده «/گواهینامه های منقضی شده.
MTTR خطای پیکربندی با برگشت <5 دقیقه.

19) نقش ها و فرآیندهای فرماندهی

پیکربندی مالک: مالک دامنه/طرح/سیاست.
امنیت: سیاست ها، سلسله مراتب کلیدی، ممیزی دسترسی.
پلت فرم/SRE: GitOps، عرضه/تزریق، تله متری.
تیم های برنامه: مصرف پیکربندی/مخفی، تست سازگاری.

20) نتیجه گیری

کانتور قابل اعتماد از تنظیمات و اسرار + GitOps + رمزگذاری + چرخش + طرح های سیاست. عمومی و مخفی را جدا کنید، همه چیز را رمزگذاری کنید، پیکربندی ها را به صورت اتمی و نسخه ای اعمال کنید، حقوق و طول عمر اعتبارات را به حداقل برسانید، چرخش ها و ممیزی ها را خودکار کنید. سپس تغییرات سریع و ایمن خواهند بود و خطر نشت و سقوط حداقل خواهد بود.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.