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 (GCP) App Engine to solidna, bezserwerowa platforma dostosowana do rozwoju i hostingu aplikacji internetowych na dużą skalę. Projekt tej platformy koncentruje się na uproszczeniu procesu rozwoju i zwiększeniu zarządzalności aplikacji. Kluczowe cechy i korzyści GCP App Engine obejmują:
Architektura bezserwerowa: App Engine automatycznie zarządza infrastrukturą, w tym przydzielaniem serwerów, konfiguracją i skalowaniem. Dzięki temu programiści mogą skupić się na pisaniu kodu, nie martwiąc się o sprzęt.
Automatyczne skalowanie: App Engine może automatycznie skalować aplikację w odpowiedzi na ilość ruchu, który otrzymuje. Skaluje się w górę, aby obsłużyć zwiększony ruch, i skaluje się w dół, gdy ruch maleje, co pomaga optymalizować koszty i wydajność.
Wsparcie dla języków i środowisk uruchomieniowych: Obsługuje popularne języki programowania, takie jak Java, Python, Node.js, Go, Ruby, PHP i .NET. Możesz uruchamiać aplikacje w standardowym lub elastycznym środowisku. Środowisko standardowe jest bardziej restrykcyjne, ale wysoko zoptymalizowane dla konkretnych języków, podczas gdy elastyczne środowisko pozwala na większą personalizację.
Zintegrowane usługi: App Engine integruje się z wieloma innymi usługami GCP, takimi jak Cloud SQL, Cloud Storage, Cloud Datastore i innymi. Ta integracja upraszcza architekturę aplikacji opartych na chmurze.
Wersjonowanie i podział ruchu: Możesz łatwo wdrażać wiele wersji aplikacji, a następnie dzielić ruch między nimi w celu testów A/B lub stopniowych wdrożeń.
Wgląd w aplikacje: App Engine oferuje wbudowane usługi, takie jak logowanie, uwierzytelnianie użytkowników i zestaw narzędzi deweloperskich do monitorowania i zarządzania aplikacjami.
Bezpieczeństwo: Oferuje wbudowane funkcje bezpieczeństwa, takie jak wersjonowanie aplikacji, certyfikaty SSL/TLS dla bezpiecznych połączeń oraz zarządzanie tożsamością i dostępem.
Prosty firewall może być skonfigurowany dla instancji uruchamiających aplikacje z następującymi opcjami:
Domyślne konto usługi używane przez te aplikacje to <proj-name>@appspot.gserviceaccount.com
, które ma rolę Editor w projekcie, a konta usług w instancji APP Engine działają z zakresem cloud-platform (wśród innych).
Kod źródłowy i metadane są automatycznie przechowywane w wiadrach o nazwach takich jak <proj-id>.appspot.com
oraz staging.<proj-id>.appspot.com
i <country>.<proj-id>.appspot.com
Każdy plik aplikacji jest przechowywany z sha1 zawartości jako nazwą pliku:
Wewnątrz folderu ae
z staging.<proj-id>.appspot.com
, istnieje jeden folder na wersję z plikami kodu źródłowego oraz plikiem manifest.json
, który opisuje komponenty aplikacji:
Aplikacja internetowa ostatecznie będzie wykonywana wewnątrz kontenera, a Code Build jest używane do budowy kontenera.
Domyślna strona internetowa będzie dostępna pod adresem URL <project-uniq-name>.appspot.com
, chociaż URL starszych wersji będzie nieco inny, na przykład https://20240117t001540-dot-<project-uniq-name>.uc.r.appspot.com
(zauważ początkowy znacznik czasu).
Może się wydawać, że możliwe jest wdrożenie tylko 1 aplikacji silnika aplikacji na region, ale można wskazać service: <servicename>
w app.yml
i stworzyć nową usługę (nową aplikację webową). Format URL dla tej nowej aplikacji webowej będzie <servicename>-dot-<project-uniq-name>.appspot.com
.
Za każdym razem, gdy przesyłasz nowy kod do aplikacji, tworzona jest nowa wersja. Wszystkie wersje są przechowywane i mają nawet URL do ich dostępu. Zmiana kodu starej wersji może być świetną techniką utrzymywania.
Podobnie jak w przypadku Cloud Functions, istnieje szansa, że aplikacja będzie polegać na sekretach, które są dostępne w czasie wykonywania za pośrednictwem zmiennych środowiskowych. Zmienne te są przechowywane w pliku app.yaml
, który można uzyskać w następujący sposób:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)