Pinterest’in AWS Güvenliğinde Merkezi Terraform Çözümü

Konuya bakış InfoQ Ana Sayfası Haberler Pinterest, Merkezi Terraform Pipeline ile AWS Altyapısını Geniş Ölçekte Nasıl Koruyor? Pinterest, Merkezi Terraform Pipeline ile AWS Altyapısını Geniş Ölçekte Nasıl Koruyor? Youtube232K Takipçi Linkedin26K Takipçi InstagramYeni RSS19K Okuyucular X57.1k…

6
Paylaş
Pinterest’in AWS Güvenliğinde Merkezi Terraform Çözümü

Konuya bakış

InfoQ Ana Sayfası Haberler Pinterest, Merkezi Terraform Pipeline ile AWS Altyapısını Geniş Ölçekte Nasıl Koruyor? Pinterest, Merkezi Terraform Pipeline ile AWS Altyapısını Geniş Ölçekte Nasıl Koruyor? Youtube232K Takipçi Linkedin26K Takipçi InstagramYeni RSS19K Okuyucular X57.1k Takipçi Facebook21K Beğeni BlueskyYeni Bu makaleyi dinleyin – 0:00 Ses oynatılmaya hazır Tarayıcınız ses öğesini desteklemiyor.

Pinterest, kendi Terraform yürütme motoru olan Kaynak Sağlayıcı Boru Hattını (RPP) ortaya çıkardı. En az ayrıcalıklı erişim sağlar ve çift denetimli incelemelere ihtiyaç duyar. Bu, GitHub Actions iş akışlarına sıkı güvenlik önlemleri eklediği için şirketin AWS altyapısı için kritik bir noktadır. Sistem, binlerce bulut kaynağını kontrol eden birçok Terraform çalışma alanını yönetir.

Buna IAM politikaları, VPC’ler, yük dengeleyiciler, S3 paketleri ve Kubernetes kümeleri dahildir. Pinterest’in Terraform kodu birçok depoya dağılmıştır. Her biri farklı bir takıma ait. Mono-repoya konsolidasyon halen devam etmektedir. Birçok depoda ve AWS hesabında değişiklik yapmak için bir CI/CD sistemi genelinde izinler vermek büyük bir riske yol açabilir.

Nasıl işliyor?

Bu, yanlışlıkla yanlış yapılandırmaların ve kötü niyetli eylemlerin olasılığını artırır. RPP, temeldeki konsolidasyonun bitmesini beklemeden bu çoklu repo gerçekliğini güvence altına alan bir köprü olarak inşa edildi. RPP, GitHub çekme isteği olaylarında etkinleştirilir. Repo başına komut dosyaları yerine merkezi bir bileşik GitHub Eylemleri kümesi olarak çalışır.

Bu yaklaşım, tek bir PR’yi, etkilenen her çalışma alanı için ayrı plan/uygulama çalışmalarına böler. Yürütme, zincirleme bir rol modeli kullanır. İlk olarak, bir iş akışı merkezi bir RPPActionsRole üstlenir. Bu rol, OIDC belirteci doğrulaması aracılığıyla önceden yetkilendirilmiş belirli GitHub iş akışlarıyla sınırlıdır. Bu rol bir doğruluk kaynağı yapılandırmasını okuyor rasyon dosyası.

Bu dosya, her çalışma alanını izin verilen depo, çalışma dizini, sahip olan ekip ve yürütme IAM rolüyle eşler. RPP, kapsamı daraltmadan önce Terraform kod yolunun söz konusu çalışma alanı için belirli S3 arka ucu ve KMS anahtarıyla eşleşip eşleşmediğini kontrol eder.

Pratik değerlendirme

Bu, bir geliştiricinin yanlışlıkla bir çalışma alanının dizinini başka bir çalışma alanının durum dosyasına bağlayabileceği hataların yakalanmasına yardımcı olur. İşlem hattı, yalnızca kontrol başarılı olduktan sonra çalışma alanına özgü ekip rolünü üstlenir. Daha sonra “terraform fmt” ve “plan”ı çalıştırır ve PR üzerinde net bir insan yorumundan sonra değişiklikleri uygular.

Tüm kod değişiklikleri Bunun yanında, sahip olunan depodaki onaylı bir incelemecinin imzasını gerektirir. Yürütme modeli Pinterest, modelin altyapıdaki düzeltmeler için tek bir kontrol noktası sağladığını söylüyor. Bu, zayıf bir CI çalıştırıcı kabuğu gibi sistemik bir sorunun yüzlerce ayrı depo yerine tek bir yerde düzeltilebileceği anlamına gelir.

Merkezileştirilmiş bileşik eylemler, ekibin PR tarafından tetiklenen kontrolleri tutarlı bir şekilde yürütmesine yardımcı olur. Buna, özel Semgrep kuralları ve yapay zeka destekli tarama ile statik analiz dahildir. Ayrıca, değişiklikler gerçek hesapları etkilemeden önce sahte AWS davranışını test etmek için isteğe bağlı LocalStack tabanlı deneme çalışmaları da gerçekleştirebilirler.

