GH GambleHub

السياسة كمدونة

1) ما يعتبر «سياسة»

السياسة هي قاعدة حتمية تجيب على السؤال «يمكن/لا يمكن» (أو «كيف يمكن بالضبط») بالنظر إلى السياق:
  • الوصول/الإذن: RBAC/ABAC، ReBAC، تصدير البيانات، زيادة (MFA).
  • أمن البنية التحتية: التحكم في القبول Kubernetes، الصورة/السياسة السرية، قواعد الشبكة.
  • الامتثال والخصوصية: إدارة الموافقة، ووضع علامات PII، وأيام الإبلاغ المحلية، والقيود الجغرافية.
  • التكوينات والجودة: «رفض: أحدث،» حدود الموارد، علامات الموارد الإلزامية (السحابة).
  • البيانات و ML: حظر التدريب على المجموعات دون موافقة، وإخفاء الهوية، وميزانيات DP، ونسب البيانات الثابتة.

2) نموذج PaC المعماري

PAP (نقطة إدارة السياسات): عمليات المستودع والإدارة (MR/PR، استعراض، نسخة).
PDP (نقطة قرار السياسة): المحرك الذي يحسب قرار السياسة (OPA، محرك الأرز، مترجم أصلي).
PEP (نقطة إنفاذ السياسة): نقطة التطبيق (بوابة API، إدارة خطاف الويب في K8s، محول ETL، SDK).
PIP (نقطة معلومات السياسة): مصادر السمات/الحقائق: IdP، أدلة الموارد، مستودع البيانات، معدل المخاطر.
سجل القرار/مراجعة الحسابات: سجلات الحلول غير القابلة للتغيير (لتحليل الحوادث والامتثال لها).

الدفق: طلب → شكل PEP سياق → حقائق تحميل PDP (PIP) → يحسب الحل → PEP ينطبق (السماح/الرفض/التحرير) → log/metrics.

3) الأدوات والمجالات

OPA/Rego هو محرك ولغة عالميان للسياسات التصريحية (إدارة خطاف الويب في K8s: Gatekeeper، في CI - Conftest، في API - sidecar/service).
Kyverno - سياسات إعلانية لـ Kubernetes في YAML، التصحيح/التحقق/التوليد.
Cedar (AWS/portable) هي لغة سياسة تركز على من فوق الإذن.
IAM السحابي (AWS/GCP/Azure) - سياسات الموارد السحابية (يفضل التحقق من PaC الثابت وفي خطط IaC).
مخصص - DSL/قواعد على JSON/SQL للتفاصيل (على سبيل المثال، امتثال ML).

4) دورة حياة السياسة

1. تعريف الهدف والنطاق: «حظر تحميل الحاويات ذات نقاط الضعف العالية/الحرجة».
2. إضفاء الطابع الرسمي في الرمز: Rego/Cedar/YAML.
3. الاختبارات: جداول الحقيقة، الحالات السلبية، على أساس الملكية.
4. فحص CI: بطانة، وحدة، تكامل على بيانات/طلبات وهمية.
5. الإصدار والتوزيع: النشر في حزمة، التوقيع، التسليم إلى PDP/edge.
6. المراقبة: معدل الضرب، زمن الكمون p95/p99، رفض المشاركة، لوحات القيادة العائمة.
7. الاستثناءات/الإعفاءات: الوقت/الحجم المحدود، مراجعة الحسابات والمملوكة.
8. إعادة التشكيل والأرشيف: النسخ، التوافق، الهجرات.

5) التخزين والتوزيع

إعادة التخطيط: "السياسات/< المجال >/< السياسة> .rego" cedar "yaml'،" الاختبارات/"، "الحزم/"،" المخططات/".
Versioning: semver and «policy _ version» in PDP responses.
حزم - حزم سياسات مضغوطة + مخططات + تكوينات، موقعة (أمن سلسلة التوريد).
التوزيع: سحب (PDP يسحب من registry/S3) أو دفع (وحدة التحكم ترسل).
التقييم الجزئي: يتوقع سياسات التنفيذ السريع في المحيط.

6) نموذج البيانات والمخططات

عقد السياق الواحد: 'الموضوع'، 'المورد'، 'الإجراء'، 'env'، 'القانوني'.
JSON-Schema/Protobuf: التحقق من صحة النماذج الفعلية ؛ عدم تطابق المخطط - سبب «إنكار → غير محدد».
تطبيع السمات: أسماء موحدة (على سبيل المثال، «مستأجر _ معرف»، «مخاطرة _ مستوى»، «pii _ tags'،» صورة. vulns ').

7) الأداء والموثوقية

مخبأ الحل: المفتاح '(subject_hash، resource_key، العمل، policy_version)' ؛ TTL قصيرة، الإعاقة حسب الحدث (تغيير الدور/العلامة).
الحقائق المحلية: لا تسحب PIPs الثقيلة على المسار الساخن - لقطات مزامنة.
فشل فتح مقابل فشل مغلق: أمن المجال الحرج - فشل مغلق ؛ بالنسبة لـ UX-critical - التدهور (الطبعة بدلاً من الإنكار).
ميزانية الكمون: الهدف «<3-10 مللي ثانية» لكل حل في ذاكرة PDP، «<30-50 مللي ثانية» باستخدام PIP.

8) إدارة الاستثناء (الإعفاءات)

الوقت المحدود (مثلاً) 7 أيام)، مع المالك الإلزامي والعقل.
مقرونة بما يلي: حسب الموارد/المشاريع/مساحة الأسماء ؛ حظر عالمي «إلى الأبد».
مراجعة الحسابات والتذكيرات: تقارير عن الإعفاءات المنتهية الصلاحية والإغلاق التلقائي/التصعيد.

