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

  • Etkin olmayan kullanıcıları MSA hesaplarından kaldırın:
    • Kuruluşunuz MSA hesapları kullanıyorsa, etkin olmayan kullanıcıları kuruluştan doğrudan kaldırın.
    • Ne yazık ki, bu kullanıcıların erişimini engellemenin başka bir yolu yoktur.
    • 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ırakın veya silin:
    • Kuruluşunuz Microsoft Entra Id'ye bağlıysa, Azure DevOps kullanıcı hesabını etkin tutarken Microsoft Entra kullanıcı hesabını devre dışı bırakabilir veya silebilirsiniz.
    • Bu yaklaşım, Azure DevOps kullanıcı kimliğinizi kullanarak iş öğesi geçmişini sorgulamaya devam etmenizi sağlar.
  • Kullanıcı PAT'lerini iptal et:
    • Mevcut kullanıcı PAT'lerini düzenli olarak gözden geçirin ve iptal edin.
    • PAT'ler kritik kimlik doğrulama belirteçleridir ve bunları güvenli bir şekilde yönetmek çok önemlidir.
  • Tek tek kullanıcılara verilen özel izinleri iptal edin:
    • Tek tek kullanıcı hesaplarına verilen özel izinleri denetleyin ve iptal edin.
    • İzinlerin en az ayrıcalık ilkesiyle uyumlu olduğundan emin olun.
  • Kaldırılan kullanıcılardan çalışmayı yeniden atayın:
    • Kullanıcıları kaldırmadan önce, işledikleri iş öğelerini yeniden atayın.
    • İş yükünü geçerli ekip üyeleri arasında dağıtın.

Microsoft Entra Id kullanma

  • Kimlik için tek düzlem:
    • Azure DevOps'u Microsoft Entra ID'ye bağlayarak birleşik bir kimlik sistemi oluşturursunuz.
    • Hizmetler arasında tutarlılık karışıklığı azaltır ve el ile yapılandırma hatalarından kaynaklanan güvenlik risklerini en aza indirir.
  • Uçtan uca idare:
    • Microsoft Entra Id'yi kullanmak, ayrıntılı idareyi uygulamanıza olanak tanır.
    • Çeşitli kaynak kapsamlarında belirli Microsoft Entra gruplarına farklı roller ve izinler atayın.
    • Bu yaklaşım, denetimli erişim sağlar ve güvenlik için en iyi yöntemlerle uyumlu hale getirme.
  • Güvenlik özellikleri:
    • Microsoft Entra ID, aşağıdakiler gibi ek güvenlik özellikleri sağlar:
      • Çok Faktörlü Kimlik Doğrulaması (MFA): Birden çok faktör (örneğin, parola ve telefon doğrulaması) gerektirerek kullanıcı kimlik doğrulamasını geliştirin.
      • Koşullu erişim ilkeleri: Erişim kurallarını koşullara (örneğin, konum, cihaz veya risk düzeyi) göre tanımlayın.

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

Denetim olaylarını gözden geçirme

Kuruluşunuz Microsoft Entra tarafından yedeklendikten sonra güvenliği artırmak ve kullanım düzenlerini izlemek için aşağıdaki görevleri gerçekleştirin:

  • Denetimi etkinleştir:
    • Güvenlik ilkelerinizde denetimi etkinleştirin.
    • Denetim, kullanıcı eylemleri, izinler ve değişikliklerle ilgili olayları izlemeye ve günlüğe kaydetmeye yardımcı olur.
  • Denetim olaylarını düzenli olarak gözden geçirin:
    • Denetim günlüğünü düzenli aralıklarla gözden geçirin.
    • Özellikle yöneticiler ve diğer kullanıcılar tarafından beklenmeyen kullanım desenleri 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 verilenler listesi:
    • Belirli IP adreslerine erişimi kısıtlamak için bir izin verilenler listesi ayarlayın.
    • Saldırı yüzeyini azaltarak yalnızca güvenilir kaynaklardan gelen trafiğe izin verin.
  • Şifreleme:
    • Aktarımdaki ve bekleyen veriler için her zaman şifreleme kullanın.
    • HTTPS gibi protokolleri kullanarak iletişim kanallarının güvenliğini sağlayın.
  • Sertifika doğrulama:
    • Bağlantı kurarken sertifikaları doğrulayın.
    • Sertifikaların geçerli olduğundan ve güvenilen yetkililer tarafından verildiğine emin olun.
  • Web uygulaması güvenlik duvarları (WAF):
    • Kötü amaçlı web tabanlı trafiği filtrelemek, izlemek ve engellemek için WAF'ler uygulayın.
    • WAF'ler yaygın saldırılara karşı ek bir koruma katmanı sağlar.

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


