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'ın (GCP) App Engine'i, büyük ölçekli web uygulamalarının geliştirilmesi ve barındırılması için tasarlanmış sağlam, sunucusuz bir platformdur. Bu platformun tasarımı, geliştirme sürecini basitleştirmeye ve uygulamaların yönetilebilirliğini artırmaya odaklanmaktadır. GCP'nin App Engine'inin ana özellikleri ve faydaları şunlardır:
Sunucusuz Mimari: App Engine, sunucu sağlama, yapılandırma ve ölçeklendirme dahil olmak üzere altyapıyı otomatik olarak yönetir. Bu, geliştiricilerin temel donanım hakkında endişelenmeden kod yazmaya odaklanmalarını sağlar.
Otomatik Ölçeklendirme: App Engine, aldığı trafik miktarına yanıt olarak uygulamanızı otomatik olarak ölçeklendirebilir. Artan trafiği karşılamak için ölçeklenir ve trafik azaldığında ölçeklenir, maliyet ve performansı optimize etmeye yardımcı olur.
Dil ve Çalışma Zamanı Desteği: Java, Python, Node.js, Go, Ruby, PHP ve .NET gibi popüler programlama dillerini destekler. Uygulamalarınızı standart veya esnek bir ortamda çalıştırabilirsiniz. Standart ortam daha kısıtlayıcıdır ancak belirli diller için yüksek derecede optimize edilmiştir, esnek ortam ise daha fazla özelleştirmeye izin verir.
Entegre Hizmetler: App Engine, Cloud SQL, Cloud Storage, Cloud Datastore gibi birçok diğer GCP hizmetiyle entegre olur. Bu entegrasyon, bulut tabanlı uygulamaların mimarisini basitleştirir.
Sürümleme ve Trafik Bölme: Uygulamanızın birden fazla sürümünü kolayca dağıtabilir ve ardından A/B testleri veya kademeli dağıtımlar için bunlar arasında trafiği bölebilirsiniz.
Uygulama İçgörüleri: App Engine, uygulamaları izlemek ve yönetmek için günlük kaydı, kullanıcı kimlik doğrulaması ve bir dizi geliştirici aracı gibi yerleşik hizmetler sunar.
Güvenlik: Uygulama sürümleme, güvenli bağlantılar için SSL/TLS sertifikaları ve kimlik ve erişim yönetimi gibi yerleşik güvenlik özellikleri sunar.
Uygulamaları çalıştıran örnekler için basit bir firewall aşağıdaki seçeneklerle yapılandırılabilir:
Bu Uygulamalar tarafından kullanılan varsayılan hizmet hesabı <proj-name>@appspot.gserviceaccount.com
olup, projede Editör rolüne sahiptir ve APP Engine örneği içindeki SAs cloud-platform kapsamıyla (diğerlerinin yanı sıra) çalışır.
Kaynak kodu ve meta veriler, <proj-id>.appspot.com
ve staging.<proj-id>.appspot.com
ile <country>.<proj-id>.appspot.com
gibi adlarla otomatik olarak bucket'larda saklanır.
Her dosya, içeriğin sha1'ini dosya adı olarak saklar:
staging.<proj-id>.appspot.com
içindeki ae
klasöründe, her sürüm için bir klasör bulunur ve kaynak kodu dosyaları ile manifest.json
dosyası, Uygulamanın bileşenlerini tanımlar:
Web uygulaması nihayetinde bir konteyner içinde çalıştırılacaktır ve Code Build konteyneri oluşturmak için kullanılır.
Varsayılan web sayfası <project-uniq-name>.appspot.com
URL'sinde yayınlanacaktır, ancak eski sürümlerin URL'si biraz farklı olacaktır, örneğin https://20240117t001540-dot-<project-uniq-name>.uc.r.appspot.com
(ilk zaman damgasını not edin).
Her bölge için yalnızca 1 uygulama motoru web uygulaması dağıtmanın mümkün olduğu gibi görünebilir, ancak app.yml
dosyasında service: <servicename>
belirtmek ve yeni bir hizmet (yeni bir web) oluşturmak mümkündür. Bu yeni web için URL formatı <servicename>-dot-<project-uniq-name>.appspot.com
olacaktır.
Her yeni kod yüklediğinizde, yeni bir sürüm oluşturulur. Tüm sürümler saklanır ve bunlara erişmek için bir URL'leri vardır. Bu nedenle, eski bir sürümün kodunu değiştirmek büyük bir kalıcılık tekniği olabilir.
Cloud Functions ile olduğu gibi, uygulamanın çalışma zamanında ortam değişkenleri aracılığıyla erişilen gizliliklere bağımlı olma ihtimali vardır. Bu değişkenler, aşağıdaki gibi erişilebilen bir app.yaml
dosyasında saklanır:
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)