النسخ الاحتياطي لـ S3 لا يعمل مع EC2 IAM

أعتقد أنني بحثت وعملت من خلال جميع المواضيع والبرامج التعليمية حول هذا الأمر.

أحصل دائمًا على هذا الخطأ عند محاولة فتح صفحة النسخ الاحتياطي:

خطأ أثناء محاولة تحميل /admin/backups.json

عندما أفتح /admin/backups.json أحصل فقط على خطأ عام Access Denied

ما لا أفهمه هو أن استخدام الأوامر التالية في مثيل EC2 الخاص بي يعمل بشكل صحيح:

aws s3 ls s3://my-bucket-name

وعند الدخول إلى حاوية discourse باستخدام ./launcher enter app يمكنني تشغيل هذا أيضًا بنجاح بعد تثبيت s3cmd:

s3cmd ls s3://my-bucket-name

يمكنني أيضًا تحميل أشياء في المستودع الخاص بي باستخدام هذه الأوامر، لذلك يجب أن تكون سياسة IAM جيدة ولا يمكنني فهم سبب عدم تمكن Discourse من الوصول إلى المستودع. لقد حاولت أيضًا إضافة “AdministratorAccess” إلى دور IAM لاستبعاد أي مشاكل في الأذونات الضيقة جدًا.

التكوين في Discourse:

backup location: S3
s3 backup bucket: my-bucket-name
s3 use iam profile: true
s3 region: the correct one. tripple checked.

الخيارات المتبقية لـ s3 تُركت دون تغيير - > لذلك معظمها فارغ/معطل.

أي فكرة عما يمكن أن يحدث بشكل خاطئ؟

شكرًا!

لست متأكدًا من أن هذا له علاقة بإعدادات S3 الخاصة بك، يبدو أنه رسالة أذونات داخلية لـ Discourse. هل يمكنك تحميل /admin/backups كصفحة (بدلاً من إضافة .json في النهاية)؟

إعجاب واحد (1)

أسهل طريقة لتصحيح الأخطاء في مشاكل كهذه هي التحقق من سجلات Cloudtrail.

كان هذا تلميحًا رائعًا. تمكنت من تتبع خطأ الإذن ورأيت أن Discourse كان يستخدم مستخدمًا مختلفًا. الآن إلى السبب الكبير ولماذا لم يواجه أحد هذا الخطأ من قبل.

لدينا مكون إضافي مخصص لإرسال إشعارات الدفع عبر AWS SNS والذي كان يقوم بتعيين بيانات الاعتماد من خلال Aws.config.update بشكل عام، وبالتالي يبدو أن S3 Backup كان يستخدم أيضًا بيانات الاعتماد الخاطئة التي لم يكن لديها الأذونات المطلوبة بوضوح.

سنقوم الآن بإصلاح المكون الإضافي الخاص بنا لتوفير بيانات الاعتماد/المنطقة محليًا ودعم أدوار EC2 IAM التي أفضلها في هذه المرحلة :slight_smile:

شكرًا على الدفعة في الاتجاه الصحيح!

paresy

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.