محتويات الدورة

Terraform / البيانات الحساسة والحوكمة والتعافي / الدرس 13

حدود الحساسية والقيم المؤقتة والكتابة فقط

احم مسارات السر عبر المدخل والخطة والحالة والمزود والمخرج والسجل دون خلط الحجب بالمحو.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • ميّز العرض الحساس من الحفظ والصلاحيات.
  • اشرح قيود المؤقت والكتابة فقط الخاصة بالمزود.

صنف كل موضع تنتقل إليه القيمة

قد يدخل الاعتماد عبر متغير ويمر للمزود ويظهر بالتشخيص أو يحفظ كخاصية أو مخرج. تؤثر sensitive في العرض والانتشار المدعوم ولا تعني تشفيراً أو عدم حفظ عام. تحتاج الحالة والخطط المحفوظة و JSON والسجل والذاكرة والتخزين مراجعات مستقلة. استخدم قيماً غير حقيقية في الاختبار والوثائق، ولا تنشر رمزاً فعلياً لأن الملخص الطرفي المعتاد حجبه.

أعلن مدخلاً مؤقتاً دون تضمين سر

تدعم 1.16 المتغيرات المؤقتة، وهي ميزة ظهرت في سلسلة 1.x قبلها. لا يقدم العقد اعتماداً افتراضياً أو مستهلك مورد. تحذف ephemeral القيمة من حفظ الحالة والخطة ضمن القواعد، وتقيد مواضع المرجع. لا تسندها لخاصية دائمة عادية أو مخرج جذر مؤقت. تحتاج مصادقة المزود وتدفقات الأبناء وخصائص الكتابة فقط إعداداتها المتوافقة الخاصة.

hcl تصريح مدخل مؤقت كامل
terraform {
  required_version = ">= 1.16.0, < 1.17.0"
}

variable "session_token" {
  type      = string
  nullable  = false
  sensitive = true
  ephemeral = true
}

لا تقدم قيمة حقيقية. تضبط الحساسية العرض ويغير المؤقت الحفظ ومواضع المرجع. لا يضبط التصريح مزوداً أو يشفر أيدور سراً أو يمنع سجل النظام الخارجي.

يحدد دعم المزود سلوك الكتابة فقط

تتوفر خصائص الكتابة فقط حيث ينفذها المزود والمخطط مع إصدار أداة متوافق. تستقبل ما لا يحفظ كخاصية عادية، وتظل دورة التحديث والتدوير خاصة بالمورد. قد يلزم حقل مراجعة لأن السر غير المحفوظ لا يقارن لاحقاً مثل القيمة الدائمة. لا ينشئ تغيير الاسم أو إضافة sensitive السلوك؛ راجع المخطط وعقد كشف التغيير بدقة.

قد يجتمع العرض المحجوب مع قيمة باقية

ينشئ النموذج نسخة عرض محجوبة لسجل غير سري ويحتفظ بالأصل في الذاكرة. ليس تمثيلاً لحالة Terraform أو قاعدة لكل متغير محجوب. المقصود فصل العرض والمعلومة الأصلية؛ فقد يكشف مستهلك السجل الأصلي قيمته. صمم الصلاحية والاحتفاظ من التدفق الحقيقي وقلل المنشور والمخزن بدلاً من الاعتماد على مظهر الواجهة وحده.

python إظهار الحجب دون اعتماد حقيقي
record = {'service': 'atlas-api', 'value': 'training-only'}
display = dict(record)
display['value'] = '<redacted>'
print('display=' + display['value'])
print(f'underlying_value_present={record["value"] == "training-only"}')
الناتج المتوقع
display=<redacted>
underlying_value_present=True

يحجب العرض قيمة تعليمية ويبقى الأصل. لا تقرأ ملفات أو حالة أو خطط أو أسرار. يثبت المثال فرق النسخة المعروضة من إزالة المعلومة.

يعبر التدوير والحادث عدة حدود

يستخدم العمل الآمن تسليم أسرار معتمداً وهوية قصيرة حيث تناسب وصلاحيات محدودة وحالة ومخرجات محمية وتشخيصاً محجوباً. يجب أن يراعي التدوير جلسة المزود والمستهلك المخزن وإعادة تحميل التطبيق والتعافي لا تغيير النص فقط. عند الكشف احفظ الدليل اللازم وألغ أو دور بإجراء مصرح؛ فلا يثبت حذف ملف محلي اختفاء النسخ البعيدة. نتعامل هنا مع قيم اصطناعية فقط.

الأخطاء الشائعة وإصلاحها

اعتبار sensitive عدم حفظ مطلق.

لماذا يحدث؟
خُلط الحجب بالحفظ والوصول.
كيف تصلحه؟
تتبع الحفظ واحم كل مخرج حساس.
كيف تتجنب تكراره؟
راجع السرية مستقلة عن العرض.

إسناد مؤقت لخاصية دائمة.

لماذا يحدث؟
يقع المستهلك خارج السياقات المسموحة.
كيف تصلحه؟
استخدم عقد مصادقة أو كتابة فقط مدعوماً.
كيف تتجنب تكراره؟
تحقق من دعم الأداة والمزود منفصلين.

يبدو التدوير مكتملاً ويستخدم مستهلك السر القديم.

لماذا يحدث؟
اعتُبر تعديل المدخل اعتماداً كاملاً.
كيف تصلحه؟
افحص المستهلك والإلغاء وإعادة التحميل.
كيف تتجنب تكراره؟
وثق ملكية التدوير وأدلته بين الأنظمة.

اختبر فهمك

1. هل يمنع التصريح المزود من تسجيل القيمة؟

اعرض الحل المشروح

لا؛ يقيد حفظ Terraform واستخدامه، ويظل المزود والنظام الخارجي حدين آخرين. راجع العقد والتشخيص وقلل الكشف حتى مع الضبط الصحيح.

2. لماذا قد تحتاج الكتابة فقط رقم مراجعة للتدوير؟

اعرض الحل المشروح

حين لا تحفظ القيمة لا تكشف المقارنة كل تدوير. قد يعرف المزود رقم إصدار أو محفزاً للقصد. اتبع العقد ولا تفترض ظهور كل تغير بالخطة.

أهم ما تعلمته

  • يحمي الحجب وعدم الحفظ والتشفير والتخويل حدوداً مختلفة.
  • استخدم تدفقات مؤقتة وكتابة فقط مدعومة ومراجعة.

المراجع الرسمية