Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Çözüm fikirleri
Bu makalede bir çözüm fikri açıklanmaktadır. Bulut mimarınız bu mimarinin tipik bir uygulaması için ana bileşenleri görselleştirmeye yardımcı olmak için bu kılavuzu kullanabilir. İş yükünüzün özel gereksinimlerine uygun iyi tasarlanmış bir çözüm tasarlamak için bu makaleyi başlangıç noktası olarak kullanın.
Bu çözüm fikri, kod olarak altyapı (IaC) için GitHub kullanan bir DevSecOps işlem hattını gösterir. Altyapı tanımlarını gerçeğin kaynağı olarak değerlendiren iş yükleri dağıtım yaşam döngüsü boyunca doğrulama, güvenlik taraması, idare ve uyumluluğu otomatikleştirebilir.
Standartlaştırılmış dağıtım desenleri, yapay zeka destekli geliştirme, kod güvenliği ve yapılandırma taraması, ilke temelli idare ve yaşam döngüsü yönetimi güvenliği artırmaya, operasyonel verimliliği artırmaya, yapılandırma kaymasını azaltmaya ve güvenilir bulut ortamları sağlamaya yardımcı olur.
Mimari
Bir Visio dosyasını bu mimariden indirin.
Veri akışı
Aşağıdaki veri akışı önceki diyagrama karşılık gelir:
Geliştiriciler altyapı kodu, yeniden kullanılabilir modüller, testler ve dağıtım iş akışları oluşturmak ve korumak için yapay zeka destekli, test temelli geliştirme kullanır. Altyapı tanımlarıyla birlikte birim testleri, tümleştirme testleri ve kod olarak ilke (PaC) denetimleri geliştirir.
Geliştiriciler, çekme isteği göndermeden önce kaliteyi, güvenliği ve uyumluluğu doğrulamak için IaC kodunu, testleri ve kontrolleri GitHub depolarına kaydeder.
Pull request'ler GitHub Actions'ta otomatik testleri tetikler. Bu iş akışı, dağıtımdan önce dağıtım önizlemeleri oluşturur ve doğrular.
GitHub Gelişmiş Güvenlik, depo düzeyinde güvenlik denetimleri sağlar. Denetimler, uygun olduğunda kod tarama veya bağımlılık inceleme iş akışlarını içerir ve açığa çıkmış gizli bilgileri tespit etmek için depoda gizli bilgi taramasını ve gönderim korumasını etkinleştirir.
Yapılandırılmış bir DevOps güvenlik eylemi, altyapı tanımlarını yanlış yapılandırmalar için tarar ve bulguları Microsoft Defender for Cloud DevOps güvenliğine bildirir. Defender for Cloud, dağıtımdan önce düzeltmenin önceliğini belirlemeye yardımcı olmak için bu bulguları bulut güvenliği duruş içgörüleriyle ilişkilendirmektedir.
Dağıtım işlem hattı, Azure Verified Modules (AVM) gibi onaylanmış altyapı tanımlarındaki yeniden kullanılabilir IaC bileşenlerini kullanarak Azure kaynaklarını sağlar ya da günceller. Azure dağıtım yığınları, dağıtılan kaynaklarla kaynak denetimindeki tanımlar arasında hizalamanın korunmasına yardımcı olur ve dağıtım reddetme ayarları bant dışı değişiklikleri kısıtlayarak yapılandırma kaymasını azaltmaya yardımcı olur. Onaylanan el ile yapılan değişiklikler, Git'i yetkili gerçek kaynağı olarak korumak için kaynak denetimi aracılığıyla belgelenir ve uzlaştırılır.
DevSecOps, güvenlik tehditlerini ve güvenlik açıklarını sürekli izler ve bu tehditlere karşı savunma sağlar. Azure İlkesi, bulut yönetimini uygular.
Yapılandırılmış otomasyon, izleme veya güvenlik hizmetleri bir anomali algılarken bir GitHub Sorunu oluşturur. Örneğin, Defender for Cloud güvenlik gereksinimlerini ihlal eden genel kullanıma açık bir kaynağı tanımlayabilir. Azure İzleyici eylem grubu veya Microsoft Sentinel otomasyon kuralı, gözden geçirmek ve düzeltmek için bir GitHub Sorunu oluşturan bir Azure Logic Apps iş akışını çağırabilir.
Bileşenler
GitHub , sürüm denetimi ve işbirliği için bir kod barındırma platformudur. bu mimaride GitHub IaC şablonlarını geliştirme, test etme, idare iş akışları ve GitHub Copilot ile yapay zeka destekli geliştirme için merkezi depolarda depolar.
GitHub Actions , iş akışlarının doğrudan GitHub depolarından kod oluşturmasını, test etmesini ve dağıtmasını sağlayan sürekli tümleştirme ve sürekli dağıtım (CI/CD) otomasyon aracıdır. Bu mimaride GitHub Actions, IaC işlem hatları için birim testlerini, güvenlik taramalarını ve altyapı sağlamayı otomatikleştirir.
GitHub Gelişmiş Güvenlik, gizli dizi tarama ve bağımlılık güvenlik açığı algılama dahil olmak üzere depo düzeyinde güvenlik özellikleri sağlar. Bu mimaride GitHub Gelişmiş Güvenlik, kod birleştirilip dağıtılmadan önce kullanıma sunulan kimlik bilgilerini, savunmasız açık kaynak bağımlılıklarını ve diğer depo güvenlik risklerini tanımlamaya yardımcı olur.
Defender for Cloud'deki DevOps güvenliği, DevOps güvenlik bulgularını merkezileştirir ve bunları bulut bağlamıyla ilişkilendirmektedir. Bu mimaride, yapılandırılan Microsoft Güvenlik DevOps GitHub action, IaC yapıtlarını yanlış yapılandırmalara karşı tarar ve bulguları önceliklendirme ve düzeltme için Defender for Cloud'a bildirir.
Azure Doğrulanmış Modüller (AVM), Microsoft tarafından tutulan önceden oluşturulmuş IaC modülleridir. Bu mimaride iş yükleri, Azure Well-Architected Framework kılavuzuyla uyumlu yeniden kullanılabilir kaynak ve desen modülleri dağıtmak için AVM kullanır.
Azure dağıtım yığınları, iş yüklerinin dağıtılan kaynakları tek yaşam döngüsüyle yönetilen birimler olarak yönetmesini sağlar. Azure dağıtım yığınları, dağıtılan kaynaklar ile kaynak denetimindeki altyapı tanımları arasında hizalamayı korumaya, yaşam döngüsü yönetimini desteklemeye ve idare denetimleri ve reddetme ayarları uygulayarak yapılandırma kaymasını azaltmaya yardımcı olur.
Defender for Cloud, hibrit bulut iş yükleri arasında tehdit koruması sağlayan bir güvenlik yönetimi platformudur. Bu mimaride, güvenlik açıkları ve tehditler için dağıtılan altyapıyı sürekli izler ve DevOps güvenlik bulgularını çalışma zamanı güvenlik içgörüleriyle tamamlar.
Microsoft Sentinel , tehditleri algılamak ve yanıtlamak için yapay zeka ve analiz kullanan buluta özel bir güvenlik bilgileri ve olay yönetimi (SIEM) ve güvenlik düzenleme otomatik yanıtı (SOAR) çözümüdür. Bu mimaride Microsoft Sentinel altyapı etkinliğini izler ve anomalileri algıladığında uyarılar veya GitHub Sorunları oluşturur.
Azure İlkesi, Azure kaynakları kuruluş ve iş yükü standartlarına göre değerlendirir. Atanan ilke etkisine bağlı olarak, Azure İlkesi uyumsuz yapılandırmaları denetleyebilir, değiştirebilir, düzeltebilir veya reddedebilir. Örneğin, etkisi olan
denybir ilke tanımı, SKU'sunun izin verilmediği bir sanal makinenin dağıtımını engelleyebilir.Azure İzleyici, Azure kaynaklarından performans ölçümlerini ve etkinlik günlüklerini toplayan bir telemetri ve gözlemlenebilirlik platformudur. Bu mimaride Azure İzleyici düzensiz altyapı koşullarını algılar ve önceliklendirme ve düzeltmenin başlayabilmesi için uyarılar tetikler.
Senaryo ayrıntıları
IaC'yi benimsediğinizde, kodu geliştirirken otomatikleştirilmiş testler oluşturun. Gerçek dağıtımlara öykünmek için dağıtım planları ve altyapı yapılandırma durumları oluşturun. Test temelli geliştirme , iş yükünüz ölçeklendirildiğinde IaC'yi test etme karmaşıklığını azaltır.
Azure SDK’ları ve API'ler, Azure Kaynak Grafı, iş yüküne özgü doğrulama araçları veya otomatik test çerçeveleri kullanarak dağıtılan Azure kaynaklarına yönelik tümleştirme testleri çalıştırın. Bu testler kaynak yapılandırmasını, bağlantıyı, güvenlik denetimlerini ve operasyonel hazırlığı doğrulamaya yardımcı olur.
PaC, düzenlemelere ve kurumsal idareye uygun altyapı sunmak için bir diğer önemli yöntemdir. Bulut idaresini otomatikleştirmek için işlem hatlarınıza PaC iş akışları ekleyebilirsiniz.
Geliştirme yaşam döngüsünün başlarında altyapının güvenliğini sağlamak, dağıtımdan sonra güvenlik ve uyumluluk sorunları riskini azaltır. IaC kodunda güvenlik açıklarını, kod kalitesi sorunlarını, ilke ihlallerini, gizli bilgilerin açığa çıkmasını ve yapılandırma risklerini belirlemek için GitHub Advanced Security’yi ve Defender for Cloud DevOps güvenlik özelliklerini DevSecOps iş akışlarına entegre edin. Bu yaklaşım, uygulama kodu için statik uygulama güvenliği testine (SAST) benzer.
Özellikle üretim ortamlarında altyapı dağıtıldığında ve çalışır durumda olduğunda yapılandırma kaymasını çözmek zor olabilir. Kimlik bilgilerini depolamadan Azure kaynakları sağlamak ve yönetmek için OpenID Connect (OIDC) ve Microsoft Entra İş Yükü Kimlik Federasyonu ile GitHub Actions kullanın. En az ayrıcalıklı Azure rol tabanlı erişim denetimi (Azure RBAC) atamaları ve ortam koruma denetimleri aracılığıyla dağıtım izinlerini kısıtlayın. Olağanüstü el ile değişiklikler yapmak için tam zamanında ayrıcalıklı erişimi kullanın, değişikliği kaydedin ve kaynak denetimi aracılığıyla altyapı tanımını mutabık kılmak için otomatik olarak bir GitHub Sorunu oluşturun. Mümkün olduğunda el ile yapılandırmadan kaçının ve Git'i altyapı durumunun yetkili kaynağı olarak değerlendirin.
Kaynakta kaymayı önlemeye yardımcı olmak için, bir şablonda tanımlanan Azure kaynak grubu bir yaşam döngüsünü paylaştığında Azure dağıtım yığınlarını kullanın. Dağıtım yığını sınırlamalarını hesaplayın ve bant dışı denetim düzlemi değişikliklerini kısıtlamak için uygun reddetme ayarlarını uygulayın. IaC tanımını sürüm kontrolünde tutun.
Güvenlik olaylarını önlemeye yardımcı olmak için bulut ortamını tehditlere ve güvenlik açıklarına karşı sürekli izleyin. Anormal etkinlikleri algılamak için Defender for Cloud, Microsoft Sentinel, Azure İzleyici ve diğer tehdit koruması ve SIEM araçlarını kullanın. Bu araçlar güvenlik yöneticilerini otomatik olarak uyarır ve araştırma ve düzeltme için GitHub Sorunları oluşturabilir.
Olası kullanım örnekleri
Merkezi platform mühendislik ekipleri uygulama, veri ve yapay zeka ekiplerine onaylı altın yollar olarak yeniden kullanılabilir GitHub Actions iş akışları, PaC denetimleri ve Azure dağıtım yığınları sağlayabilir. GitHub Copilot, geliştiricilerin altyapı tanımları, testler ve dağıtım iş akışları oluşturmasına yardımcı olur. Yapılandırılmış Microsoft Güvenlik DevOps eylemi, dağıtımdan önce altyapı güvenliğini ve yapılandırmasını doğrular ve bulguları Defender for Cloud DevOps güvenliğine bildirir. Kuruluş idare, tutarlılık ve güvenlik standartlarını korurken altyapı teslimini hızlandırabilir.
Finansal hizmetler, sağlık hizmetleri, kamu sektörü veya düzenlemeye tabi kuruluşlar altyapı dağıtım, ilke uygulama, güvenlik doğrulaması ve uyumluluk raporlamasını otomatikleştirmek için IaC için DevSecOps kullanabilir. Azure İlkesi, Defender for Cloud, Microsoft Sentinel ve Azure dağıtım yığınları, altyapı yaşam döngüsü boyunca denetlenebilir altyapı değişikliklerini korumaya, yapılandırma kaymasını azaltmaya ve uyumluluğu desteklemeye yardımcı olur. GitHub, tüm altyapı değişiklikleri ve idare denetimleri için yetkili gerçek kaynağıdır.
Katkıda Bulunanlar
Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.
Asıl yazarlar:
- Vito Chin | Üst Düzey Bulut Çözümü Mimarı
- Yee Shian Lee | Üst Düzey Bulut Çözümü Mimarı
Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
- Hangi IaC dilinin veya şablonun kullanılacağını göz önünde bulundurun. Bicep veya Azure’da Terraform seçenekler arasındadır.
- Bağlı GitHub deponuzu taramak için Microsoft Güvenlik DevOps'yi ayarlayın.