Aracılığıyla paylaş


En iyi güvenlik uygulamaları

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Özellikle Azure DevOps Services gibi bulut tabanlı bir çözümde bilgi ve verileri işlerken güvenlik en yüksek önceliğiniz olmalıdır. Microsoft temel bulut altyapısının güvenliğini sağlarken, Azure DevOps içinde güvenliği yapılandırmak sizin sorumluluğunuzdadır.

Zorunlu olmasa da, en iyi yöntemlerin bir arada kullanılması deneyiminizi önemli ölçüde geliştirebilir ve güvenliği artırabilir. Aşağıdaki öneriler, güvenli bir Azure DevOps ortamını korumanıza yardımcı olmak için tasarlanmıştır.

Azure DevOps ortamınızın güvenliğini sağlama

Kullanıcıları kaldırmak, denetim olaylarını gözden geçirmek ve Microsoft Entra ID ile tümleştirmek için aşağıdaki en iyi yöntemleri kullanın.

Kullanıcıları kaldırma

  • Microsoft hesaplarından (MSA' lar) etkin olmayan kullanıcıları kaldırma: MSA'ları kullanıyorsanız kuruluşunuzdaki etkin olmayan kullanıcıları doğrudan kaldırın. Kaldırılan MSA hesaplarına atanan iş öğeleri için sorgu oluşturamazsınız.
  • Microsoft Entra kullanıcı hesaplarını devre dışı bırakma veya silme: Microsoft Entra Id'ye bağlıysanız, Azure DevOps kullanıcı hesabını etkin tutarken Microsoft Entra kullanıcı hesabını devre dışı bırakın veya silin. Bu eylem, Azure DevOps kullanıcı kimliğinizi kullanarak iş öğesi geçmişini sorgulamaya devam etmenizi sağlar.
  • Kullanıcı PTS'lerini iptal etme: Bu kritik kimlik doğrulama belirteçlerinin güvenli bir şekilde yönetilmesini sağlamak için mevcut kullanıcı PTS'lerini düzenli olarak gözden geçirin ve iptal edin.
  • Tek tek kullanıcılara verilen özel izinleri iptal etme: En düşük ayrıcalık ilkesiyle uyumlu olduğundan emin olmak için tek tek kullanıcılara verilen özel izinleri denetleyin ve iptal edin.
  • Kaldırılan kullanıcılardan çalışmayı yeniden atama: Kullanıcıları kaldırmadan önce, yükü etkili bir şekilde dağıtmak için iş öğelerini geçerli ekip üyelerine yeniden atayın.

Microsoft Entra Id kullanma

  • Birleşik kimlik sistemi oluşturma: Kimlik için tek bir düzlem oluşturmak için Azure DevOps'u Microsoft Entra Id'ye bağlayın. Bu tutarlılık karışıklığı azaltır ve el ile yapılandırma hatalarından kaynaklanan güvenlik risklerini en aza indirir.
  • Ayrıntılı idare uygulama: Çeşitli kaynak kapsamlarında belirli gruplara farklı roller ve izinler atamak için Microsoft Entra Id kullanın. Bu eylem, denetimli erişim sağlar ve en iyi güvenlik yöntemleriyle uyumlu hale gelir.
  • Güvenlik özelliklerini geliştirme: Microsoft Entra ID ile aşağıdakiler gibi diğer güvenlik özelliklerini etkinleştirin:
    • Çok Faktörlü Kimlik Doğrulaması (MFA): Kullanıcı kimlik doğrulaması için parola ve telefon doğrulaması gibi birden çok faktör gerektirir. Koşullu erişim ilkeleri: Konum, cihaz veya risk düzeyi gibi koşullara göre erişim kuralları tanımlayın.

Daha fazla bilgi için aşağıdaki makaleleri inceleyin:

Denetim olaylarını gözden geçirme

Kuruluşunuz Microsoft Entra'ya bağlı olarak, güvenliği geliştirmek ve kullanım düzenlerini izlemek için aşağıdaki görevleri gerçekleştirin:

  • Denetimi etkinleştirme: Kullanıcı eylemleri, izinler ve değişikliklerle ilgili olayları izleyin ve görüntüleyin.
  • Denetim olaylarını düzenli olarak gözden geçirin: Özellikle yöneticiler ve diğer kullanıcılar tarafından beklenmeyen kullanım düzenleri arayın.

Ağınızın güvenliğini sağlama

Aşağıdaki işlevler, Azure DevOps ile çalışırken ağınızın güvenliğini artırmanın etkili yollarıdır.

  • IP izin listesini ayarlama: Yalnızca güvenilir kaynaklardan gelen trafiğe izin vermek için belirli IP adreslerine erişimi kısıtlayarak saldırı yüzeyini küçültün.
  • Şifrelemeyi kullanma: Aktarımdaki ve bekleyen verileri her zaman şifreleyin. HTTPS gibi protokolleri kullanarak iletişim kanallarının güvenliğini sağlayın.
  • Sertifikaları doğrulama: Bağlantıları kurarken sertifikaların geçerli olduğundan ve güvenilen yetkililer tarafından verildiğine emin olun.
  • Web uygulaması güvenlik duvarlarını (WAF' ler) uygulama: Yaygın saldırılara karşı ek bir koruma katmanı için WAF'lerle kötü amaçlı web tabanlı trafiği filtreleyin, izleyin ve engelleyin.

Daha fazla bilgi için bkz . Uygulama yönetimi en iyi yöntemleri.


Kapsam izinleri

Sistem, bireysel, koleksiyon, proje ve nesne gibi çeşitli düzeylerdeki izinleri işler ve bunları varsayılan olarak bir veya daha fazla yerleşik gruba atar. Güvenliği artırmak için aşağıdaki eylemleri gerçekleştirin:

  • En az ayrıcalık erişimi sağlama: Kullanıcılara ve hizmetlere iş işlevlerini gerçekleştirmek için gereken en düşük erişimi verin.
  • Devralmayı devre dışı bırak: Mümkün olduğunda devralmayı devre dışı bırakın. Devralma, varsayılan olarak izin verme özelliği nedeniyle beklenmeyen kullanıcılara yanlışlıkla erişim veya izin verebilir. Daha fazla bilgi için izin devralma bölümüne bakın

İzinler hakkında daha fazla bilgi için aşağıdaki makalelere bakın:

Proje düzeyinde izinler

  • Projelere ve depolara erişimi sınırlandırma: Projelere ve depolara erişimi sınırlayarak hassas bilgileri sızdırma ve güvenli olmayan kod dağıtma riskini azaltın. Yerleşik veya özel güvenlik gruplarını kullanarak izinleri yönetin.
  • "Genel projelere izin ver"i devre dışı bırakın: Kuruluşunuzun ilke ayarlarında genel projeler oluşturma seçeneğini devre dışı bırakın. Gerektiğinde proje görünürlüğünü genelden özele değiştirin. Oturum açmamış kullanıcıların genel projelere salt okunur erişimi olurken, oturum açan kullanıcılara özel projelere erişim ve izin verilen değişiklikler yapılabilir.
  • Proje oluşturmayı kısıtla: Ortamınız üzerinde denetimi korumak için kullanıcıların yeni projeler oluşturmasını engelleyin.

Dış konuk erişimi

  • Dış konuk erişimini engelle: İş gereği yoksa dış konuk erişimini önlemek için "Herhangi bir etki alanına davet gönderilmesine izin ver" ilkesini devre dışı bırakın.
  • Ayrı e-postalar veya UPN'ler kullanın: Kişisel ve iş hesapları arasındaki belirsizliği ortadan kaldırmak için kişisel ve iş hesapları için farklı e-posta adresleri veya kullanıcı asıl adları (UPN' ler) kullanın.
  • Dış konuk kullanıcıları gruplandırma: Tüm dış konuk kullanıcıları tek bir Microsoft Entra grubuna yerleştirin ve bu grubun izinlerini uygun şekilde yönetin. Grup kurallarının bu kullanıcılar için geçerli olduğundan emin olmak için doğrudan atamaları kaldırın.
  • Kuralları düzenli olarak yeniden değerlendirme: Kullanıcılar sayfasının Grup kuralları sekmesindeki kuralları düzenli olarak gözden geçirin. Microsoft Entra Id'de kuruluşunuzu etkileyebilecek grup üyeliği değişikliklerini göz önünde bulundurun. Microsoft Entra Id'nin dinamik grup üyeliğini güncelleştirmesi 24 saate kadar sürebilir ve kurallar her 24 saatte bir ve bir grup kuralı değiştiğinde otomatik olarak yeniden değerlendirilir.

Daha fazla bilgi için bkz . Microsoft Entra Id'de B2B konukları.


Güvenlik gruplarını yönetme

Güvenlik ve kullanıcı grupları

Aşağıdaki tabloda, güvenlik gruplarına ve kullanıcı gruplarına izin atama önerileri gösterilmektedir.

Yapmak Yapma
Çok sayıda kullanıcıyı yönetirken Microsoft Entra Id, Active Directory veya Windows güvenlik gruplarını kullanın. Proje Geçerli Kullanıcıları grubunun varsayılan izinlerini değiştirmeyin. Bu grup proje bilgilerine erişebilir ve bunları görüntüleyebilir. Daha fazla bilgi için bkz . Geçerli kullanıcı grupları.
Ekip eklerken alan yolları, yineleme yolları ve sorgular oluşturması ve değiştirmesi gereken ekip üyelerine atamak istediğiniz izinleri göz önünde bulundurun. Farklı izin düzeyleri içeren birden çok güvenlik grubuna kullanıcı eklemeyin. Bazı durumlarda, Reddetme izin düzeyi İzin ver düzeyini geçersiz kabilir. Örneğin, Azure DevOps projenizde iki güvenlik grubunuz olduğunu düşünün: Geliştiriciler ve TestÇiler. Geliştiriciler grubunun, çalışma öğelerini düzenleme izni İzin Ver olarak ayarlanmıştır. Ancak, bazı hassas iş öğelerinin birkaç önemli kişi dışında hiç kimse tarafından düzenlendiğinden emin olun. Bunu yapmak için, Hassas Öğeler Düzenleyicileri adlı yeni bir güvenlik grubu oluşturun ve bu grup için iş öğelerini düzenleme iznini Reddet olarak ayarlayın. Bir kullanıcı hem Geliştiriciler grubunun hem de Hassas Öğeler Düzenleyicileri grubunun üyesiyse, Hassas Öğe Düzenleyicileri grubundan gelen Reddetme izni, Geliştiriciler grubunun İzin Ver izninden önceliklidir. Sonuç olarak bu kullanıcı, Geliştiriciler grubunda İzin Ver iznine sahip olsa bile hassas iş öğelerini düzenleyemez. Bu davranış, Reddetme izinlerinin kesin olarak uygulanmasını sağlayarak Azure DevOps ortamınızdaki hassas eylemler üzerinde daha yüksek düzeyde güvenlik ve denetim sağlar.
Birçok ekip eklerken, Proje Yöneticileri'nin kullanabileceği izinlerin bir alt kümesini ayırdığınız bir Takım Yöneticileri özel grubu oluşturmayı göz önünde bulundurun. Proje Geçerli Kullanıcıları gruplarına yapılan varsayılan atamaları değiştirmeyin. Proje Geçerli Kullanıcılar gruplarından biri için Örnek düzeyi bilgilerini görüntüle seçeneğini Reddet olarak ayarlarsanız veya kaldırırsanız, gruptaki hiçbir kullanıcı izni ayarladığınız proje, koleksiyon veya dağıtıma erişemez.
İş öğesi sorgu klasörlerine katkıda bulunma izni vermeyi göz önünde bulundurun Proje için iş öğesi sorguları oluşturma ve paylaşma yeteneğine ihtiyaç duyan kullanıcılara veya gruplara izin verin. Kullanıcı hesaplarına yalnızca hizmet hesaplarına ata olarak not edilen izinleri atayın.
Grupları olabildiğince küçük tutun. Erişim kısıtlanmalı ve gruplar sık sık denetlenmelidir.
Yerleşik rollerden yararlanın ve geliştiriciler için varsayılan olarak Katkıda Bulunan'ı seçin. Yöneticiler yükseltilmiş izinler için Proje Yöneticisi güvenlik grubuna atanır ve bu sayede güvenlik izinlerini yapılandırabilir.

Yönetici grupları için tam zamanında erişim

Proje Koleksiyonu Yöneticisi ve Proje Yöneticisi erişiminiz varsa, kuruluşunuzun veya projenizin yapılandırmasını değiştirebilirsiniz. Bu yerleşik yönetici gruplarının güvenliğini artırmak için Bir Microsoft Entra Privileged Identity Management (PIM) grubu kullanarak tam zamanında erişim uygulamayı göz önünde bulundurun. Bu yaklaşım, yalnızca gerektiğinde yükseltilmiş izinler vermenizi sağlar ve kalıcı erişimle ilişkili riski azaltır.

Erişimi yapılandırma

  1. Microsoft Entra Id'de rol atanabilir bir grup oluşturun.
  2. Microsoft Entra grubunuzu Azure DevOps grubuna ekleyin.

Not

Microsoft Entra Privileged Identity Management (PIM) grubu kullanarak tam zamanında erişimi yapılandırdığınızda, yükseltilmiş erişimi olan tüm kullanıcıların kuruluşa standart erişimi de koruduğundan emin olun. Bu şekilde, gerekli sayfaları görüntüleyebilir ve gerektiğinde izinlerini yenileyebilirler.

Erişimi kullanma

  1. Erişiminizi etkinleştirin.
  2. Azure DevOps'ta izinlerinizi yenileyin.
  3. Yönetici erişimi gerektiren eylemi gerçekleştirin.

Not

Kullanıcılar, PIM grubu erişimi devre dışı bırakıldıktan sonra Azure DevOps'ta 1 saate kadar yükseltilmiş erişime sahiptir.

Kapsam hizmeti hesapları

  • Tek amaçlı hizmet hesapları oluşturma: Riski en aza indirmek için her hizmetin ayrılmış hesabı olmalıdır. Normal kullanıcı hesaplarını hizmet hesabı olarak kullanmaktan kaçının.
  • Adlandırma ve belge kurallarını izleyin: Hizmet hesapları için açık, açıklayıcı adlar kullanın ve bunların amacını ve ilişkili hizmetlerini belgeleyin.
  • Kullanılmayan hizmet hesaplarını tanımlama ve devre dışı bırakma: Artık kullanılmayan hesapları düzenli olarak gözden geçirin ve tanımlayın. Silmeyi düşünmeden önce kullanılmayan hesapları devre dışı bırakın.
  • Ayrıcalıkları kısıtlama: Hizmet hesabı ayrıcalıklarını gereken en düşük değerle sınırlayın. Hizmet hesapları için etkileşimli oturum açma haklarından kaçının.
  • Rapor okuyucuları için ayrı kimlikler kullanın: Hizmet hesapları için etki alanı hesapları kullanıyorsanız, izinleri yalıtmak ve gereksiz erişimi önlemek için rapor okuyucuları için farklı bir kimlik kullanın.
  • Çalışma grubu yüklemeleri için yerel hesapları kullanma: Bir çalışma grubuna bileşen yüklerken, kullanıcı hesapları için yerel hesapları kullanın. Bu senaryoda etki alanı hesaplarından kaçının.
  • Hizmet bağlantılarından yararlanma: Gizli dizi değişkenlerini doğrudan derlemelere geçirmeden hizmetlere güvenli bir şekilde bağlanmak için mümkün olduğunda hizmet bağlantılarını kullanın. Bağlantıları belirli kullanım örnekleriyle kısıtlayın.
  • Hizmet hesabı etkinliğini izleme: Hizmet hesabı etkinliğini izlemek için denetim uygulayın ve denetim akışları oluşturun.

Daha fazla bilgi için bkz . Ortak hizmet bağlantı türleri.

Kapsam hizmeti bağlantıları

  • Kapsam hizmeti bağlantıları: Azure Resource Manager hizmet bağlantılarınızın kapsamını belirli kaynaklara ve gruplara göre sınırlandırarak erişimi sınırlayın. Azure aboneliğinin tamamında geniş kapsamlı katkıda bulunan hakları vermekten kaçının.
  • İş yükü kimlik federasyonu kullanma: Gizli diziler olmadan OpenID Connect (OIDC) kullanarak Azure kaynaklarıyla kimlik doğrulaması. Azure aboneliğiniz için Sahip rolüne sahipseniz, Azure Stack veya Azure US Government ortamlarına bağlanmıyorsanız ve kullandığınız Market uzantısı görevleri bunu destekliyorsa iş yükü kimliği federasyonu otomatik olarak veya el ile oluşturun.
  • Kapsam kaynak grupları: Kaynak gruplarının yalnızca derleme işlemi için gereken Sanal Makineler (VM) veya kaynakları içerdiğinden emin olun.
  • Klasik hizmet bağlantılarından kaçının: Kapsam belirleme seçenekleri olmayan klasik bağlantı yerine modern Azure Resource Manager hizmet bağlantılarını tercih edin.
  • Amaca özgü ekip hizmeti hesaplarını kullanma: Güvenlik ve denetimi korumak için amaca özgü ekip hizmeti hesaplarını kullanarak hizmet bağlantılarının kimliğini doğrulama.

Daha fazla bilgi için bkz . Ortak hizmet bağlantı türleri.


Doğru kimlik doğrulaması yöntemini seçme

Aşağıdaki kaynaklardan kimlik doğrulama yöntemlerinizi seçin:

Hizmet sorumlularını göz önünde bulundurun

Hizmet sorumluları ve yönetilen kimlikler gibi alternatifleri keşfedin:

  • Hizmet sorumlularını kullanma: Microsoft Entra uygulaması içindeki güvenlik nesnelerini temsil eder. Bir uygulamanın belirli bir kiracıda neler yapabileceğini tanımlayın. Azure portalında uygulama kaydı sırasında ayarlama. Azure DevOps da dahil olmak üzere Azure kaynaklarına erişmek için yapılandırın. Belirli erişim ve denetime ihtiyaç duyan uygulamalar için kullanışlıdır.
  • Yönetilen kimlikleri kullanma: Uygulamanın hizmet sorumlusuna benzer. Azure kaynakları için kimlikler sağlayın. Microsoft Entra kimlik doğrulamasını destekleyen hizmetlerin kimlik bilgilerini paylaşmasına izin verin. Azure, kimlik bilgileri yönetimini ve döndürmeyi otomatik olarak işler. Sorunsuz oturum açma ayrıntıları yönetimi için idealdir.

PAT'leri tedbirli kullanma

  • Belirli rollere yönelik KAPSAM PAT'leri: PTS'leri yalnızca belirli görevler için gerekli izinleri atayın. Yanlışlıkla kötüye kullanım riskini en aza indirmek için birden çok kuruluşa veya depoya genel erişim vermekten kaçının.
  • Derlemelerde ve sürümlerde yazma veya yönetme izinlerinden kaçının: PAT'ların derlemeler, sürümler veya diğer kritik kaynaklarda yazma veya yönetme izinleri olmamalıdır. Bu izinleri kısıtlamak, işlem hatlarınızı veya dağıtımlarınızı etkileyebilecek istenmeyen eylemleri önlemeye yardımcı olur.
  • Son kullanma tarihlerini ayarlayın ve PAT'leri gizli tutun: HER zaman PTS için bir son kullanma tarihi ayarlayın. Gerektiğinde bunları düzenli olarak gözden geçirin ve yenileyin. PAT'leri parola olarak kritik olarak değerlendirin, bunları gizli tutun ve uygulama kodunda genel paylaşım veya sabit kodlamadan kaçının.
  • Uygulama kodunda sabit kodlamadan kaçının: PTS'leri doğrudan kodunuz içine eklemek yerine, güvenli yapılandırma dosyalarını veya ortam değişkenlerini kullanarak PTS'leri dinamik olarak depolayıp alın. Dinamik.
  • Kullanılmayan PAT'ları düzenli olarak denetleme ve iptal etme: Yöneticiler REST API'lerini kullanarak tüm PTS'leri düzenli aralıklarla gözden geçirmelidir. Artık gerekli olmayan veya önerilen ölçütleri karşılamamış tüm PAT'leri iptal edin.

Daha fazla bilgi için bkz. İlkelerle PAT'leri yönetme - yöneticiler için ve PAT'leri kullanma.


Azure Artifacts'in güvenliğini sağlama

Azure Boards'un güvenliğini sağlama

Azure Pipelines'ın güvenliğini sağlama

İlkeler

  • Dış gözden geçiren gerektir: Kapsamlı bir gözden geçirme işlemi için özgün istek sahibinin dışında en az bir gözden geçiren olduğundan emin olun. Onaylayan, değişikliklerin ortak sahipliğini ve olası etkilerden sorumlu olduğunu paylaşır.
  • CI derlemesinin geçirilmesini gerektir: Bir çekme isteğini birleştirmeden önce Sürekli Tümleştirme (CI) derlemesinin geçirilmesini gerektirerek kod kalitesi için bir temel oluşturun. CI denetimleri kod lint, birim testleri ve güvenlik taramalarını içerir.
  • Kendi kendine onay verme: Tarafsız bir gözden geçirme süreci sağlamak ve çıkar çatışmalarını önlemek için orijinal PR isteğinde bulunanın kendi değişikliklerini onaylamasını engelleyin.
  • Çekme isteğinin "bekleme" veya "reddetme" oylarıyla tamamlanmasına izin verme: Bazı gözden geçirenler beklemeye veya reddetmeye oy verse bile ÇEKME isteğinin tamamlanmasını engelleyerek birleştirmeden önce tüm geri bildirimlerin ele alınmasını teşvik edin.
  • Gözden geçiren değişiklikleri sıfırla oylarını sıfırla: Gözden geçirenlerin güncelleştirilmiş kodu yeniden değerlendirdiğinden emin olmak için son değişiklikler PR'ye gönderildiğinde gözden geçiren oylarını sıfırlayın.
  • Yayın işlem hatlarını kilitleme: Diğer dallardan yanlışlıkla dağıtımları önlemek için yayın işlem hatlarını belirli dallarla (genellikle üretim veya ana) sınırlayın.
  • Kuyruk zamanında ayarlanabilir değişkenleri zorunlu kılma: Kullanıcıların işlem hattı yürütme sırasında değişken değerlerini geçersiz kılmasını önlemek için işlem hattı değişkenleri için "Kuyruk zamanında ayarlanabiliri zorla" seçeneğini etkinleştirin.
  • Düzenleyicide değişken geçersiz kılmalarına izin verme: İşlem hattı düzenleyicisinde ayarlanan değişkenler için, tutarlılığı korumak ve istenmeyen değişiklikleri önlemek için kullanıcı geçersiz kılmalarına izin verme.

Aracılar

  • İzinleri tedbirli bir şekilde verme: Saldırı yüzeyini azaltmak için izinleri gerekli en küçük hesap kümesiyle sınırlayın.
  • Aracılar için kısıtlayıcı güvenlik duvarlarını yapılandırma: Güvenlik duvarlarını mümkün olduğunca kısıtlayıcı olacak şekilde ayarlarken aracıların çalışmasına izin verin, güvenlik ve kullanılabilirliği dengeleyin.
  • Aracı havuzlarını düzenli olarak güncelleştirme: Güvenlik açığı bulunan kodun çalışmadığından emin olmak için aracıları düzenli olarak güncelleştirerek aracı filonuzu güncel tutun ve bu da kötüye kullanım riskini azaltır.
  • Üretim yapıtları için ayrı bir aracı havuzu kullanın: Üretim yapıtlarını ayrı bir aracı havuzu kullanarak yalıtarak üretim dışı dallardan yapılan yanlışlıkla dağıtımları önleyin.
  • Hassas havuzları segmentlere ayırma: Hassas ve duyarsız iş yükleri için ayrı havuzlar oluşturun. Yalnızca uygun havuzla ilişkili derleme tanımlarında kimlik bilgilerine izin verin.

Tanımlar

  • İşlem hattı tanımları için YAML kullanma: Daha iyi izlenebilirlik ve onay yönergelerine ve sürüm denetimi uygulamalarına bağlı kalmak için YAML (Ancak Başka Bir İşaretleme Dili) kullanarak işlem hatlarını tanımlayın.
  • İşlem hattı tanımlarına düzenleme erişimini kısıtlama: Yanlışlıkla veya yetkisiz değişiklik riskini azaltmak için işlem hattı tanımlarını düzenleme erişimini gerekli en düşük hesaplarla sınırlayın.

Giriş

  • Derleme betiklerine değişkenler için denetimler ekleyin: Ayarlanabilir değişkenler aracılığıyla olası komut ekleme saldırılarını azaltmak için derleme betiklerinizde denetimler uygulayın. Giriş değerlerini doğrulayın ve istenmeyen veya kötü amaçlı komutları önleyin.
  • "Yayın zamanında ayarlanabilir" derleme değişkenlerini sınırlayın: Saldırı yüzeyini azaltmak ve yapılandırma yönetimini basitleştirmek için yayın zamanında ayarlanabilir derleme değişkenlerinin sayısını en aza indirin.

Görevler

  • Uzaktan getirilen kaynaklardan kaçının: Mümkün olduğunda, derleme işleminiz sırasında dış URL'lerden kaynak getirmekten kaçının. Uzak kaynaklar gerekiyorsa, bütünlüğü sağlamak için sürüm oluşturma ve karma denetimi kullanın.
  • Gizli dizileri günlüğe kaydetmekten kaçının: Gizli diziler veya kimlik bilgileri gibi hassas bilgileri, yanlışlıkla ortaya çıkmasını ve güvenliğin tehlikeye atılmasını önlemek için derleme günlüklerinizde hiçbir zaman günlüğe kaydetmeyin.
  • Gizli diziler için Azure Key Vault kullanma: Gizli dizileri doğrudan işlem hattı değişkenlerinde depolamak yerine, gizli dizileri güvenli bir şekilde yönetmek ve almak için Azure Key Vault'ı kullanın.
  • Çalışan derlemeleri rastgele dallara veya etiketlere göre kısıtlayın: Güvenlik açısından kritik işlem hatları için kullanıcıların herhangi bir dal veya etiketle derleme çalıştırmasını sınırlayın. Yanlışlıkla veya yetkisiz yürütmeleri önlemek için belirli yetkili dalları veya etiketleri tanımlayın.
  • İşlem hattı izinleri için devralmayı devre dışı bırakma: Devralınan izinler fazla geniş olabilir ve gereksinimlerinizi doğru yansıtmayabilir. Devralmayı devre dışı bırakın ve güvenlik gereksinimlerinizle uyumlu olacak izinleri açıkça ayarlayın.
  • İş yetkilendirme kapsamlarını sınırla: İş yetkilendirme kapsamlarını her zaman gereken en düşük değerle kısıtlayın. her iş tarafından gerçekleştirilen belirli görevlere göre izinlere ince ayar yapın.

Depolar ve dallar

  • En az sayıda gözden geçiren gerektir: Her çekme isteğinin en az iki onaylayandan inceleme aldığından emin olmak için ilkeyi etkinleştirin ve kapsamlı kod gözden geçirme ve sorumluluk düzeyine yükseltme yapın.
  • Depoya özgü güvenlik ilkelerini yapılandırma: Riski azaltmak, değişiklik yönetimi standartlarını uygulamak ve kod kalitesini geliştirmek için proje genelindeki ilkeler yerine her depoya veya dala güvenlik ilkelerini uyarlayın.
  • Üretim gizli dizilerini ayrı bir anahtar kasasında yalıtma: Üretim gizli dizilerini Azure Key Vault'ta ayrı olarak depolayın ve üretim dışı derlemelerden ayrılığı sürdürmek için erişimi bilinmesi gereken bir temelle sınırlayın.
  • Test ortamlarını üretimden ayırma: Kimlik bilgilerinin ve gizli dizilerin üretim dışı bağlamlarda kullanılmadığından emin olmak için test ortamlarını üretimle karıştırmaktan kaçının.
  • Çatalı devre dışı bırakma: Çatallamanın devre dışı bırakılması, çatalların çoğalmasını önleyerek güvenliğin yönetilmesine yardımcı olur ve tüm kopyalarda güvenliğin izlenmesini kolaylaştırır.
  • Çatal derlemelerine gizli dizi sağlamaktan kaçının: Gizli dizileri gizli tutmak ve çatallara maruz kalmamak için çatallanmış derlemelerle paylaşmaktan kaçının.
  • Çatal derlemelerini el ile tetiklemeyi göz önünde bulundurun: Otomatik tetikleyicilerin güvenlik denetimleri üzerinde daha iyi denetim sağlamasına izin vermek yerine çatallar için derlemeleri el ile tetikleyin.
  • Çatal derlemeleri için Microsoft tarafından barındırılan aracıları kullanma: Microsoft tarafından barındırılan aracıları, bakım ve güvenli olarak çatallanmış derlemeler için kullanın.
  • Git depolarındaki üretim derleme tanımlarını tarama: Projenizin Git deposunda depolanan üretim derleme tanımlarını kimlik bilgileri veya hassas bilgiler için düzenli olarak denetleyin.
  • Üretim bağlamı için dal denetimi denetimlerini yapılandırma: Hassas bağlantıların (örneğin, prod-connection) üretim dalı bağlamında çalışan işlem hatlarıyla kullanımını kısıtlamak, uygun yetkilendirmeyi sağlamak ve yanlışlıkla kötüye kullanımı önlemek için dal denetimi denetimleri ayarlayın.

Daha fazla bilgi için bkz . Diğer güvenlik konuları.

Azure Depolarının Güvenliğini Sağlama

Azure Test Planlarının Güvenliğini Sağlama

Güvenli GitHub Tümleştirmeleri

  • PAT'ler yerine OAuth akışını kullanın: GitHub hizmet bağlantıları için PAT tabanlı kimlik doğrulamasını devre dışı bırakın ve daha iyi güvenlik ve tümleştirme için OAuth akışını tercih edin.
  • Yönetici veya sahip kimliklerinden kaçının: Hiçbir deponun yöneticisi veya sahibi olan bir kimliği kullanarak GitHub hizmet bağlantılarının kimliğini doğrulamayın. İzinleri gerekli düzeyle sınırlayın.
  • Tam kapsamlı GitHub PTS'lerinden kaçının: Hizmet bağlantılarının kimliğini doğrulamak için tam kapsamlı bir GitHub PAT kullanmaktan kaçının. Gerekli en düşük izinlere sahip belirteçleri kullanın.
  • Hizmet bağlantısı olarak kişisel GitHub hesaplarından kaçının: Azure DevOps'ta kişisel GitHub hesaplarını hizmet bağlantısı olarak kullanmayın. Bunun yerine, ayrılmış hizmet hesapları oluşturun veya kuruluş düzeyinde hesapları kullanın.