Abilitare le annotazioni delle richieste pull in GitHub e Azure DevOps
La sicurezza devOps espone i risultati della sicurezza come annotazioni nelle richieste pull. Gli operatori di sicurezza possono abilitare le annotazioni pull in Microsoft Defender per il cloud. Eventuali problemi esposti possono essere risolti dagli sviluppatori. Questo processo può impedire e correggere potenziali vulnerabilità di sicurezza e errori di configurazione prima di entrare nella fase di produzione. La sicurezza devOps annota le vulnerabilità all'interno delle differenze introdotte durante la richiesta pull anziché tutte le vulnerabilità rilevate nell'intero file. Gli sviluppatori sono in grado di visualizzare le annotazioni nei sistemi di gestione del codice sorgente e gli operatori di sicurezza possono visualizzare eventuali risultati non risolti in Microsoft Defender per il cloud.
Con Microsoft Defender per il cloud è possibile configurare le annotazioni pull in Azure DevOps. È possibile ottenere annotazioni pull in GitHub se si è un cliente di GitHub Advanced Security.
Che cosa sono le annotazioni delle richieste pull
Le annotazioni delle richieste pull sono commenti aggiunti a una richiesta pull in GitHub o Azure DevOps. Queste annotazioni forniscono commenti e suggerimenti sulle modifiche al codice apportate e sui problemi di sicurezza identificati nella richiesta pull e aiutano i revisori a comprendere le modifiche apportate.
Le annotazioni possono essere aggiunte da un utente con accesso al repository e possono essere usate per suggerire modifiche, porre domande o fornire commenti e suggerimenti sul codice. Le annotazioni possono essere usate anche per tenere traccia dei problemi e dei bug che devono essere corretti prima che il codice venga unito al ramo principale. La sicurezza devOps in Defender per il cloud usa annotazioni per visualizzare i risultati della sicurezza.
Prerequisiti
Per GitHub:
- Un account Azure. Se non si ha già un account Azure, è possibile creare l'account Gratuito di Azure oggi stesso.
- Essere un cliente di GitHub Advanced Security .
- Connettere i repository GitHub a Microsoft Defender per il cloud.
- Configurare l'azione GitHub di Microsoft Security DevOps.
Per Azure DevOps:
- Un account Azure. Se non si ha già un account Azure, è possibile creare l'account Gratuito di Azure oggi stesso.
- Avere l'accesso in scrittura (proprietario/collaboratore) alla sottoscrizione di Azure.
- Connettere i repository di Azure DevOps a Microsoft Defender per il cloud.
- Configurare l'estensione Microsoft Security DevOps di Azure DevOps.
Abilitare le annotazioni delle richieste pull in GitHub
Abilitando le annotazioni delle richieste pull in GitHub, gli sviluppatori ottengono la possibilità di visualizzare i problemi di sicurezza quando creano una richiesta pull direttamente nel ramo principale.
Per abilitare le annotazioni delle richieste pull in GitHub:
Passare a GitHub e accedere.
Selezionare un repository di cui è stato eseguito l'onboarding in Defender per il cloud.
Passare a
Your repository's home page
>.github/workflows.Selezionare msdevopssec.yml, creato nei prerequisiti.
Selezionare Modifica.
Individuare e aggiornare la sezione trigger per includere:
# Triggers the workflow on push or pull request events but only for the main branch pull_request: branches: ["main"]
È anche possibile visualizzare un repository di esempio.
(Facoltativo) È possibile selezionare i rami in cui eseguire il ramo immettendo il ramo (es) nella sezione trigger. Se si desidera includere tutti i rami, rimuovere le righe con l'elenco di rami.
Selezionare Start commit (Avvia commit).
Selezionare Eseguire il commit delle modifiche.
Tutti i problemi individuati dallo scanner saranno visualizzabili nella sezione File modificati della richiesta pull.
- Usato nei test : l'avviso non è incluso nel codice di produzione.
Abilitare le annotazioni delle richieste pull in Azure DevOps
Abilitando le annotazioni delle richieste pull in Azure DevOps, gli sviluppatori ottengono la possibilità di visualizzare i problemi di sicurezza quando creano richieste pull direttamente nel ramo principale.
Abilitare i criteri di convalida della compilazione per la compilazione CI
Prima di abilitare le annotazioni delle richieste pull, il ramo principale deve avere abilitato i criteri di convalida della compilazione per la compilazione CI.
Per abilitare i criteri di convalida della compilazione per la compilazione CI:
Accedere al progetto Azure DevOps.
Passare a Repository delle impostazioni>del progetto.
Selezionare il repository per abilitare le richieste pull.
Selezionare Criteri.
Passare al ramo principale Criteri>di ramo.
Individuare la sezione Convalida compilazione.
Verificare che la convalida della compilazione per il repository sia attivata.
Seleziona Salva.
Dopo aver completato questi passaggi, è possibile selezionare la pipeline di compilazione creata in precedenza e personalizzarne le impostazioni in base alle proprie esigenze.
Abilitare le annotazioni delle richieste pull
Per abilitare le annotazioni delle richieste pull in Azure DevOps:
Accedere al portale di Azure.
Passare a sicurezza Defender per il cloud> DevOps.
Selezionare tutti i repository pertinenti per abilitare le annotazioni della richiesta pull.
Selezionare Gestisci risorse.
Attivare o disattivare le annotazioni delle richieste pull su Sì.
(Facoltativo) Selezionare una categoria dal menu a discesa.
Nota
Sono attualmente supportati solo gli errori di configurazione dell'infrastruttura come codice (ARM, Bicep, Terraform, CloudFormation, Dockerfile, Grafici Helm e altro ancora).
(Facoltativo) Selezionare un livello di gravità dal menu a discesa.
Seleziona Salva.
Tutte le annotazioni sulle richieste pull verranno visualizzate da ora in base alle configurazioni.
Per abilitare le annotazioni delle richieste pull per progetti e organizzazioni in Azure DevOps:
È possibile eseguire questa operazione a livello di codice chiamando l'API aggiorna risorse di Azure DevOps esposta a Microsoft. Provider di risorse di sicurezza.
Informazioni SULL'API:
Metodo HTTP: URL PATCH:
- Aggiornamento del progetto Azure DevOps:
https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>/projects/<adoProjectName>?api-version=2023-09-01-preview
- Aggiornamento dell'organizzazione di Azure DevOps]:
https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>?api-version=2023-09-01-preview
Corpo della richiesta:
{
"properties": {
"actionableRemediation": {
"state": <ActionableRemediationState>,
"categoryConfigurations":[
{"category": <Category>,"minimumSeverityLevel": <Severity>}
]
}
}
}
Parametri/Opzioni disponibili
<ActionableRemediationState>
Descrizione: Stato delle opzioni di configurazione dell'annotazione pull: Abilitato | Disabile
<Category>
Descrizione: categoria di risultati che verranno annotati nelle richieste pull.
Opzioni: IaC | Codice | Artefatti | Dipendenze | Note sui contenitori: attualmente è supportato solo IaC
<Severity>
Descrizione: gravità minima di una ricerca che verrà considerata durante la creazione di annotazioni pull.
Opzioni: Alto | Medio | Basso
Esempio di abilitazione delle annotazioni pull dell'organizzazione di Azure DevOps per la categoria IaC con una gravità minima di Medium usando lo strumento az cli.
Aggiornare l'organizzazione:
az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'Medium'}]}}}
Esempio di abilitazione delle annotazioni della richiesta pull di un progetto DevOps di Azure per la categoria IaC con una gravità minima elevata usando lo strumento az cli.
Aggiorna progetto:
az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg/projects/testProject?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'High'}]}}}"
Altre informazioni
- Altre informazioni sulla sicurezza di DevOps.
- Altre informazioni sulla sicurezza di DevOps in Infrastruttura come codice.
Passaggi successivi
Altre informazioni sulla sicurezza di DevOps.