GCP - App Engine Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Google Cloud Platform's (GCP) App Engine एक मजबूत, सर्वरलेस प्लेटफॉर्म है जो बड़े पैमाने पर वेब अनुप्रयोगों के विकास और होस्टिंग के लिए तैयार किया गया है। इस प्लेटफॉर्म का डिज़ाइन विकास प्रक्रिया को सरल बनाने और अनुप्रयोगों के प्रबंधन को बढ़ाने पर केंद्रित है। GCP के App Engine की प्रमुख विशेषताएँ और लाभ हैं:
सर्वरलेस आर्किटेक्चर: App Engine स्वचालित रूप से बुनियादी ढाँचे को संभालता है, जिसमें सर्वर प्रावधान, कॉन्फ़िगरेशन और स्केलिंग शामिल हैं। यह डेवलपर्स को कोड लिखने पर ध्यान केंद्रित करने की अनुमति देता है बिना अंतर्निहित हार्डवेयर की चिंता किए।
स्वचालित स्केलिंग: App Engine आपके अनुप्रयोग को प्राप्त ट्रैफ़िक की मात्रा के जवाब में स्वचालित रूप से स्केल कर सकता है। यह बढ़ते ट्रैफ़िक को संभालने के लिए स्केल करता है और जब ट्रैफ़िक कम होता है तो इसे कम करता है, जिससे लागत और प्रदर्शन का अनुकूलन होता है।
भाषा और रनटाइम समर्थन: यह लोकप्रिय प्रोग्रामिंग भाषाओं जैसे Java, Python, Node.js, Go, Ruby, PHP, और .NET का समर्थन करता है। आप अपने अनुप्रयोगों को मानक या लचीले वातावरण में चला सकते हैं। मानक वातावरण अधिक प्रतिबंधात्मक है लेकिन विशिष्ट भाषाओं के लिए अत्यधिक अनुकूलित है, जबकि लचीला वातावरण अधिक अनुकूलन की अनुमति देता है।
एकीकृत सेवाएँ: App Engine कई अन्य GCP सेवाओं के साथ एकीकृत होता है, जैसे Cloud SQL, Cloud Storage, Cloud Datastore, और अधिक। यह एकीकरण क्लाउड-आधारित अनुप्रयोगों की आर्किटेक्चर को सरल बनाता है।
संस्करण और ट्रैफ़िक विभाजन: आप आसानी से अपने अनुप्रयोग के कई संस्करणों को तैनात कर सकते हैं और फिर A/B परीक्षण या क्रमिक रोलआउट के लिए उनके बीच ट्रैफ़िक विभाजित कर सकते हैं।
अनुप्रयोग अंतर्दृष्टि: App Engine लॉगिंग, उपयोगकर्ता प्रमाणीकरण, और अनुप्रयोगों की निगरानी और प्रबंधन के लिए डेवलपर उपकरणों का एक सूट जैसे अंतर्निहित सेवाएँ प्रदान करता है।
सुरक्षा: यह अनुप्रयोग संस्करणन, सुरक्षित कनेक्शनों के लिए SSL/TLS प्रमाणपत्र, और पहचान और पहुँच प्रबंधन जैसी अंतर्निहित सुरक्षा सुविधाएँ प्रदान करता है।
एक साधारण फायरवॉल को Apps चलाने वाले इंस्टेंस के लिए निम्नलिखित विकल्पों के साथ कॉन्फ़िगर किया जा सकता है:
इन Apps द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट सेवा खाता <proj-name>@appspot.gserviceaccount.com
है जिसमें परियोजना पर Editor भूमिका है और APP Engine इंस्टेंस के अंदर SAs क्लाउड-प्लेटफ़ॉर्म स्कोप (अन्य के बीच) के साथ चलते हैं।
स्रोत कोड और मेटाडेटा स्वचालित रूप से बकेट में संग्रहीत किया जाता है जिनके नाम हैं जैसे <proj-id>.appspot.com
और staging.<proj-id>.appspot.com
और <country>.<proj-id>.appspot.com
App का हर फ़ाइल सामग्री के sha1 को फ़ाइल नाम के रूप में संग्रहीत किया जाता है:
ae
फ़ोल्डर के अंदर staging.<proj-id>.appspot.com
से, प्रत्येक संस्करण के लिए एक फ़ोल्डर मौजूद है जिसमें स्रोत कोड फ़ाइलें और manifest.json
फ़ाइल है जो App के घटकों का वर्णन करती है:
वेब ऐप अंततः एक कंटेनर के अंदर निष्पादित होगा और कोड बिल्ड कंटेनर बनाने के लिए उपयोग किया जाता है।
डिफ़ॉल्ट वेब पृष्ठ URL <project-uniq-name>.appspot.com
में प्रदर्शित होगा, हालांकि पुराने संस्करणों का URL थोड़ा अलग होगा, जैसे https://20240117t001540-dot-<project-uniq-name>.uc.r.appspot.com
(प्रारंभिक टाइमस्टैम्प को नोट करें)।
यह लग सकता है कि प्रति क्षेत्र केवल 1 ऐप इंजन वेब एप्लिकेशन तैनात करना संभव है, लेकिन service: <servicename>
को app.yml
में निर्दिष्ट करना संभव है और एक नई सेवा (एक नया वेब) बनाना संभव है। इस नए वेब के लिए URL का प्रारूप होगा <servicename>-dot-<project-uniq-name>.appspot.com
।
हर बार जब आप ऐप में एक नया कोड अपलोड करते हैं, एक नया संस्करण बनाया जाता है। सभी संस्करण संग्रहीत होते हैं और उनके पास उन्हें एक्सेस करने के लिए एक URL होता है। इसलिए पुराने संस्करण के कोड को संशोधित करना एक महान स्थायी तकनीक हो सकता है।
जैसे कि क्लाउड फ़ंक्शंस के साथ, ऐप्लिकेशन के रन-टाइम पर पर्यावरण चर के माध्यम से पहुंची जाने वाली गुप्त जानकारी पर निर्भर होने की संभावना है। ये चर एक app.yaml
फ़ाइल में संग्रहीत होते हैं जिसे निम्नलिखित तरीके से एक्सेस किया जा सकता है:
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)