GCP - App Engine Enum
Basic Information
Google Cloud Platform's (GCP) App Engine एक मजबूत, सर्वरलेस प्लेटफॉर्म है जो बड़े पैमाने पर वेब एप्लिकेशन के विकास और होस्टिंग के लिए अनुकूलित है। इस प्लेटफॉर्म का डिज़ाइन विकास प्रक्रिया को सरल बनाने और एप्लिकेशन की प्रबंधनीयता को बढ़ाने पर केंद्रित है। GCP के App Engine की प्रमुख विशेषताएं और लाभ शामिल हैं:
Serverless Architecture: App Engine स्वचालित रूप से इन्फ्रास्ट्रक्चर को संभालता है, जिसमें सर्वर प्रावधान, कॉन्फ़िगरेशन और स्केलिंग शामिल हैं। यह डेवलपर्स को हार्डवेयर की चिंता किए बिना कोड लिखने पर ध्यान केंद्रित करने की अनुमति देता है।
Automatic Scaling: App Engine आपके एप्लिकेशन को प्राप्त होने वाले ट्रैफ़िक की मात्रा के अनुसार स्वचालित रूप से स्केल कर सकता है। यह बढ़ते ट्रैफ़िक को संभालने के लिए स्केल करता है और ट्रैफ़िक कम होने पर स्केल डाउन करता है, जिससे लागत और प्रदर्शन का अनुकूलन होता है।
Language and Runtime Support: यह Java, Python, Node.js, Go, Ruby, PHP, और .NET जैसी लोकप्रिय प्रोग्रामिंग भाषाओं का समर्थन करता है। आप अपने एप्लिकेशन को एक मानक या एक लचीले वातावरण में चला सकते हैं। मानक वातावरण अधिक प्रतिबंधात्मक है लेकिन विशिष्ट भाषाओं के लिए अत्यधिक अनुकूलित है, जबकि लचीला वातावरण अधिक अनुकूलन की अनुमति देता है।
Integrated Services: App Engine कई अन्य GCP सेवाओं जैसे Cloud SQL, Cloud Storage, Cloud Datastore, और अधिक के साथ एकीकृत होता है। यह एकीकरण क्लाउड-आधारित एप्लिकेशन की वास्तुकला को सरल बनाता है।
Versioning and Traffic Splitting: आप आसानी से अपने एप्लिकेशन के कई संस्करण तैनात कर सकते हैं और फिर A/B परीक्षण या क्रमिक रोलआउट के लिए उनके बीच ट्रैफ़िक विभाजित कर सकते हैं।
Application Insights: App Engine लॉगिंग, उपयोगकर्ता प्रमाणीकरण, और एप्लिकेशन की निगरानी और प्रबंधन के लिए डेवलपर टूल्स का एक सूट जैसी अंतर्निहित सेवाएं प्रदान करता है।
Security: यह एप्लिकेशन संस्करण, सुरक्षित कनेक्शन के लिए SSL/TLS प्रमाणपत्र, और पहचान और पहुंच प्रबंधन जैसी अंतर्निहित सुरक्षा सुविधाएं प्रदान करता है।
Firewall
एक साधारण firewall को उन इंस्टेंस के लिए कॉन्फ़िगर किया जा सकता है जो निम्नलिखित विकल्पों के साथ ऐप्स चला रहे हैं:
SA
इन ऐप्स द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट सेवा खाता है <proj-name>@appspot.gserviceaccount.com
जिसमें प्रोजेक्ट पर Editor भूमिका होती है और APP Engine इंस्टेंस के अंदर SAs cloud-platform scope (अन्य के बीच) के साथ चलते हैं।
Storage
स्रोत कोड और मेटाडेटा स्वचालित रूप से बकेट्स में संग्रहीत होते हैं जिनके नाम <proj-id>.appspot.com
और staging.<proj-id>.appspot.com
और <country>.<proj-id>.appspot.com
जैसे होते हैं।
हर फ़ाइल ऐप की सामग्री के sha1 के साथ फ़ाइलनाम के रूप में संग्रहीत होती है:
staging.<proj-id>.appspot.com
से ae
फ़ोल्डर के अंदर, प्रत्येक संस्करण के लिए एक फ़ोल्डर मौजूद होता है जिसमें स्रोत कोड फ़ाइलें और manifest.json
फ़ाइल होती है जो एप्लिकेशन के घटकों का वर्णन करती है:
Containers
वेब ऐप अंततः एक कंटेनर के अंदर निष्पादित होगा और Code Build का उपयोग कंटेनर को बनाने के लिए किया जाता है।
URLs & Regions
डिफ़ॉल्ट वेब पेज URL <project-uniq-name>.appspot.com
में प्रदर्शित होगा, हालांकि पुराने संस्करणों का URL थोड़ा अलग होगा, जैसे https://20240117t001540-dot-<project-uniq-name>.uc.r.appspot.com
(प्रारंभिक टाइमस्टैम्प पर ध्यान दें)।
ऐसा लग सकता है कि प्रति क्षेत्र केवल 1 ऐप इंजन वेब एप्लिकेशन को तैनात करना संभव है, लेकिन app.yml
में service: <servicename>
को इंगित करके एक नई सेवा (एक नया वेब) बनाना संभव है। इस नए वेब के लिए URL का प्रारूप <servicename>-dot-<project-uniq-name>.appspot.com
होगा।
Enumeration
हर बार जब आप ऐप में नया कोड अपलोड करते हैं, एक नया संस्करण बनाया जाता है। सभी संस्करण संग्रहीत होते हैं और उनके पास उन्हें एक्सेस करने के लिए एक URL भी होता है। इसलिए पुराने संस्करण के कोड को संशोधित करना एक महान स्थायित्व तकनीक हो सकती है।
Cloud Functions की तरह, संभावना है कि एप्लिकेशन उन रहस्यों पर निर्भर करेगा जो रन-टाइम पर पर्यावरण चर के माध्यम से एक्सेस किए जाते हैं। ये चर एक app.yaml
फ़ाइल में संग्रहीत होते हैं जिसे निम्नलिखित तरीके से एक्सेस किया जा सकता है:
Privilege Escalation
GCP - AppEngine PrivescUnauthenticated Enum
GCP - App Engine Unauthenticated EnumPost Exploitation
GCP - App Engine Post ExploitationPersistence
GCP - App Engine PersistenceLast updated