Perché integrare Devin con Azure DevOps?
Prerequisiti
-
Creare un utente Azure DevOps dedicato per Devin - Crea un nuovo account Azure DevOps specifico per Devin (ad es.
[email protected]). Questo account di servizio dedicato consente una gestione degli accessi più chiara e registri di audit più puliti. - Concedere privilegi AAD Global Admin all’utente Devin - Il nuovo account di servizio di Devin deve avere privilegi di Azure Active Directory (AAD) Global Admin. Microsoft limita l’accesso delle applicazioni di terze parti, a meno che un Global Admin non conceda il consenso a livello di tenant.
-
Prepararsi alla procedura di connessione - Per completare l’integrazione, sarà necessario:
- Essere connessi a Devin con il tuo account personale
- Essere connessi ad Azure DevOps con l’account di servizio di Devin (il nuovo account con permessi AAD Global Admin)
Entrambe le sessioni del browser devono essere attive durante il processo di configurazione dell’integrazione: il tuo account Devin per avviare la connessione e l’account di servizio di Devin in Azure DevOps per approvare la richiesta di consenso OAuth.
Autenticazione e autorizzazioni
Modello RBAC e autorizzazioni
- Viene creato un record di connessione con il refresh token crittografato, collegato all’identità utente
- Devin genera record di autorizzazione per definire quali organizzazioni, progetti e repository sono accessibili
- In fase di esecuzione vengono effettuati controlli su tutti i repository e confrontati con l’elenco delle autorizzazioni per far rispettare i limiti di accesso
Gerarchia di Azure DevOps
Configurazione dell’integrazione
-
Accedi a entrambi gli account:
- Accedi al tuo account Devin su app.devin.ai
- In un altro browser o in una finestra in incognito, accedi ad Azure DevOps con l’account di servizio Devin (l’account con privilegi di AAD Global Admin)
- Nel tuo account Devin Enterprise, vai su Settings > Enterprise Settings > Integrations

- Una volta nella pagina Integrations, fai clic sul pulsante Connect to Azure DevOps.

- Si aprirà una nuova scheda del browser, in cui ti verrà chiesto di concedere a Devin le autorizzazioni per la tua Azure DevOps Organization. Assicurati di avere effettuato l’accesso con l’account di servizio Devin (l’account con privilegi di AAD Global Admin).

- Dopo aver concesso le autorizzazioni, vedrai nuovamente nella pagina Integrations, in Enterprise Settings, la tua integrazione Azure DevOps e i Repository connessi.

- Ora che Devin ha accesso ad Azure DevOps, puoi concedere autorizzazioni a tutte o ad alcune Sub-Organizations all’interno del tuo account Enterprise. Per farlo, seleziona Git Permissions nella tua integrazione Azure DevOps, scegli una Sub-Organization e concedi le autorizzazioni a livello di Group o di Repository.

- Per ogni Organization a cui sono state concesse autorizzazioni, vai su Devin’s Settings > Devin’s Machine, fai clic su + Repository e integra i repository nella Devin’s Machine.
A cosa può accedere Devin
| Funzionalità | Descrizione |
|---|---|
| Elencare i repository | Visualizzare i repository disponibili e i relativi metadati |
| Leggere i branch | Accedere alle informazioni sui branch e alla cronologia dei commit |
| Creare pull request | Aprire nuove PR per le modifiche al codice |
| Visualizzare le pull request | Accedere agli eventi, ai commenti e allo stato delle PR |
| Eseguire il push del codice | Eseguire il push di nuovi branch e commit nei repository |
A cosa Devin non può accedere
- Work item (board)
- Pipeline o build
- Piani di test
- Artefatti
- Wiki
- Connessioni di servizio
Se in futuro la tua organizzazione avrà bisogno che Devin supporti anche queste aree aggiuntive, saranno necessari scope OAuth più ampi e una nuova logica lato provider. Contatta [email protected] per discutere le tue esigenze.
Considerazioni sulla sicurezza
- OAuth fornisce la capacità, RBAC definisce i limiti - OAuth concede la capacità tecnica di accedere ad Azure DevOps, ma un ulteriore livello di permessi Git impone i reali limiti di accesso
- Solo accesso esplicitamente autorizzato - Devin non accede mai a repository o progetti che non siano stati esplicitamente autorizzati nell’interfaccia Enterprise
- Credenziali crittografate - Tutti i refresh token sono crittografati e archiviati in modo sicuro
- Audit trail - L’uso di un account di servizio dedicato rende più semplice tracciare l’attività di Devin nei log di audit di Azure DevOps
- Policy di branch rispettate - Le PR di Devin sono soggette alle stesse policy di branch e agli stessi requisiti di revisione di qualsiasi altro collaboratore
Best practice
- Usa l’account di servizio dedicato di Devin - Usa sempre l’account Azure DevOps dedicato creato per Devin, invece di collegarti con un account personale
- Abilita i criteri di branch - Configura i criteri di branch in Azure DevOps per assicurarti che tutte le modifiche seguano appropriati processi di revisione prima di essere unite
- Usa le autorizzazioni a livello di repository - Concedi a Devin l’accesso solo ai repository specifici di cui ha bisogno, invece di un accesso a livello di organizzazione
- Monitora i log di accesso - Controlla regolarmente i log di audit di Azure DevOps relativi all’attività di Devin
- Documenta la tua configurazione - Mantieni una documentazione interna che indichi a quali repository Devin ha accesso e per quale motivo
Se il tuo Microsoft Entra ID è integrato con l’HRIS (Human Resources Information System, sistema informativo delle risorse umane) della tua organizzazione, potrebbero essere necessari ulteriori passaggi di configurazione per completare l’integrazione con Azure DevOps. Contatta il team di supporto di Devin per assistenza con la configurazione avanzata.
Risoluzione dei problemi
- Verifica che l’account di servizio di Devin abbia il ruolo di AAD Global Admin
- Controlla che il tenant di Azure AD consenta l’autorizzazione alle applicazioni di terze parti
- Assicurati di aver effettuato l’accesso ad Azure DevOps con l’account di servizio di Devin (e non con il tuo account personale) quando completi il flusso OAuth
- Verifica che l’account di servizio di Devin abbia accesso ai repository in Azure DevOps
- Controlla che le autorizzazioni del repository siano state concesse nelle impostazioni Enterprise di Devin
- Assicurati che i repository siano stati aggiunti alla Machine di Devin
- Conferma che l’account di servizio di Devin abbia i permessi di contributor sul repository di destinazione
- Controlla che le branch policies non stiano bloccando la creazione della PR
- Verifica che il branch di destinazione esista e sia accessibile
