Google Cloud / الأساسي: حدود الموارد والوصول / الدرس 1
المشاريع وتسلسل الموارد
استخدم التسلسل لتعيين الملكية ونطاق السياسة دون خلط المشروع بالتطبيق أوالشبكة أوحساب الفوترة.
في هذه الصفحة
أهداف الدرس
- تمييز المؤسسة والمجلد والمشروع ومورد الخدمة.
- شرح الضوابط الموروثة ومعرفات المشروع.
- بناء جرد محلي بمالكين صريحين.
ينظم التسلسل الملكية والسياسة
تنظم Google Cloud موارد كثيرة تحت المشاريع، وفوقها مجلدات اختيارية ومؤسسة. المشروع حد إداري مهم للخدمات المفعلة ومنح الهوية والحصص وربط الفوترة، ولا يعني تلقائيا تطبيقا أوبيئة أوشبكة واحدة. اختر العلاقة وفق العمر والملكية لا اختصار التسمية.
توفر المؤسسة ملكية مركزية ومواضع سياسة عند توافرها، وتجمع المجلدات مشاريع حسب النشاط أوالبيئة. قد توجد مشاريع بلا مؤسسة لبعض المستخدمين، بينما تفرض المؤسسة المدارة قواعد إنشاء خاصة. لا تفترض أن المشروع الشخصي والمركزي مقيدان بالطريقة نفسها.
تختلف أسماء العرض والمعرفات الثابتة
للمشروع اسم عرض ومعرف ورقم ذوو أدوار مختلفة. ليس الاسم الودي مرجعا فريدا موثوقا، ولا يعيد تغييره تسمية كل مورد. قد تستخدم أسماء واجهات الموارد الرقم أو المعرف حسب الخدمة؛ فسجل ما تتطلبه الواجهة تحديدا.
يفحص المثال تفرد جرد مخترع وحقوله فقط، ولا يثبت وجود مشروع أوقواعد Google للتسمية. يكشف التكرار المحلي قبل المراجعة، بينما يحتاج الوجود والموقع والصلاحية والعمر دليلا خدميا مخولا.
projects = [{"id": "study-dev", "owner": "team-a", "environment": "dev"}, {"id": "study-prod", "owner": "team-a", "environment": "prod"}]
ids = [project["id"] for project in projects]
assert len(ids) == len(set(ids))
assert all(project["owner"] and project["environment"] for project in projects)
print(f"inventory={len(projects)} unique={len(set(ids))}")
inventory=2 unique=2
لسجلين مخترعين معرفان مختلفان ومالكان صريحان دون حساب أوواجهة.
تبقى ضوابط الأسلاف مؤثرة أدناه
قد تورث منح IAM من الأسلاف، ولا تلغي سياسة مشروع ضيقة منحة أوسع موروثة. للمنع وقيود المؤسسة والشروط وضوابط الخدمة قواعد تقييم؛ فلا تختزل الوصول بملف السماح المحلي. وقد يغير نقل المورد أسلافه وضوابطه.
يتتبع البرنامج الثاني والدي مشروع مخترع، وهو تمرين رسم لا مقيم IAM. يوضح مواضع السياسة اللازمة للمراجعة؛ ويحتاج التقييم الكامل هوية وصلاحية وموردا وسياق طلب وحالة سياسة حالية.
parents = {"project-study": "folder-apps", "folder-apps": "organization-study", "organization-study": None}
path = []
node = "project-study"
while node is not None:
if node in path:
raise ValueError("cycle in synthetic hierarchy")
path.append(node)
node = parents[node]
print(" -> ".join(path))
project-study -> folder-apps -> organization-study
يكشف النموذج المشروع والمجلد والمؤسسة دون تقييم وصول سحابي.
اختيار الحدود بالعمر والمسؤولية
قد يوضح فصل التطوير والإنتاج الوصول والحصص والحوادث، وتظل الاعتمادات المشتركة عابرة للحدود. حدد موافقة الإنشاء وجهات الاتصال والتسميات ومراجعة الوصول ومالك النقل والحذف. وقد تختلف متطلبات الاحتفاظ والتعافي داخل المشروع.
لا تجعل حذف المشروع تنظيفا عاديا لدرس؛ صف الاعتمادات والاحتفاظ والتعافي قبل فعل حقيقي. قد يؤثر تغيير التسلسل أو الفوترة مع ثبات الشيفرة، فراجعه كتغيير بنية.
حفظ خريطة موارد قابلة للمراجعة
تسمي الخريطة المشروع والأصل والمالك والبيئة والفوترة وتصنيف البيانات والمواقع المطلوبة. ميز tags و labels وفق أغراضهما؛ فليست تسمية كلفة قيد وصول تلقائيا. افصل المعرف وافتراض السياسة عن الوصف البشري.
قل لكل ادعاء هل هو حقيقة جرد محلي أم حقيقة سحابية تنتظر التحقق. يمنع ذلك عد الرسم الجميل دليلا على فرض الصلاحية. تجعل أمثلتنا الاصطناعية التنظيم قابلا للمراجعة دون مؤسسة حقيقية.
الأخطاء الشائعة وإصلاحها
تفترض منحة المشروع إزالة الموروث.
- لماذا يحدث؟
- أُهمل توريث السماح.
- كيف تصلحه؟
- راجع الأسلاف والمنع والقيود المناسبة.
- كيف تتجنب تكراره؟
- سجل نطاق السياسة الفعالة.
يحدد اسم ودي هدفا خاطئا.
- لماذا يحدث؟
- اختلط العرض بالمعرف.
- كيف تصلحه؟
- سجل المعرف أو الرقم المطلوب.
- كيف تتجنب تكراره؟
- افصل الحقول.
يعد الجرد المحلي إثبات فرض.
- لماذا يحدث؟
- اختلطت البيانات الوصفية بالتقييم السحابي.
- كيف تصلحه؟
- سم الفحص وما بقي للتحقق.
- كيف تتجنب تكراره؟
- افصل دليل التصميم من حالة الخدمة.
اختبر فهمك
1. يريد فريق مشروعا لكل مطور وآخر للإنتاج. ما الأسئلة السابقة؟
اعرض الحل المشروح
ابدأ بتحديد مالكي دورة الحياة وحدود الوصول والبيانات المشتركة واحتياجات الحصص ونسبة الكلفة وتوريث السياسة ومسؤوليات التعافي. قد تساعد المشاريع المنفصلة على العزل، لكنها لا تعزل قاعدة بيانات مشتركة تلقائيا ولا تمنح الصلاحيات الصحيحة وحدها. سجل الاعتمادات التي تظل مشتركة، ثم بين كيف ينشأ كل مشروع ويراجع ويتقاعد ضمن عملية المؤسسة المخولة. يجب أن يفسر الاختيار إدارة العمل طوال عمره، لا أسماء المطورين فقط.
2. لماذا لا يقرر برنامج الأسلاف قراءة كائن لهوية؟
اعرض الحل المشروح
لا يقدم البرنامج إلا مسار آباء مخترعا. يحتاج تقييم الإذن أيضا الروابط الفعلية والصلاحيات التي تمنحها الأدوار وقواعد المنع والشروط والمورد المستهدف وسياق الطلب وأي ضوابط خدمية مناسبة. يفيد المسار الصحيح في تحديد مواضع المراجعة، لكنه لا يحتوي على دليل السياسة الحالية ولا على محرك تفويض Google Cloud كامل. لذلك لا يجوز تحويل نجاح فحص الرسم إلى ادعاء أن هوية فعلية تستطيع قراءة كائن.
أهم ما تعلمته
- المشاريع حدود إدارية تحتاج تصميما لمعناها.
- تهم الضوابط الموروثة والمعرفات لا أسماء العرض فقط.
- يدعم الجرد المحلي المراجعة ولا يثبت الفرض السحابي.