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:

Per 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:

  1. Passare a GitHub e accedere.

  2. Selezionare un repository di cui è stato eseguito l'onboarding in Defender per il cloud.

  3. Passare a Your repository's home page>.github/workflows.

    Screenshot che mostra dove passare per selezionare la cartella del flusso di lavoro GitHub.

  4. Selezionare msdevopssec.yml, creato nei prerequisiti.

    Screenshot che mostra dove si trova sullo schermo per selezionare il file msdevopssec.yml.

  5. Selezionare Modifica.

    Screenshot che mostra l'aspetto del pulsante di modifica.

  6. 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. 

  7. Selezionare Start commit (Avvia commit).

  8. 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:

  1. Accedere al progetto Azure DevOps.

  2. Passare a Repository delle impostazioni>del progetto.

    Screenshot che mostra dove passare per selezionare i repository.

  3. Selezionare il repository per abilitare le richieste pull.

  4. Selezionare Criteri.

  5. Passare al ramo principale Criteri>di ramo.

    Screenshot che mostra dove individuare i criteri dei rami.

  6. Individuare la sezione Convalida compilazione.

  7. Verificare che la convalida della compilazione per il repository sia attivata.

    Screenshot che mostra dove si trova l'interruttore CI Build .

  8. Seleziona Salva.

    Screenshot che mostra la convalida della compilazione.

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:

  1. Accedere al portale di Azure.

  2. Passare a sicurezza Defender per il cloud> DevOps.

  3. Selezionare tutti i repository pertinenti per abilitare le annotazioni della richiesta pull.

  4. Selezionare Gestisci risorse.

    Screenshot che mostra come gestire le risorse.

  5. Attivare o disattivare le annotazioni delle richieste pull su .

    Screenshot che mostra l'interruttore attivato.

  6. (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).

  7. (Facoltativo) Selezionare un livello di gravità dal menu a discesa.

  8. 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 | Disabili

<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

Passaggi successivi

Altre informazioni sulla sicurezza di DevOps.