
بحث حسابات S3
تتيح لك هذه الأداة العثور على معرف الحساب الذي ينتمي إليه حاوية S3.
لكي تعمل هذه الأداة، يجب أن يكون لديك على الأقل أحد هذه الصلاحيات:
s3:getObject).s3:ListBucket).بالإضافة إلى ذلك، ستحتاج إلى دور يمكنك توليه بهذه الصلاحيات (أو إحداها) على الحاوية التي تفحصها.
يمكن العثور على مزيد من التفاصيل على مدونة Cloudar
هذه الحزمة متاحة على pypi، يمكنك استخدام أحد هذه الأوامر على سبيل المثال (يفضل استخدام pipx)
pipx install s3-account-search
pip install s3-account-search
# مع حاوية
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket
# مع كائن
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket/path/to/object.ext
# يمكنك أيضًا حذف s3://
s3-account-search arn:aws:iam::123456789012:role/s3_read my-bucket
# أو البدء من ملف تعريف مصدر محدد
s3-account-search --profile source_profile arn:aws:iam::123456789012:role/s3_read s3://my-bucket
يوجد شرط سياسة IAM s3:ResourceAccount، والذي يُستخدم لمنح الوصول إلى S3 في حساب (مجموعة حسابات) محدد، ولكنه يدعم أيضًا أحرف البدل. من خلال بناء الأنماط الصحيحة، ومعرفة أي منها سيؤدي إلى رفض أو قبول، يمكننا تحديد معرف الحساب عن طريق اكتشافه رقمًا تلو الآخر.
0. إذا تم السماح بالوصول، فإننا نعرف أن معرف الحساب يجب أن يبدأ بـ 0. إذا تم رفض الطلب، نحاول مرة أخرى بـ 1 كأول رقم. نستمر في الزيادة حتى يتم السماح بالطلب، وبذلك نجد الرقم الأول.8، نختبر معرفات الحسابات التي تبدأ بـ 80 و 81 و 82 وهكذا.نستخدم poetry لإدارة هذا المشروع
poetry installpoetry shell (يمكنك أيضًا استخدام poetry run $command)poetry publish --builds3:ResourceAccount < 500000000000
"Condition": {
"StringLike": {"s3:ResourceAccount": [
"0*", "1*", "2*", "3*", "4*",
]},
},
من الناحية العملية، يجب أن تكون هذه الأداة سريعة بما يكفي في معظم الحالات.