9) المقاييس وقابلية الرصد

تغطية السياسات: نسبة المسارات/نقاط النهاية التي تحميها السلطة الفلسطينية.
معدل انتظار اتخاذ القرار/نظام تحديد الكميات/الأخطاء.
Deny Rate and False Positive/Culture (via dry-run/shadow mode).
الانجراف: التناقض بين الخطة (IaC) والحقيقة (مباشر)، بين حلول SDK والخادم.
Аудит: 'decision _ id, policy_ids, version, attributes_digest, effect, reason'.

10) الأنماط المضادة

السياسات «صلبة» في رمز بدون إصدارات واختبارات.
عدم وجود مخططات/تصديق السياق → قرارات لا يمكن التنبؤ بها.

ملف واحد متجانس "ميجا. ريغو"

لا توجد عملية استثنائية → الجولات اليدوية والفوضى.
تطبيق وقت التشغيل فقط دون تغيير اليسار في CI (الإخفاقات المتأخرة).
الآثار الجانبية الخفية في السياسة (ينبغي أن تكون السياسة العامة وظيفة خالصة).

11) أمثلة

11. 1 Rego (OPA) - حرم الصور الضعيفة في K8s

rego package k8s. admission. vulns

deny[msg] {
input. kind. kind == "Pod"
some c img:= input. request. object. spec. containers[c].image vulns:= data. registry. scan [img] # actual-snapshot from PIP count ({v     v:= vulns[_]; v.severity == "CRITICAL"}) > 0 msg:= sprintf("image %s has CRITICAL vulns", [img])
}

11. 2 Rego: بيانات التصدير من MFA و IP الأبيض فقط

rego package api. export

default allow = false

allow {
input. action == "export"
input. subject. mfa_verified == true net. cidr_contains("203. 0. 113. 0/24", input. env. ip)
}

11. 3 الأرز: اقرأ فقط للمالك أو أعضاء الفريق

cedar permit(
principal in Group::"team_members",
action in [Action::"read"],
resource in Photo::"")
when { resource. owner == principal          resource. team_id in principal. team_ids };

11. 4 كيفيرنو (YAML): الحظر ': الأحدث' والإلزامي. الموارد

yaml apiVersion: kyverno. io/v1 kind: ClusterPolicy metadata:
name: disallow-latest-and-require-limits spec:
validationFailureAction: Enforce rules:
- name: disallow-latest match: { resources: { kinds: ["Pod"] } }
validate:
message: "Image tag 'latest' is not allowed."
pattern:
spec:
containers:
- name: ""
image: "!:latest"
- name: require-limits match: { resources: { kinds: ["Pod"] } }
validate:
message: "resources. limits.{cpu,memory} required."
pattern:
spec:
containers:
- resources:
limits:
cpu: "?"
memory: "?"

11. 5 Conftest in CI for Terraform Plan

bash terraform plan -out tf. plan terraform show -json tf. plan > tf. json conftest test tf. json --policy policies/terraform

12) تضمين القدرات الحالية

RBAC/ABAC: PaC - طبقة الإعلان ؛ يتم إعادة استخدام PDP/PEP من مقالة محرك الدور.
إدارة الموافقة: سياسة «الإعلانات/التخصيص» كشروط للوصول إلى البيانات/نقاط النهاية.
إخفاء الهوية: تحظر السياسات التدريب/التصدير دون إخفاء الهوية وموجزات ميزانية مدير البرنامج.
التوجيه الجغرافي: سياسة لتوجيه حركة المرور/البيانات حسب منطقة التخزين.

13) العمليات والأشخاص

مالكو مجالات السياسة: الأمن والمنصة والبيانات والمنتج/التسويق.
المراجعون: الأمان + أصحاب النطاق.
فهرس السياسات: وصف الهدف، المخاطر، SLO، الاتصال، الأمثلة، روابط الحوادث.
التدريب: أدلة ومقتطفات للمطورين (كيفية كتابة الاختبارات، وكيفية تنقيح Rego).

14) قائمة مراجعة المهندس المعماري

1. تحديد الحد الأدنى لمجموعة المجالات والمالكين ؟

2. مستودع السياسات مع الاختبارات، البطانة و CI ؟

3. هل يتم وضع PDPs/PEPs على المحيط، في واجهة برمجة التطبيقات، في K8s، وفي خطوط أنابيب البيانات ؟

4. هل هناك مخططات السياق والتحقق من الصحة ؟

5. حزم التوقيع والتسليم والمخابئ واستراتيجية الإعاقة ؟

6. المقاييس (الكمون والإنكار والانجراف) وسجل القرار والتدقيق ؟

7. عملية الاستثناء مع TTL والإبلاغ ؟

8. الجري/وضع الظل قبل الإنفاذ ؟

9. التقييم الجزئي/التعويض المسبق للبقع الساخنة ؟

10. كتيب عن التدهور (فشل مغلق/السماح مع التنقيح) ؟

خامسا - الاستنتاج

تجعل السياسة كمدونة القواعد قابلة للتكرار ويمكن التحقق منها وإدارتها على نفس مبادئ التطبيق: مدونة المراجعة والاختبارات و CI/CD والمقاييس والتراجع. من خلال ربط PaC بالترخيص (RBAC/ABAC) والامتثال وأمن النظام الأساسي، تحصل على حلقة تحكم واحدة يمكن التنبؤ بها وقابلة للتطوير لسلوك النظام - من التحكم في القبول إلى صادرات البيانات وخطوط أنابيب ML.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

Telegram
@Gamble_GC
بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.