Google Cloud / دليل حلول تحريري

تشخيص رفض الإذن ونطاق الهوية

تتبع الفاعل الطالب ومصدر اعتماده والإذن والمورد والضوابط المنطبقة قبل تغيير الوصول.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى

قاعدة معرفة للقراءة فقط · بلا تعليقات عامة

تعرّف على الأعراض

يتلقى التطبيق PERMISSION_DENIED أو HTTP 403، بينما ينجح الإجراء التفاعلي الذي ينفذه المطور. وقد يستمر الفشل بعد منح دور جديد. يمكن أن تنتج الأعراض المتشابهة عن فاعلين مختلفين، أو مورد أو مشروع خاطئ، أو قاعدة رفض موروثة أو شرط، أو سياسة مؤسسة، أو محيط خدمة، أو متطلب خاص بالمنتج. نجاح تسجيل الدخول وحده ليس دليلاً على التصريح بالعملية المطلوبة.

افهم الأسباب المحتملة

  • قد يحصل التطبيق على بيانات اعتماد التطبيق الافتراضية ADC من مصدر مختلف عن واجهة الأوامر، أو يعمل بالنيابة عن حساب غير مقصود. وقد تغفل مراجعة تعيينات السماح المحلية سياسات المستويات الأعلى وقواعد الرفض والشروط وضوابط الخدمة. كذلك قد يُفسر خلل شبكة أو إعداد مورد على أنه مشكلة إذن. توسيع الأدوار دون تحديد مرحلة الفشل قد يترك السبب الأصلي دون إصلاح.

1. حفظ السؤال الدقيق الذي يجب أن يجيب عنه التصريح

سجّل العملية واسم المورد المستهدف ومعرّف المشروع أو رقمه بحسب المطلوب، مع الوقت وسياق الطلب ذي الصلة والإذن المرفوض عندما يكون متاحاً. استند إلى أدلة الأخطاء أو التدقيق الموجودة والمصرح بالاطلاع عليها، بعد تنقيح الأسرار. ميّز الوصول إلى البيانات الوصفية من الوصول إلى البيانات والعمليات الإدارية. لا يعوض اسم الدور أو صورة دخول ناجح عن تحديد هذا الطلب بعينه.

2. تتبع مصدر الاعتماد دون كشفه

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

3. التحقق من اكتمال سجل التشخيص

يحلل البرنامج المحلي الكامل سجل تشخيص مخترعاً ويعدد الحقول الناقصة. فهو يكشف غياب سياق الطلب بدلاً من تخمين أن الدور غير كافٍ. لا يقيّم البرنامج السياسات، ولا يحلل كل صيغ أخطاء Google. غرضه تحديد التحقيق المصرح التالي بصورة ملموسة دون الاتصال بأي حساب.

python مراجعة سجل تشخيص مضمن في البرنامج
import json

record = json.loads('{"principal":"runtime-reader","permission":"storage.objects.get","resource":"synthetic-object","request_context":""}')
required = ["principal", "permission", "resource", "request_context"]
missing = [field for field in required if not record.get(field)]
print("missing evidence", ",".join(missing))
الناتج المتوقع
missing evidence request_context

يفتقر السجل المصطنع إلى request_context؛ ولا يختبر البرنامج إذناً أو اعتماداً حقيقيين.

4. فحص طبقات السياسة المنطبقة

راجع تسلسل الموارد ومنح السماح الموروثة وأذونات الدور والشروط وقواعد الرفض المدعومة للسؤال الفعلي. لأداة Policy Troubleshooter تغطية وحدود موثقتان؛ فلا تشخّص كل حالات قوائم التحكم في الوصول ACL أو VPC Service Controls. تحتاج قيود المؤسسة وحالات الرفض المرتبطة بمحيط الخدمة إلى أدلتها الخاصة. لا تزل ضابطاً لمجرد أن تعيين السماح المحلي يبدو صحيحاً.

5. اقتراح التصحيح الضيق وطريقة التحقق

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

تحقق من نجاح الإصلاح

يجب أن يكون مخرج البرنامج المحلي missing evidence request_context. ولا يُثبت تصحيح فعلي إلا بدليل معتمد للفاعل والمورد والإذن والسياق أنفسها، مع الحالات السلبية ذات الصلة. وثّق طبقة الضبط المسؤولة وما بقي غير مختبر. لا يثبت نجاح طلب آخر غير مرتبط من واجهة الأوامر أن طريق اعتماد التطبيق قد أُصلح.

امنع تكرار المشكلة

  • صُن خريطة للهويات ومراجعة أدوار وفق أقل امتياز، وحدد أهداف الموارد صراحة ووثّق افتراضات ADC والعمل بالنيابة عن الحسابات. حافظ على حَوْكمة السياسات وعضوية المجموعات. أبقِ الأسرار خارج التشخيص، وميّز المصادقة والتصريح وقيود الخدمة وقابلية الوصول الشبكي طوال معالجة الحوادث.

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