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.
Azure DevOps için GitHub Advanced Security, GitHub Advanced Security'nin güvenlik özellikleri paketini Azure Repos'a ekler ve aşağıdaki özellikleri içerir:
- Gizli Dizi Tarama anında iletme koruması: Kod gönderimlerinin kimlik bilgileri gibi gizli dizileri kullanıma sunan işlemeler içerip içermediğini denetleyin
- Gizli Dizi Tarama depo tarama: Deponuzu tarayın ve yanlışlıkla işlenen açığa çıkarılmış gizli dizileri arayın
- Bağımlılık Tarama – açık kaynak bağımlılıklarında bilinen güvenlik açıklarını arayın (doğrudan ve geçişli)
- Kod Tarama – SQL ekleme ve kimlik doğrulaması atlama gibi kod düzeyi uygulama güvenlik açıklarını belirlemek için CodeQL statik analiz altyapısını kullanın
Depolarınız için doğru koruma düzeyini etkinleştirme esnekliğiyle Gelişmiş Güvenlik korumasını kuruluşunuza getirebilirsiniz. Azure DevOps için GitHub Gelişmiş Güvenliği, Azure DevOps için GitHub Gizli Koruması ve Azure DevOps için GitHub Kod Güvenliği olarak kullanılabilir.
Gizli Koruma aşağıdaki özellikleri içerir:
- Gizli sızıntıları gerçekleşmeden önce önlemek için anında bildirim koruması
- Bildirimlerle mevcut maruz kalma durumlarını sorun haline gelmeden önce yakalamak için gizli tarama uyarıları
- Kuruluşunuzun risk ve güvenlik koruması düzeyi hakkında içgörü sağlayan güvenliğe genel bakış
Kod Güvenliği aşağıdaki özellikleri içerir:
- Açık kaynak bağımlılıklarındaki güvenlik açıklarını bulmak için bağımlılık uyarıları
- Doğrudan kodunuzdaki güvenlik açıklarını algılamak için CodeQL taraması
- Üçüncü taraf araçları için güvenlik bulguları
- Kuruluşunuzun risk ve güvenlik koruması düzeyi hakkında içgörü sağlayan güvenliğe genel bakış
Azure DevOps için GitHub Gelişmiş Güvenliği yalnızca Azure DevOps Services ve özellikle kod Git depoları için kullanılabilir.
Azure DevOps için GitHub Advanced Security, Azure Repos ile çalışır. GitHub Depoları ile GitHub Gelişmiş Güvenlik'i kullanmak için bkz. gitHub Gelişmiş Güvenlik .
Önkoşullar
Kategori | Gereksinimler |
---|---|
İzinler | - Depoya yönelik tüm uyarıların özetini görüntülemek için: Katkıda Bulunan depo izinleri. - Gelişmiş Güvenlik'te uyarıları kapatmak için: Proje yöneticisi izinleri. - Gelişmiş Güvenlik izinlerini yönetmek için: Proje Koleksiyonu Yöneticileri grubunun bir üyesi olun veya Gelişmiş Güvenlik'e ait ayar izinleri , olarak Ayarla izininesahip olun. |
Gelişmiş Güvenlik izinleri hakkında daha fazla bilgi için bkz. Gelişmiş Güvenlik izinlerini yönetme.
Şirket içinde barındırılan aracılar için ek önkoşullar
Kuruluşunuzda şirket içinde barındırılan aracılar kullanılıyorsa, bağımlılık tarama görevinin güvenlik açığı önerisi verilerini getirebilmesi için aşağıdaki URL'leri İzin Verilenler listenize ekleyin. Daha fazla bilgi için bkz. İzin verilen IP adresleri ve etki alanı URL'leri.
Etki alanı URL'si | Açıklama |
---|---|
https://governance.dev.azure.com |
DevOps örneğine erişmek için dev.azure.com alan adını kullanan kuruluşlar için |
https://dev.azure.com |
dev.azure.com etki alanını kullanan kuruluşların DevOps örneğine erişmesi için |
https://advsec.dev.azure.com |
dev.azure.com etki alanını kullanan kuruluşların DevOps örneğine erişmesi için |
https://{organization_name}.governance.visualstudio.com |
DevOps örneğine erişmek için {organization_name}.visualstudio.com etki alanını kullanan kuruluşlar için |
https://{organization_name}.visualstudio.com |
DevOps örneğine erişmek için {organization_name}.visualstudio.com etki alanını kullanan kuruluşlar için |
https://{organization_name}.advsec.visualstudio.com |
DevOps örneğine erişmek için {organization_name}.visualstudio.com etki alanını kullanan kuruluşlar için |
.NET çalışma zamanının uyumlu bir sürümünü (şu anda .NET 8.x) çalıştırın. Aracıda uyumlu bir sürüm yoksa bağımlılık tarama derleme görevi, .NET indirir.
CodeQL paketinin, aracınızdaki araç önbelleğine yüklendiğinden emin olun. YAML işlem hatları için
enableAutomaticCodeQLInstall: true
değişkeniniAdvancedSecurity-Codeql-Init@1
işlem hattı göreviyle kullanabilir veya klasik işlem hatları içinEnable automatic CodeQL detection and installation
onay kutusunu seçebilirsiniz. ** Alternatif olarak, el ile yükleme yönergeleri için bkz Azure DevOps için GitHub Gelişmiş Güvenliği için Kod Tarama.
GitHub Gelişmiş Güvenliğini Etkinleştirme
Gelişmiş Güvenliği kuruluş, proje veya depo düzeyinde etkinleştirebilirsiniz. Tarama araçlarının ve sonuçlarının her birine erişmek için önce Gelişmiş Güvenlik'i etkinleştirmeniz gerekir. Gelişmiş Güvenlik'i etkinleştirdikten sonra, bu ilkenin etkinleştirildiği bir depoya gizli diziler içeren gelecek tüm gönderimler engellenir ve depo gizli dizi taraması arka planda gerçekleşir.
Depo düzeyinde ekleme
- Azure DevOps projeniz için Proje ayarlarınıza gidin.
- Depolar>Depolar seçin.
- Gelişmiş Güvenlik'i etkinleştirmek istediğiniz depoyu seçin.
- Etkinleştir ve Faturalamayı başlat’ı seçerek Gelişmiş Güvenlik’i etkinleştirin. Gelişmiş Güvenlik'in etkinleştirildiği tüm depolar için depo görünümünde artık bir kalkan simgesi görünür.
Proje düzeyinde uyum süreci
- Azure DevOps projeniz için Proje ayarlarınıza gidin.
- Depolar'ı seçin.
- Ayarlar sekmesini seçin.
- Tümünü Etkinleştir'i seçin ve projeniz için aktif katkıda bulunanların sayısıyla ilgili bir tahmin görün.
- Projenizdeki mevcut tüm depolar için Gelişmiş Güvenlik'i etkinleştirmek için Faturalamayı başlat'ı seçin.
- İsteğe bağlı olarak, yeni oluşturulan tüm depoların oluşturulduktan sonra Gelişmiş Güvenlik'i etkinleştirmesi için Yeni depolar için Gelişmiş Güvenliği otomatik olarak etkinleştir'i seçin.
Kuruluş düzeyinde işe alım süreci
- Azure DevOps kuruluşunuz için Kuruluş ayarlarınıza gidin.
- Depolar'ı seçin.
- Tümünü etkinleştir'i seçin ve kuruluşunuz için etkin işleyici sayısıyla ilgili bir tahmin gözükecek.
- Kuruluşunuzdaki her projedeki mevcut depolar için Gelişmiş Güvenlik'i etkinleştirmek üzere faturalamayı Başlat'ı seçin.
- İsteğe bağlı olarak, yeni oluşturulan tüm projelerde oluşturma sırasında Gelişmiş Güvenlik'in etkinleştirilmesi için Yeni depolar için Gelişmiş Güvenliği otomatik olarak etkinleştir'i seçin.
Gizli taramayı kurulumunu yapma
"Gizli tarama anında iletme koruması ve depo taraması, Gelişmiş Güvenlik'i açtığınızda otomatik olarak etkinleştirilir." Depo ayarları sayfasından gizli itme korumasını etkinleştirebilir veya devre dışı bırakabilirsiniz.
Gizli tarama işlemi, seçilen depo için Gelişmiş Güvenlik etkinleştirildiğinde otomatik olarak başlatılır.
Bağımlılık taramayı ayarlama
Gizli Dizi Korumasını veya Kod Güvenliğini kuruluş, proje veya depo düzeyinde etkinleştirebilirsiniz.
Depo düzeyinde ekleme
- Azure DevOps projeniz için Proje ayarlarınıza gidin.
- Depolar>Depolar seçin.
- Gelişmiş Güvenlik'i etkinleştirmek istediğiniz depoyu seçin.
- Gizli Koruma veya Kod Güvenliği açın ya da kapatın.
- Faturalamayı Başlat'ı seçin. Artık depo görünümünde her iki ürünün de etkin olduğu depolar için bir kalkan simgesi görünür.
- İsteğe bağlı olarak bağımlılık tarama varsayılan kurulumunu etkinleştirmek için Seçenekler'i seçin ve Bağımlılık tarama varsayılan kurulumu onay kutusunu etkinleştirin.
Proje düzeyinde uyum süreci
- Azure DevOps projeniz için Proje ayarlarınıza gidin.
- Depolar'ı seçin.
- Ayarlar sekmesini seçin.
- Tümünü etkinleştir'i seçin ve projeniz için ürün başına etkin işleme sayısıyla ilgili bir tahmin görün.
- Gizlilik Koruması veya Kod Güvenliği ürünleri arasında geçiş yapın.
- Projenizdeki mevcut tüm depolar için Gizli Koruma ve/veya Kod Güvenliğini etkinleştirmek için Faturalamayı başlat seçin.
- İsteğe bağlı olarak, yeni oluşturulan depoların oluşturma sırasında Gizli Dizi Koruması veya Kod Güvenliği'nin etkinleştirilmesi için Gelişmiş Güvenliği yeni depolar için otomatik olarak etkinleştir seçeneğini değiştirin.
Kuruluş düzeyinde işe alım süreci
- Azure DevOps kuruluşunuz için Kuruluş ayarlarınıza gidin.
- Depolar'ı seçin.
- Tümünü etkinleştir'i seçin ve kuruluşunuz için ürün başına etkin işleyici sayısıyla ilgili bir tahmin görün.
- Gizlilik Koruması veya Kod Güvenliği ürünleri arasında geçiş yapın.
- Kuruluşunuzdaki her projedeki mevcut depolar için Gelişmiş Güvenlik'i etkinleştirmek üzere faturalamayı Başlat'ı seçin.
- İsteğe bağlı olarak, yeni oluşturulan tüm projelerde oluşturma sırasında Gizli Dizi Koruması veya Kod Güvenliği'nin etkinleştirilmesi için Yeni depolar için Gelişmiş Güvenliği otomatik olarak etkinleştir seçeneğini değiştirin.
Gizli taramayı kurulumunu yapma
Gizli Korumayı açtığınızda, gizli tarama anında iletimi koruma ve depo taraması otomatik olarak etkinleştirilir. Depo ayarları sayfasından gizli itme korumasını etkinleştirebilir veya devre dışı bırakabilirsiniz.
Belirtildiği gibi gizli dizi tarama deposu taraması, seçilen bir depo için Gizli Dizi Koruması etkinleştirildiğinde otomatik olarak başlatılır.
Bağımlılık taramayı ayarlama
Bağımlılık tarama özelliklerine erişmek için deponuzda Code Security ürününün etkinleştirilmesi gerekir.
Bağımlılık taraması, işlem hattı tabanlı bir tarama aracıdır. Sonuçlar depo başına toplanır. Bağımlılık tarama görevini taranmasını istediğiniz tüm işlem hatlarına eklemenizi öneririz.
İpucu
En doğru tarama sonuçları için, taramak istediğiniz kodu oluşturan bir işlem hattında derleme adımlarından veya paket geri yükleme adımından sonra bağımlılık tarama görevini ekleyin.
Gelişmiş Güvenlik Bağımlılığı Tarama görevini (AdvancedSecurity-Dependency-Scanning@1) doğrudan YAML işlem hattı dosyanıza ekleyin veya görev yardımcısından Gelişmiş Güvenlik Bağımlılığı Tarama görevini seçin.
Kod taramayı ayarlama
Kod tarama özelliklerine erişmek için deponuzda Code Security ürününün etkinleştirilmesi gerekir.
Kod tarama, sonuçların depo başına toplandığı işlem hattı tabanlı bir tarama aracıdır.
İpucu
Kod tarama daha yoğun bir derleme görevi olabileceğinden, kod tarama görevini ana üretim işlem hattınızın ayrı, kopyalanmış bir işlem hattına eklemenizi veya yeni bir işlem hattı oluşturmanızı öneririz.
Görevleri aşağıdaki sırayla ekleyin:
- Gelişmiş Güvenlik CodeQL Başlatma (AdvancedSecurity-Codeql-Init@1)
- Özelleştirilmiş derleme adımlarınız
- Gelişmiş Güvenlik CodeQL Çözümlemesi Gerçekleştirme (AdvancedSecurity-Codeql-Analyze@1)
Ayrıca, görevde hangi dili analiz ettiğinizi Initialize CodeQL
belirtin. Birden çok dili aynı anda çözümlemek için virgülle ayrılmış bir liste kullanabilirsiniz. Desteklenen diller şunlardır: csharp, cpp, go, java, javascript, python, ruby, swift
. Kendi barındırdığınız aracıları kullanıyorsanız, aracınız için en son CodeQL bitlerini otomatik olarak yüklemek amacıyla enableAutomaticCodeQLInstall: true
değişkenini de ekleyebilirsiniz.
İşte bir örnek başlangıç işlem hattı:
trigger:
- main
pool:
# Additional hosted image options are available: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted#software
vmImage: ubuntu-latest
steps:
- task: AdvancedSecurity-Codeql-Init@1
inputs:
languages: "java"
# Supported languages: csharp, cpp, go, java, javascript, python, ruby, swift
# You can customize the initialize task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-codeql-init-v1?view=azure-pipelines
# If you're using a self-hosted agent to run CodeQL, use `enableAutomaticCodeQLInstall` to automatically use the latest CodeQL bits on your agent:
enableAutomaticCodeQLInstall: true
# Add your custom build steps here
# - Ensure that all code to be scanned is compiled (often using a `clean` command to ensure you're building from a clean state).
# - Disable the use of any build caching mechanisms as this can interfere with CodeQL's ability to capture all the necessary data during the build.
# - Disable the use of any distributed/multithreaded/incremental builds as CodeQL needs to monitor executions of the compiler to construct an accurate representation of the application.
# - For dependency scanning, ensure you have a package restore step for more accurate results.
# If you had a Maven app:
# - task: Maven@4
# inputs:
# mavenPomFile: 'pom.xml'
# goals: 'clean package'
# publishJUnitResults: true
# testResultsFiles: '**/TEST-*.xml'
# javaHomeOption: 'JDKVersion'
# jdkVersionOption: '1.17'
# mavenVersionOption: 'Default'
# Or a general script:
# - script: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- task: AdvancedSecurity-Dependency-Scanning@1 # More details on this task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-dependency-scanning-v1?view=azure-pipelines
- task: AdvancedSecurity-Codeql-Analyze@1 # More details on this task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-codeql-analyze-v1?view=azure-pipelines
İpucu
Kotlin/Swift için CodeQL analizi şu anda beta aşamasındadır. Beta sırasında bu dillerin analizi, diğerlerinin CodeQL analizinden daha az kapsamlıdır.
- Java, Kotlin veya her ikisinde yazılmış kodu analiz etmek için kullanın
java
. - JavaScript, TypeScript veya her ikisinde yazılmış kodu analiz etmek için kullanın
javascript
.
Belirtilen dil cpp, java, csharp
veya swift
ise, özel derleme adımları gereklidir.
Pull isteği açıklamalarını ayarlama
Hem bağımlılık taraması hem de kod taraması için ek açıklamalar, işlem hattında yer alan bağımlılık tarama ve/veya kod tarama görevleriyle bir derleme doğrulama ilkesinin uygulandığı çekme istekleri için otomatik olarak yapılandırılır. Derleme doğrulama ilkelerini yapılandırma hakkında daha fazla bilgi için Derleme doğrulama bölümüne bakın.
Çekme isteği ek açıklamaları, kaynak (çekme isteği) dalınızı taramadan önce, varsayılan dalınızda ve hedef dalınızda bir Gelişmiş Güvenlik taraması yapılmasını da gerektirir. Çekme isteği dallarındaki uyarıları çözme hakkında daha fazla bilgi için bkz Çekme isteklerinde bağımlılık tarama uyarılarını yönetme ve Çekme isteklerinde kod tarama uyarılarını yönetme.
Gelişmiş Güvenlik'i devre dışı bırakmayı seçtiğinizde, tüm uyarılar ve uyarıların durumu, depoyu bir sonraki Gelişmiş Güvenlik etkinleştirişiniz için Gelişmiş Güvenlik sekmesinde saklanır.
İlgili makaleler
- Azure DevOps için GitHub Gelişmiş Güvenliği için kod tarama uyarıları
- Azure DevOps için GitHub Gelişmiş Güvenliği için bağımlılık tarama uyarıları
- Azure DevOps için GitHub Advanced Security gizli tarama uyarıları
- Azure DevOps için GitHub Advanced Security izinleri
- Azure DevOps için GitHub Advanced Security faturalandırması