Kapsamlı izinler

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 erişim sağlayın: 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ırlayın:
    • Hassas bilgilerin sızması ve güvenli olmayan kodun üretime dağıtılması riskini azaltmak için projelere ve depolara erişimi sınırlayın.
    • İzinleri yönetmek için yerleşik güvenlik gruplarını veya özel güvenlik gruplarını kullanın. Daha fazla bilgi için bkz . Belirli görevlere izin verme veya kısıtlama.
  • "Genel projelere izin ver" özelliğini devre dışı bırakın:
    • Kuruluşunuzun ilke ayarlarında genel projeler oluşturma seçeneğini devre dışı bırakın.
    • Azure DevOps Services, proje görünürlüğünü genelden özele (veya tam tersi) geçirmenizi sağlar.
    • Kuruluşunuzda oturum açmamış kullanıcıların genel projelere salt okunur erişimi vardır.
    • Oturum açan kullanıcılara özel projelere erişim izni verilebilir 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:
  • Kişisel ve iş hesaplarınız için farklı bir e-posta veya UPN kullanın:
    • İzin verilse de, kişisel ve iş hesapları için ayrı e-posta adresleri veya kullanıcı asıl adları (UPN) kullanın.
    • Bu uygulama, kişisel ve işle ilgili hesaplarınız arasında ayrım yaparken belirsizliği ortadan kaldırır.
  • Dış konuk kullanıcıları gruplandırma:
    • Tüm dış konuk kullanıcıları tek bir Microsoft Entra grubuna yerleştirin.
    • Bu grup için izinleri 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. Daha fazla bilgi için bkz . Erişim düzeyleri atamak için grup kuralı ekleme.
    • Kullanıcılar sayfasının Grup kuralları sekmesinde kuralları düzenli olarak yeniden değerlendirin. 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 saat kadar sürebilir. 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.
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 kılabilir.
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.

Daha fazla bilgi için bkz . Geçerli kullanıcı grupları.

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ı

  • Hizmet hesaplarını anlama
  • 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 ve açıklayıcı adlar kullanın.
    • Amaçlarını ve ilişkili hizmetlerini belgele.
  • Kullanılmayan hizmet hesaplarını tanımlama ve devre dışı bırakma:
    • Artık kullanımda olmayan 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ıtla:
    • 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 rapor okuyucuları için farklı bir kimlik kullanın.
    • Gereksiz erişimi önlemek için izinleri yalıtma. Daha fazla bilgi için bkz . Hizmet hesapları ve bağımlılıkları.
  • Çalışma grubu yüklemeleri için yerel hesapları kullanın:
    • 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. Daha fazla bilgi için bkz . Hizmet hesabı gereksinimleri.
  • Hizmet bağlantılarından yararlanın:
    • Mümkün olduğunda hizmet bağlantılarını kullanın.
    • Gizli dizi değişkenlerini doğrudan derlemelere geçirmeden hizmetlere bağlanmak için güvenli bir yol sağlar.
    • Bağlantıları belirli kullanım örnekleriyle kısıtlayın.
  • Hizmet hesabı etkinliğini izleme:

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

