AWS एक्सपोज़ेबल संसाधन
इस रेपो का लक्ष्य उन सभी AWS संसाधनों की एक सूची बनाए रखना है जिन्हें सार्वजनिक रूप से उजागर किया जा सकता है, और अंततः, उन संसाधनों को जिन्हें अविश्वसनीय खातों के साथ साझा किया जा सकता है (वह अनुभाग अभी विकास में है और यहाँ अभी तक शामिल नहीं है)।
इस सूची में निम्नलिखित अवधारणाएँ लागू की गई हैं:
- वे संसाधन जो किसी अन्य संसाधन के माध्यम से अप्रत्यक्ष रूप से उजागर हो सकते हैं, शामिल नहीं हैं। उदाहरण के लिए, CloudTrail लॉग को एक सार्वजनिक S3 बकेट में भेजा जा सकता है, लेकिन यह S3 बकेट है जो गलत कॉन्फ़िगर किया गया है, इसलिए CloudTrail को एक ऐसे संसाधन के रूप में सूचीबद्ध नहीं किया गया है जिसे सार्वजनिक किया जा सकता है।
- कुछ संसाधनों को सार्वजनिक माने जाने के लिए कई चीजों को एक निश्चित तरीके से कॉन्फ़िगर करने की आवश्यकता हो सकती है। उदाहरण के लिए, एक Secrets Manager सीक्रेट जो KMS के साथ एन्क्रिप्ट किया गया है, उसे सीक्रेट तक पहुँचने के लिए सीक्रेट और KMS कुंजी दोनों को सार्वजनिक होना आवश्यक होगा। इस सूची के प्रयोजनों के लिए, मैं केवल सीक्रेट संसाधन नीति पर विचार करता हूँ। इसी तरह, Managed ElasticSearch क्लस्टर के लिए, आपको सार्वजनिक पहुँच की अनुमति देने के लिए संसाधन नीति और एक गैर-VPC IP दोनों की आवश्यकता होती है। मैं केवल संसाधन नीति पर विचार करता हूँ। एक EC2 के लिए, आप सार्वजनिक IP के साथ एक EC2 बना सकते हैं, लेकिन इसे एक प्रतिबंधित सुरक्षा समूह से जोड़ सकते हैं जो बाद में सार्वजनिक पहुँच की अनुमति देने के लिए खोला जा सकता है। मैं EC2 को सार्वजनिक IP के साथ बनाने को रुचि की कार्रवाई के रूप में देखता हूँ, न कि सुरक्षा समूह के संशोधन को।
रोडमैप
मैं चाहूँगा कि इस रेपो में अंततः निम्नलिखित शामिल हों:
- निजी और सार्वजनिक दोनों संसाधन बनाने के लिए नमूना CLI कमांड
- इन दो घटनाओं के लिए संबंधित CloudTrail लॉग ताकि आप मॉनिटरिंग समाधान बना और परीक्षण कर सकें। उदाहरण के लिए, आप StreamAlert के लिए नमूना CloudTrail ईवेंट यहाँ देख सकते हैं।
- संसाधनों पर संबंधित Describe कॉल यह दिखाने के लिए कि जब ये संसाधन सार्वजनिक होते हैं तो कैसा दिखता है। उदाहरण के लिए, आप CloudMapper के परीक्षण डेटा में नमूना JSON प्रतिक्रियाएँ यहाँ देख सकते हैं।
संसाधन जिन्हें संसाधन नीतियों के माध्यम से सार्वजनिक किया जा सकता है
ECR रिपॉजिटरी
क्रियाएँ:
Lambda
फ़ंक्शन को आमंत्रित करने की अनुमति देता है
क्रियाएँ:
Lambda लेयर
क्रियाएँ:
सर्वरलेस एप्लिकेशन रिपॉजिटरी
क्रियाएँ:
बैकअप
दस्तावेज़
क्रियाएँ:
EFS
TODO: पुष्टि करने की आवश्यकता है कि इसे वास्तव में अन्य खातों के साथ साझा किया जा सकता है। कुछ दस्तावेज़ शब्दों से मुझे लगता है कि यह केवल एक खाते के अंतर्गत प्रिंसिपल्स के साथ साझा किया जा सकता है।
क्रियाएँ:
ग्लेशियर
क्रियाएँ:
S3
S3 बकेट नीतियों और ACL के माध्यम से सार्वजनिक हो सकते हैं। S3 ऑब्जेक्ट ACL के माध्यम से सार्वजनिक हो सकते हैं। ACL को बकेट या ऑब्जेक्ट निर्माण के समय सेट किया जा सकता है।
क्रियाएँ:
IAM भूमिका
क्रियाएँ:
KMS कुंजियाँ
क्रियाएँ:
सीक्रेट्स मैनेजर
क्रियाएँ:
CloudWatch लॉग्स
क्रियाएँ:
EventBridge
केवल एक खाते में डेटा भेजने की अनुमति देता है
क्रियाएँ:
दस्तावेज़
क्रियाएँ:
ElasticSearch
क्रियाएँ:
Glue
क्रियाएँ:
SNS
क्रियाएँ:
SQS
क्रियाएँ:
SES
दस्तावेज़
क्रियाएँ:
वे संसाधन जिन्हें साझाकरण API के माध्यम से सार्वजनिक किया जा सकता है
AMI
क्रियाएँ:
FPGA छवि
क्रियाएँ:
EBS स्नैपशॉट
क्रियाएँ:
RDS स्नैपशॉट
क्रियाएँ:
RDS DB क्लस्टर स्नैपशॉट
क्रियाएँ:
वे संसाधन जिन्हें नेटवर्क पहुँच के माध्यम से सार्वजनिक किया जा सकता है
API Gateway
इससे जुड़ी संसाधन नीतियाँ हैं (देखें यहाँ) जो इसे कई श्रेणियों में रख सकती हैं?
क्रियाएँ:
CloudFront
क्रियाएँ:
Redshift
क्रियाएँ:
RDS
क्रियाएँ:
EC2
क्रियाएँ:
इलास्टिक IP
क्रियाएँ:
ECS
क्रियाएँ:
ग्लोबल एक्सेलेरेटर
क्रियाएँ:
ELB
क्रियाएँ:
Lightsail
क्रियाएँ:
Neptune
क्रियाएँ:
ElasticCache
क्रियाएँ:
EMR
क्रियाएँ: