Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
GitHub Advanced Security pro Azure DevOps přidává sadu funkcí zabezpečení GitHub Advanced Security do Azure Repos a obsahuje následující funkce:
- Ochrana nabízených oznámení pro kontrolu tajných kódů: Zkontrolujte, jestli nabízené kódy obsahují potvrzení, která zpřístupňují tajné kódy, jako jsou přihlašovací údaje.
- Skenování tajných informací v úložišti: prohledejte úložiště a hledejte odhalená tajemství, která byla neúmyslně potvrzena.
- Kontrola závislostí – vyhledávání známých ohrožení zabezpečení v opensourcových závislostech (přímé a tranzitivní)
- Kontrola kódu – použití statického analytického modulu CodeQL k identifikaci ohrožení zabezpečení aplikací na úrovni kódu, jako je injektáž SQL a obejití ověřování
Ochranu rozšířeného zabezpečení můžete přenést do podniku s flexibilitou, která umožňuje správnou úroveň ochrany pro vaše úložiště. Pokročilé zabezpečení GitHubu pro Azure DevOps je k dispozici jako GitHub Secret Protection pro Azure DevOps a GitHub Code Security pro Azure DevOps.
Ochrana tajných kódů zahrnuje následující funkce:
- Ochrana před únikem tajných informací ještě před tím, než k nim dojde.
- Upozornění na skenování tajných informací s oznámeními, aby zachytily případné úniky dříve, než se stanou problémem
- Přehled zabezpečení, který poskytuje přehled o úrovni rizika a ochrany zabezpečení vaší organizace
Zabezpečení kódu zahrnuje následující funkce:
- Upozornění závislostí pro vyhledání ohrožení zabezpečení v opensourcových závislostech
- Kontrola CodeQL za účelem zjištění ohrožení zabezpečení přímo ve vašem kódu
- Zjištění zabezpečení pro nástroje třetích stran
- Přehled zabezpečení, který poskytuje přehled o úrovni rizika a ochrany zabezpečení vaší organizace
Pokročilé zabezpečení GitHubu pro Azure DevOps je k dispozici pouze pro Azure DevOps Services a speciálně pro úložiště Git kódu.
Pokročilé zabezpečení GitHubu pro Azure DevOps funguje s Azure Repos. Pokud chcete používat GitHub Advanced Security s úložišti GitHub, přečtěte si téma GitHub Advanced Security .
Požadavky
| Kategorie | Požadavky |
|---|---|
| Oprávnění | – Zobrazení souhrnu všech výstrah pro úložiště: Přispěvatel oprávnění k úložišti. – Chcete-li zavřít výstrahy v rozšířeném zabezpečení: oprávnění pro správce projektu. - Správa oprávnění v rozšířeném zabezpečení: Člen skupiny správců kolekce projektů nebo Rozšířené zabezpečení: správa nastavení oprávnění nastavena na Povolit. |
Další informace o pokročilých oprávněních zabezpečení naleznete v tématu Správa oprávnění Advanced Security.
Další požadavky pro agenty v místním prostředí
Pokud vaše organizace používá agenti hostovaní sami sebou, přidejte do seznamu povolení následující adresy URL, aby úloha kontroly závislostí mohla načíst poradenská data o zranitelnostech. Další informace najdete v tématu Povolené IP adresy a adresy URL domény.
| Adresa URL domény | Popis |
|---|---|
https://governance.dev.azure.com |
Pro organizace používající doménu dev.azure.com pro přístup k instanci DevOps |
https://dev.azure.com |
Pro organizace používající doménu dev.azure.com pro přístup k instanci DevOps |
https://advsec.dev.azure.com |
Pro organizace používající doménu dev.azure.com pro přístup k instanci DevOps |
https://{organization_name}.governance.visualstudio.com |
Pro organizace používající doménu {organization_name}.visualstudio.com pro přístup k instanci DevOps |
https://{organization_name}.visualstudio.com |
Pro organizace používající doménu {organization_name}.visualstudio.com pro přístup k instanci DevOps |
https://{organization_name}.advsec.visualstudio.com |
Pro organizace používající doménu {organization_name}.visualstudio.com pro přístup k instanci DevOps |
Spusťte kompatibilní verzi modulu runtime .NET (aktuálně .NET 8.x). Pokud v agentovi není kompatibilní verze, úloha sestavení pro kontrolu závislostí stáhne .NET.
Ujistěte se, že je sada CodeQL nainstalovaná do mezipaměti nástrojů agenta ve vašem agentu. Proměnnou
enableAutomaticCodeQLInstall: truemůžete využít s úlohouAdvancedSecurity-Codeql-Init@1v YAML potrubích nebo zaškrtnout políčkoEnable automatic CodeQL detection and installationpro klasická potrubí. Pokyny k ruční instalaci najdete v tématu Kontrola kódu pro GitHub Advanced Security pro Azure DevOps.
Povolení rozšířeného zabezpečení GitHubu
Rozšířené zabezpečení můžete povolit na úrovni organizace, projektu nebo úložiště. Pokud chcete získat přístup ke každému nástroji a výsledkům kontroly, musíte nejprve povolit rozšířené zabezpečení. Po povolení rozšířeného zabezpečení se zablokují všechny budoucí vložení obsahující tajné kódy do úložiště s povolenou zásadou a kontrola tajných kódů úložiště probíhá na pozadí.
Onboarding na úrovni repozitáře
- Přejděte do nastavení projektu Azure DevOps.
- Vyberte Repozitáře>Skladové úložiště.
- Vyberte úložiště, pro které chcete povolit rozšířené zabezpečení.
- Vyberte Povolit a zahájit fakturaci pro aktivaci Rozšířeného zabezpečení. Ikona štítu se teď zobrazí v zobrazení úložiště pro všechna úložiště s povoleným pokročilým zabezpečením.
Onboarding na úrovni projektu
- Přejděte do nastavení projektu Azure DevOps.
- Vyberte Úložiště.
- Vyberte kartu Nastavení.
- Vyberte Povolit vše a uvidíte odhad počtu aktivních přispěvatelů pro váš projekt.
- Výběrem možnosti Zahájit fakturaci aktivujte Rozšířené zabezpečení pro každé existující úložiště ve vašem projektu.
- Volitelně můžete vybrat možnost Automatické povolení rozšířeného zabezpečení pro nová úložiště , aby při vytváření bylo povoleno rozšířené zabezpečení všech nově vytvořených úložišť.
Onboarding na úrovni organizace
- Přejděte do nastavení organizace pro vaši organizaci Azure DevOps.
- Vyberte Úložiště.
- Vyberte Povolit vše a zobrazí se odhad počtu aktivních přispěvatelů pro vaši organizaci.
- Výběrem možnosti Zahájit fakturaci aktivujte Rozšířené zabezpečení pro každé existující úložiště v každém projektu ve vaší organizaci.
- Volitelně můžete vybrat možnost Automatické povolení rozšířeného zabezpečení pro nová úložiště , aby při vytváření byly povolené všechny nově vytvořené projekty s pokročilým zabezpečením.
Nastavení kontroly tajných kódů
Při zapnutí pokročilého zabezpečení se automaticky povolí ochrana při skenování tajných informací a prohledávání úložiště. Ochranu před tajnými oznámeními můžete povolit nebo zakázat na stránce nastavení úložiště.
Při povolení rozšířeného zabezpečení pro vybrané úložiště se automaticky spustí kontrola úložiště pro kontrolu tajných kódů.
Nastavení kontroly závislostí
Ochranu tajných kódů nebo zabezpečení kódu můžete povolit na úrovni organizace, projektu nebo úložiště.
Onboarding na úrovni repozitáře
- Přejděte do nastavení projektu Azure DevOps.
- Vyberte Repozitáře>Skladové úložiště.
- Vyberte úložiště, pro které chcete povolit rozšířené zabezpečení.
- Přepněte ochranu tajných kódů nebo zabezpečení kódu.
- Vyberte Zahájit fakturaci. Ikona štítu se teď zobrazí v zobrazení úložiště pro všechna úložiště s povoleným produktem.
- Pokud chcete volitelně povolit výchozí nastavení kontroly závislostí, zaškrtněte políčko Možnosti a povolte výchozí nastavení kontroly závislostí.
Onboarding na úrovni projektu
- Přejděte do nastavení projektu Azure DevOps.
- Vyberte Úložiště.
- Vyberte kartu Nastavení.
- Vyberte Povolit vše a uvidíte odhad počtu aktivních přispěvatelů na každý produkt ve vašem projektu.
- Přepněte požadované produkty tajné ochrany nebo zabezpečení kódu.
- Výběrem možnosti Zahájit fakturaci aktivujte ochranu tajných kódů nebo zabezpečení kódu pro každé existující úložiště ve vašem projektu.
- Volitelně můžete zapnout automatické povolení rozšířeného zabezpečení pro nová úložiště tak, aby při vytváření byly povoleny všechna nově vytvořená úložiště s povolenou ochranou tajných kódů nebo zabezpečením kódu .
Onboarding na úrovni organizace
- Přejděte do nastavení organizace pro vaši organizaci Azure DevOps.
- Vyberte Úložiště.
- Vyberte Povolit vše a zobrazí se vám odhad počtu aktivních přispěvatelů na produkt ve vaší organizaci.
- Přepněte požadované produkty tajné ochrany nebo zabezpečení kódu.
- Výběrem možnosti Zahájit fakturaci aktivujte Rozšířené zabezpečení pro každé existující úložiště v každém projektu ve vaší organizaci.
- Volitelně můžete zapnout automatické povolení rozšířeného zabezpečení pro nová úložiště tak, aby všechny nově vytvořené projekty měly při vytváření povolenou ochranu tajných kódů nebo zabezpečení kódu .
Nastavení kontroly tajných kódů
Při zapnutí Ochrany tajných údajů se automaticky povolí ochrana před úniky a prohledávání úložišť. Ochranu před tajnými oznámeními můžete povolit nebo zakázat na stránce nastavení úložiště.
Jak už bylo zmíněno, skenování úložiště pro tajemství se automaticky spustí po povolení ochrany tajemství pro vybrané úložiště.
Nastavení kontroly závislostí
Pokud chcete získat přístup k funkcím kontroly závislostí, potřebujete pro úložiště povolený produkt Zabezpečení kódu .
Kontrola závislostí je nástroj pro skenování na základě pipeline. Výsledky se agregují na každé úložiště. Ke kontrole výchozí větve můžete použít nastavení Vyhledat ohrožené závislosti na stránce nastavení úložiště. To bude automaticky zahrnovat úlohu kontroly závislostí do libovolného kanálu, který cílí na výchozí větev, nebo jakékoli sestavení žádosti o přijetí změn, které cílí na výchozí větev.
Pokud chcete nastavit pokročilejší nastavení nebo pokud chcete prohledat všechny větve, doporučujeme přidat úlohu kontroly závislostí do všech kanálů, které chcete zkontrolovat. Další podrobnosti najdete v tématu Kontrola závislostí pro GitHub Advanced Security pro Azure DevOps .
Nastavení kontroly kódu
Pokud chcete získat přístup k funkcím kontroly kódu, potřebujete pro úložiště povolený produkt Zabezpečení kódu .
Skenování kódu je také nástroj pro kontrolu založený na pipeline, kde se výsledky agregují pro každé úložiště.
Návod
Skenování kódu může být časově náročnější úlohou sestavení, proto doporučujeme přidat úlohu kontroly kódu do samostatného naklonovaného kanálu hlavního produkčního kanálu nebo vytvořit nový kanál.
- YAML
- Klasické
Přidejte úkoly v následujícím pořadí:
- Advanced Security Initialize CodeQL (AdvancedSecurity-Codeql-Init@1)
- Vlastní kroky sestavení
- Pokročilá bezpečnost: Proveďte analýzu CodeQL (AdvancedSecurity-Codeql-Analyze@1)
Určete také jazyk, který v Initialize CodeQL úkolu analyzujete. K analýze více jazyků najednou můžete použít čárkami oddělený seznam. Podporované jazyky jsou csharp, cpp, go, java, javascript, python, ruby, swift. Pokud používáte agenty v místním prostředí, můžete také přidat enableAutomaticCodeQLInstall: true proměnnou, která automaticky nainstaluje nejnovější bity CodeQL pro vašeho agenta.
Tady je příklad úvodního kanálu:
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
Určete také jazyk, který v Initialize CodeQL úkolu analyzujete. Pokud je swiftzadaný jazyk, je nutné provést vlastní kroky sestavení.
Návod
- Slouží
javak analýze kódu napsaného v Javě, Kotlinu nebo obojím. - Slouží
javascriptk analýze kódu napsaného v JavaScriptu, TypeScriptu nebo obojím.
Pokud používáte agenta v místním prostředí, vyberte Enable automatic CodeQL detection and installation možnost automatického použití nejnovějších bitů CodeQL ve vašem agentovi, pokud jste ručně nenainstalovali nejnovější sadu CodeQL do mezipaměti nástrojů agenta.
Pokud chcete generovat upozornění, spusťte první kontrolu s potrubím, které zahrnuje úlohy kontroly kódu.
Nastavení poznámek pull requestů
Pro kontrolu závislostí i kontrolu kódu se poznámky automaticky konfigurují pro žádosti o přijetí změn, kde se zásady ověření sestavení, které se vztahují na úlohy skenování závislostí a/nebo skenování kódu, zahrnují v rámci vašeho pracovního postupu. Další informace o konfiguraci zásad ověřování sestavení najdete v tématu Ověření sestavení.
Anotace pull requestů také vyžadují kontrolu rozšířeného zabezpečení ve vaší výchozí a cílové větvi před kontrolou zdrojové větve (pull requestu). Další informace o řešení výstrah pro větve žádostí o přijetí změn najdete v tématu Správa výstrah kontroly závislostí na žádostech o přijetí změn a správa výstrah kontroly kódu u žádostí o přijetí změn.
Pokud chcete rozšířené zabezpečení zakázat, všechny výstrahy a stav výstrah se zachovají na kartě Rozšířené zabezpečení při příštím povolení rozšířeného zabezpečení pro vaše úložiště.
Související články
- Upozornění kontroly kódu pro GitHub Advanced Security pro Azure DevOps
- Upozornění kontroly závislostí pro GitHub Advanced Security pro Azure DevOps
- Upozornění kontroly tajných kódů pro GitHub Advanced Security pro Azure DevOps
- Oprávnění pro GitHub Advanced Security pro Azure DevOps
- Fakturace pro GitHub Advanced Security pro Azure DevOps