Kapsam hizmeti bağlantıları

  • Azure Resource Manager hizmet bağlantılarının kapsamını belirleme:
    • Erişimi sınırlamak için hizmet bağlantılarınızın kapsamını belirli kaynaklar ve gruplara göre belirleyin. Azure aboneliğinin tamamında geniş kapsamlı katkıda bulunan hakları vermekten kaçının.
    • Kimlik doğrulaması için iş yükü kimlik federasyonu kullanın. Bu, Azure Pipelines'da gizli dizi içermeyen hizmet bağlantılarına izin verir.
  • İş yükü kimlik federasyonu kullanın:
    • İş yükü kimliği federasyonu, gizli dizi kullanmadan Azure kaynaklarıyla kimlik doğrulaması yapmak için OpenID Connect 'i (OIDC) kullanır.
    • İş yükü kimliği federasyonlarını otomatik olarak veya el ile oluşturabilirsiniz. Aşağıdakiler durumunda bu yaklaşımı göz önünde bulundurun:
      • Azure aboneliğiniz için Sahip rolünüz bulunuyorsa.
      • Azure Stack veya Azure US Government ortamlarına bağlana değilsiniz.
      • Kullandığınız tüm Market uzantıları görevleri iş yükü kimliği federasyonu1'i destekler.
  • Kaynak grubu kapsamı:
    • Kaynak grubunun yalnızca derleme işlemi için gereken Sanal Makineler (VM) veya kaynakları içerdiğinden emin olun.
  • Klasik Azure hizmet bağlantılarından kaçının:
    • Klasik hizmet bağlantılarında kapsam belirleme seçenekleri yok. Bunun yerine modern Azure Resource Manager hizmet bağlantılarını tercih edin.
  • Amaca özgü ekip hizmeti hesaplarını kullanın:
    • Güvenliği 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ı:
    • 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şecek şekilde yapılandırıldı.
    • Belirli erişim ve denetime ihtiyaç duyan uygulamalar için kullanışlıdır.
  • Yönetilen kimlikler:
    • 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 istediğinizde idealdir.

PAT'leri tedbirli kullanma

  • Belirli rollere kapsam PAT'leri:
    • PAT'lere yalnızca belirli görevler için gerekli izinleri atayın. Birden çok kuruluşa veya depoya genel erişim vermekten kaçının.
    • Kapsam belirleme PAT'leri, gerekli en düşük ayrıcalıklara sahip olmalarını sağlayarak yanlışlıkla kötüye kullanım riskini azaltır.
  • Derlemeler ve sürümler üzerinde yazma veya yönetme izinlerinden kaçının:
    • PAT'ler derlemeler, sürümler veya diğer kritik kaynaklarda yazma veya yönetme izinlerine sahip 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 PAT'ler 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 bunları genel olarak paylaşmaktan veya uygulama kodunuzda sabit kodlamaktan kaçının.
  • Uygulama kodunda sabit kodlamaDAN kaçının:
    • Kullanışlı görünse de, DOĞRUDAN kodunuza PAT eklemekten kaçının.
    • Bunun yerine, PAT'leri dinamik olarak depolamak ve almak için güvenli yapılandırma dosyalarını veya ortam değişkenlerini kullanın.
  • Kullanılmayan PAT'leri düzenli olarak denetleyin ve iptal edin:
    • Yöneticilerin REST API'lerini kullanarak tüm PAT'leri düzenli aralıklarla gözden geçirmesi gerekir.
    • Artık gerekli olmayan veya önerilen ölçütleri karşılamamış tüm PAT'leri iptal edin.