Nelere dikkat edilmeli

RPP açık kaynak değil, özel bir sistemdir. Mimari, standart OIDC tabanlı rol zincirlemeyi ve çalışma alanından role eşlemeyi kullanır. Ancak, arka uç blok doğrulamasına güçlü bir şekilde odaklanılması, içe aktarmadır. karınca. Çalışma alanları arası durum yolsuzluğuna karşı bir bariyer görevi görür. Bu ayrıntı, benzer çoklu depo Terraform kurulumlarını kullanan ekipler için oldukça kritiktir.

Çalışma alanı-yol-rol eşleme modeli yararlı bir kılavuzdur. Gerçeğin kaynağı yapılandırmasını, arka uç doğrulamasını ve kapsamı daraltılmış rol varsayımını içerir. Ekipler, tam bir mono-repo geçişine ihtiyaç duymadan PR odaklı Terraform işlem hatlarında en az ayrıcalığı uygulamak için bunu kullanabilir.

İkili kontrolün iki katmanı vardır: insan kodu inceleme onayı ve uygulamayı tetiklemek için gereken net bir PR yorumu. Bu, ayrı, denetlenebilir eylemler olarak planlamayı ve uygulamayı sürdürür. Merkezi IaC boru hatlarının güvenliğinin sağlanması iyi bilinen bir zorluktur. Mercari’nin Terraform monorepo’sunda da benzer bir sorun vardı.

Her şey, tüm projelerin sahip haklarına sahip olan geniş bir GCP hizmet hesabıyla başladı. Mercari bunu düzeltmek için GCP’nin araçlarını kullandı. Anahtarsız Cloud Build kimlik bilgilerini, her hizmet için salt okunur bir “plan” hesabı ve belirli bir “uygulama” hesabıyla eşleştirdiler. Her işin etkisini tek bir projeyle sınırlamak için kimliğe bürünmeyi kullandılar. Slack farklı bir yaklaşım seçti.

Devlet mülkiyetini bireysel ekiplere dağıttılar. Ancak yine de planla-sonra uygula sınırını uyguluyorlar. Değişiklikler üretime ulaşmadan önce korumalı alandan ve geliştirmeden geçmelidir. RPP, net bir arka uç ve KMS anahtarı doğrulama adımı içerdiğinden öne çıkıyor. Bu adım, bir çalışma alanının Terraform kod yolunu f durumuna göre kontrol eder. Herhangi bir rol üstlenilmeden önce ile.

Mercari ve Slack’in kullandığına benzer bir rol haritalama modeline katkıda bulunarak ekstra bir savunma görevi görüyor. Bu, merkezi IaC boru hatlarının tek bir arıza noktası haline gelmesini önlemeye yardımcı olur.

Daha fazlasını gösterDaha az göster Bu Makaleyi Değerlendirin Sık sorulan sorulara kısa yanıtlar Yazarla İletişime Geçildi Bu içerik DevOps konusundadır Java Haber Özeti: OpenJDK JEP’ler, Jakarta EE, GraalVM, TornadoVM, Micronaut, Quarkus, JobRunr, Maven Stripe, Veritabanı Düzeltmeyi Otomatikleştirmek için Grafik Arama ve Durum Makinelerini Kullanıyor Mikro Hizmet Platformları: Ekip Topolojileri Mikro Hizmet Modelleriyle Buluştuğunda Vercel Labs Zero’yu Sunuyor: Temsilcilerin Kodu Yazması İçin Geliştirilmiş Grafik Öncelikli Bir Dil OpenAI Ajanları Sürüsü, Sandbox’tan Kaçmak ve Sarılma Yüzünü İhlal Etmek İçin Artifactory Zero-Day’den Yararlanıyor Kültür ve Yöntem Trendleri 2026: Yapay Zeka Mühendisliğinin İnsani Tarafı InfoQ Bülteni InfoQ’da geçen haftanın içeriğinin özeti her Salı günü gönderilir.

250.000’den fazla kıdemli geliştiriciden oluşan topluluğa katılın. Bir örneği görüntüle E-posta adresinizi girin Ülkenizi seçin Bir ülke seçin InfoQ.com’un verilerimi bu Gizlilik Bildiriminde açıklandığı şekilde işlemesine izin veriyorum. Gizliliğinizi koruyoruz.

Editörün Notu

Bilgiler kaynak yayına göre derlenmiştir; karar öncesi güncel resmi duyuruları kontrol edin.

Emre Demir
Yazar

Yazılım Editörü

Yazılım editörü ve full-stack geliştirici. Uygulama incelemeleri, kodlama rehberleri ve verimlilik araçları üzerine yazıyor. Açık kaynak projelere katkıda bulunuyor; karmaşık konuları yeni başlayanların anlayacağı şekilde anlatmaya özen gösteriyor.

Tüm yazıları gör →