Panoramica
- Durante l’approvazione in Entra viene richiesto solo
User.Read: serve esclusivamente a stabilire l’identità - La sola approvazione in Entra non concede l’accesso ai repository o al codice
- L’accesso ai repository è interamente controllato dalle autorizzazioni che assegni in Azure DevOps
Prerequisiti
- Account Enterprise Devin con autorizzazione a gestire le integrazioni
- Amministratore Microsoft Entra che possa concedere il consenso dell’amministratore per le applicazioni
- Amministratore dell’organizzazione Azure DevOps che possa aggiungere utenti e assegnare autorizzazioni
Configurazione dell’integrazione
- Accedi al tuo account Devin su app.devin.ai.
- In un browser separato o in una finestra di navigazione in incognito, accedi ad Azure DevOps (necessario per il passaggio 6).
- Nel tuo account Devin Enterprise, vai a Settings > Enterprise Settings > Integrations e seleziona Azure DevOps.
- Apri il menu a discesa del pulsante Connect e seleziona Connect with service principal.

-
Verrai reindirizzato a Microsoft per concedere a Devin l’autorizzazione per il tuo tenant. Dopo l’approvazione, verrai riportato alla pagina di integrazione di Azure DevOps in Devin, che ora mostra una sezione Add organization with service principal.
- L’approvazione crea un service principal nel tuo tenant Microsoft Entra
- Questo passaggio richiede solo
User.Reade non concede l’accesso ai repository
-
In Azure DevOps, vai a Settings dell’organizzazione > Users:
- Fai clic su Add Users e aggiungi il service principal (
Cognition Azure DevOps Service Principal) - Seleziona Basic come livello di accesso (Stakeholder non è sufficiente: le API richiedono Basic)
- Aggiungilo a tutti i progetti a cui vuoi che Devin abbia accesso
- Assegna il service principal ai gruppi pertinenti di Azure DevOps (in genere Project Contributors)
- Fai clic su Add Users e aggiungi il service principal (
- Torna in Devin e, nella sezione Add organization with service principal della pagina di integrazione di Azure DevOps, inserisci il nome dell’organizzazione Azure DevOps del passaggio precedente e fai clic su Add.
- In Devin, seleziona Git Permissions nella tua integrazione Azure DevOps, scegli una Sub-Organization e concedi le autorizzazioni a livello di Group o Repository.

- Per ogni organizzazione a cui sono state concesse autorizzazioni, vai a Devin’s Settings > Devin’s Machine, fai clic su + Repository e integra i repository.
A cosa può accedere Devin
| Funzionalità | Descrizione |
|---|---|
| Visualizzare 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 delle PR, ai commenti e allo stato |
| Eseguire il push del codice | Eseguire il push di nuovi branch e commit nei repository |
Se in futuro la tua organizzazione avrà bisogno che Devin supporti ulteriori aree di Azure DevOps, contatta enterprise@cognition.ai per discutere le tue esigenze.
Considerazioni sulla sicurezza
- Autorizzazioni Entra minime — Viene richiesto solo
User.Read. Nessun accesso in lettura all’intera directory, nessuna visibilità sull’appartenenza ai gruppi né controllo amministrativo. - Autorizzazione esplicita — La sola approvazione in Entra non concede alcun accesso ad Azure DevOps. Tutti gli accessi ai repository devono essere assegnati esplicitamente dall’amministratore di Azure DevOps.
- Credenziali crittografate — Tutti i token sono crittografati e archiviati in modo sicuro.
- Accesso con ambito definito — Le autorizzazioni possono essere limitate a progetti, repository e operazioni specifici tramite la UI Enterprise di Devin.
- Tracciabilità — L’attività viene registrata nei log di accesso di Entra e nei log di audit di Azure DevOps.
- Criteri dei branch rispettati — Le PR di Devin sono soggette agli stessi criteri dei branch e agli stessi requisiti di revisione previsti per qualsiasi altro collaboratore.
Buone pratiche
- Usa autorizzazioni a livello di repository — Concedi a Devin l’accesso solo ai repository e ai progetti specifici di cui ha bisogno, anziché all’intera organizzazione.
- Abilita i criteri del branch — Configura i criteri del branch in Azure DevOps per garantire che tutte le modifiche passino attraverso adeguati processi di revisione prima di essere integrate.
- Monitora i log di audit — Controlla regolarmente i log di audit di Azure DevOps e i log di accesso di Entra relativi all’attività del service principal.
Risoluzione dei problemi
- Verifica che l’utente che approva disponga dell’autorizzazione per concedere il consenso amministratore alle applicazioni nel tenant Entra
- Se il tenant limita il consenso alle applicazioni, potrebbe essere necessario l’intervento di un Amministratore globale o di un Amministratore applicazioni cloud
- Verifica che il consenso amministratore sia stato completato correttamente nel portale Entra in Applicazioni aziendali (cerca
Cognition Azure DevOps Service Principal) - Assicurati che il service principal sia stata aggiunta esplicitamente all’organizzazione Azure DevOps in Settings dell’organizzazione > Utenti
- Se il service principal è soggetta a criteri di Accesso condizionale che impongono l’MFA, l’aggiornamento del token non riuscirà senza mostrare errori. Crea un’esclusione di Accesso condizionale per il service principal relativa all’applicazione Devin.
- Verifica che il service principal sia stata aggiunta all’organizzazione Azure DevOps in Settings dell’organizzazione > Utenti
- Conferma che il livello di accesso sia impostato su Basic (Stakeholder non è sufficiente per l’accesso API)
- Verifica che le autorizzazioni del repository siano state concesse nelle Enterprise Settings di Devin
- Assicurati che i repository siano stati aggiunti a Devin’s Machine
- Conferma che il service principal disponga delle autorizzazioni di Collaboratore nel repository di destinazione
- Verifica che i criteri del branch non blocchino la creazione della PR
- Verifica che il branch di destinazione esista e sia accessibile