Daha fazla bilgi için aşağıdaki makalelere göz atın:


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

  • Özgün istek sahibinin dışında gözden geçirenleri gerektir:
    • Özgün istek sahibinin dışında en az bir gözden geçirenin olması daha kapsamlı bir gözden geçirme işlemi sağlar.
    • Onaylayan, değişikliklerin ortak sahipliğini paylaşır ve olası etkilerden eşit olarak sorumlu tutulmalıdır.
  • Ci derlemesinin geçirilmesini gerektir:
    • Çekme isteğini birleştirmeden önce Sürekli Tümleştirme (CI) derlemesinin geçirilmesini gerektirmek, kod kalitesi için bir temel oluşturur.
    • CI denetimleri kod lint, birim testleri ve güvenlik taramalarını (örneğin, virüs ve kimlik bilgileri denetimleri) içerir.
  • Özgün istek sahibinin kendi kendine onayına izin verme:
    • Özgün PR istek sahibinin kendi değişikliklerini onaylamasını engelleyin.
    • Bu eylem, taraflı olmayan bir gözden geçirme işlemi sağlar ve olası çıkar çakışmalarını önler.
  • "Bekle" veya "reddet" oylarıyla bile çekme isteğinin tamamlanmasına izin verme:
    • Bazı gözden geçirenler beklemek veya reddetmek için oy kullansalar bile, ÇEKME isteğinin tamamlanmasını önleyin.
    • Bu eylem birleştirmeden önce tüm geri bildirimlerin ele alınmasına teşvik eder.
  • Kod gözden geçirenin gönderilen değişikliklere oy vermelerini sıfırla:
    • Son değişiklikler çekme isteğine gönderildiğinde gözden geçiren oylarını sıfırlayın.
    • Bu eylem, gözden geçirenlerin güncelleştirilmiş kodu yeniden değerlendirmesini sağlar.
  • Yayın işlem hatlarını belirli üretim dallarına kilitleyin:
    • Yayın işlem hatlarını belirli dallarla (genellikle üretim veya ana) sınırlayın.
    • Diğer dallardan yanlışlıkla dağıtım yapmaktan kaçının.
  • Kuyruk zamanında ayarlanabilir değişkenleri zorunlu kılma:
    • İşlem hattı değişkenleri için "Kuyruk zamanında ayarlanabiliri zorla" seçeneğini etkinleştirin.
    • Bu eylem, kullanıcıların işlem hattı yürütmesi sırasında değişken değerlerini geçersiz kılmasını engeller.
  • Düzenleyicide değişken geçersiz kılmalarına izin verme:
    • İşlem hattı düzenleyicisinde ayarlanan değişkenler için kullanıcı geçersiz kılmalarına izin verme.
    • Bu eylem tutarlılığı korur ve istenmeyen değişiklikleri önler.

Aracılar

  • İzinleri tedbirli bir şekilde verin:
    • İzinleri gerekli en küçük hesap kümesiyle sınırlayın.
    • Saldırı yüzeyini azaltarak aşırı izinli erişimden kaçının.
  • Kullanılabilir aracılar için kısıtlayıcı güvenlik duvarları:
    • Aracıların çalışmasına izin verirken güvenlik duvarlarını mümkün olduğunca kısıtlayıcı olacak şekilde yapılandırın.
    • Güvenlik ve kullanılabilirlik arasında dengeyi sağlamak.
  • Aracı havuzlarını düzenli olarak güncelleştirin:
    • Aracıları düzenli olarak güncelleştirerek aracı filonuzu güncel tutun.
    • Bu eylem, güvenlik açığı bulunan kodun çalışmamasını sağlayarak yararlanma riskini azaltır.
  • Üretim yapıtları için ayrı aracı havuzu:
    • Üretim için hedeflenen yapıtlar için ayrı bir aracı havuzu kullanın.
    • Üretim yapıtlarını yalıtma, üretim dışı dallardan yanlışlıkla dağıtım yapılmasını önlemeye yardımcı olur.
  • Hassas havuzları segmente alın:
    • 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 kullanın:
    • YAML (Ancak Başka bir biçimlendirme dili), işlem hatlarını tanımlamak için önerilen yaklaşımdır.
    • Değişiklikler için izlenebilirlik sağlayarak zaman içinde değişiklikleri izlemeyi kolaylaştırır.
    • Ayrıca YAML işlem hatları onay yönergelerine ve sürüm denetimi uygulamalarına da uyabilir.
  • İşlem hattı tanımlarına düzenleme erişimini kısıtlayın:
    • İşlem hattı tanımlarını düzenleme erişimini gerekli en düşük hesaplarla sınırlayın.
    • Bunu yaptığınızda, yanlışlıkla veya yetkisiz değişiklik riskini azaltmış olursunuz.

