
S3 खाता खोज
यह टूल आपको वह खाता आईडी खोजने देता है जिससे कोई S3 बकेट संबंधित है.
इसके काम करने के लिए आपके पास इनमें से कम से कम एक अनुमति होनी चाहिए:
s3:getObject).s3:ListBucket).इसके अतिरिक्त, आपको एक ऐसी भूमिका की आवश्यकता होगी जिसे आप अपनी जाँच कर रहे बकेट पर इन (में से एक) अनुमतियों के साथ धारण कर सकें
कुछ और पृष्ठभूमि जानकारी Cloudar Blog पर पाई जा सकती है
यह पैकेज pypi पर उपलब्ध है, उदाहरण के लिए आप इनमें से किसी एक कमांड का उपयोग कर सकते हैं (pipx अनुशंसित है)
pipx install s3-account-search
pip install s3-account-search
# with a bucket
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket
# with an object
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket/path/to/object.ext
# You can also leave out the s3://
s3-account-search arn:aws:iam::123456789012:role/s3_read my-bucket
# Or start from a specified source profile
s3-account-search --profile source_profile arn:aws:iam::123456789012:role/s3_read s3://my-bucket
एक IAM पॉलिसी कंडीशन s3:ResourceAccount है, जिसका उपयोग निर्दिष्ट खाता(खातों) में S3 तक पहुँच देने के लिए किया जाता है, लेकिन यह वाइल्डकार्ड का भी समर्थन करती है। सही पैटर्न बनाकर, और यह देखकर कि कौन से पैटर्न अस्वीकार (Deny) या अनुमति (Allow) की ओर ले जाएंगे, हम एक बार में एक अंक खोजकर खाता आईडी निर्धारित कर सकते हैं।
0 से शुरू होने वाले खाते में मौजूद S3 बकेट तक हमारी पहुँच को प्रतिबंधित करती है। यदि हमारी पहुँच की अनुमति है, तो हमें पता चलता है कि खाता आईडी 0 से शुरू होनी चाहिए। यदि अनुरोध अस्वीकार कर दिया जाता है, तो हम पहले अंक के रूप में 1 के साथ पुनः प्रयास करते हैं। हम तब तक वृद्धि करते रहते हैं जब तक हमारे अनुरोध की अनुमति नहीं हो जाती, और हम पहला अंक ढूंढ लेते हैं8 था, तो हम 80, 81, 82, आदि से शुरू होने वाली खाता आईडी का परीक्षण करते हैं।हम इस प्रोजेक्ट को प्रबंधित करने के लिए poetry का उपयोग करते हैं
poetry install चलाएँpoetry shell के साथ वर्चुअल वातावरण को सक्रिय करें (आप poetry run $command का भी उपयोग कर सकते हैं)poetry publish --build चलाएँs3:ResourceAccount < 500000000000 के बराबर है
"Condition": {
"StringLike": {"s3:ResourceAccount": [
"0*", "1*", "2*", "3*", "4*",
]},
},
व्यवहार में यह टूल अधिकांश मामलों में काफी तेज़ होना चाहिए।