Giriş

  • Derleme betiklerine değişkenler için gizlilik denetimleri ekleyin:
    • Ayarlanabilir değişkenler aracılığıyla olası komut ekleme saldırılarını azaltmak için derleme betiklerinizde gizlilik denetimleri uygulayın.
    • Bu denetimler giriş değerlerini doğrulayabilir ve istenmeyen veya kötü amaçlı komutları önleyebilir.
  • "Yayın zamanında ayarlanabilir" derleme değişkenlerinin sayısını sınırlayın:
    • "Yayın zamanında ayarlanabilir" olmak için mümkün olduğunca az derleme değişkeni ayarlayın.
    • Bu tür değişkenlerin sayısını en aza indirmek saldırı yüzeyini azaltır ve yapılandırma yönetimini basitleştirir.

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:
    • Derleme günlüklerinizde gizli diziler veya kimlik bilgileri gibi hassas bilgileri hiçbir zaman günlüğe kaydetmeyin.
    • Gizli dizileri günlüğe kaydetmek, bunları istemeden kullanıma açabilir ve güvenliği tehlikeye atabilir.
  • Gizli diziler için Azure Key Vault kullanın:
    • Gizli dizileri doğrudan işlem hattı değişkenlerinde depolamak yerine Azure Key Vault kullanın.
    • Key Vault, gizli dizileri merkezi olarak yönetmek ve almak için güvenli bir yol sağlar.
  • Ç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 derlemeleri herhangi bir dal veya etiketle ç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ırakın:
    • 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 "En az sayıda gözden geçiren gerektir" ilkesini etkinleştirin.
    • Bu, kapsamlı kod gözden geçirme ve sorumluluk düzeyini yükseltmektedir.
  • Depoya özgü güvenlik ilkelerini yapılandırın:
    • Proje genelinde ilkeler yerine, güvenlik ilkelerini her depoya veya dala uyarlar.
    • Özelleştirilmiş ilkeler riski azaltır, değişiklik yönetimi standartlarını uygular ve kod kalitesini geliştirir.
  • Üretim gizli dizilerini ayrı bir anahtar kasasında yalıtma:
    • Üretim gizli dizilerini Azure Key Vault'ta ayrı olarak depolayın.
    • Üretim dışı derlemelerden ayrımı korumak için erişimi bilinmesi gereken bir temelle sınırlayın.
  • Test ortamlarını üretimden ayırma:
    • Test ortamlarını üretimle karıştırmaktan kaçının.
    • Kimlik bilgilerinin ve gizli dizilerin üretim dışı bağlamlarda kullanılmadığından emin olun.
  • Çatal oluşturma özelliğini devre dışı bırak:
    • Çatal oluşturmanın devre dışı bırakılması güvenliğin yönetilmesine yardımcı olur.
    • Çatallar çoğalarak tüm kopyalarda güvenliğin izlenmesini zorlaştırabilir.
  • Çatal derlemelerine gizli dizi sağlamaktan kaçının:
    • Gizli dizileri çatallanmış derlemelerle paylaşmaktan kaçının.
    • Gizli diziler gizli kalmalı ve çatallara açık olmamalıdır.
  • Çatal derlemelerini el ile tetikleme göz önünde bulundurun:
    • Otomatik tetikleyicilere izin vermek yerine çatallar için derlemeleri el ile tetikleyin.
    • Bu, güvenlik denetimleri üzerinde daha iyi denetim sağlar.
  • Çatal derlemeleri için Microsoft tarafından barındırılan aracıları kullanın:
    • Çatallanmış derlemeler için Microsoft tarafından barındırılan aracılardan yararlanın.
    • Bu aracılar korunur ve güvenlidir.
  • Git depolarında üretim derleme tanımlarını tarayın:
    • Projenizin Git deposunda depolanan üretim derleme tanımlarını düzenli olarak denetleyin.
    • Tüm kimlik bilgilerini veya hassas bilgileri tarayın.
  • Üretim bağlamı için dal denetimi denetimlerini yapılandırın:
    • Hassas bağlantıların (örn. prod-connection) üretim dalı bağlamında çalışan işlem hatlarıyla kullanımını kısıtlamak için dal denetimi denetimleri ayarlayın.
    • Bu, doğru yetkilendirmeyi sağlar ve yanlışlıkla kötüye kullanımı önler.

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.
    • Daha iyi güvenlik ve tümleştirme sağlayan 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 PAT'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ıları olarak kişisel GitHub hesaplarından kaçının:
    • Azure DevOps'ta hizmet bağlantıları olarak kişisel GitHub hesaplarını kullanmayın.
    • Bunun yerine, ayrılmış hizmet hesapları oluşturun veya kuruluş düzeyinde hesapları kullanın.