Panoramica
Devin si connette ad Azure DevOps tramite un service principal di Microsoft Entra. Il tuo amministratore approva nel tuo tenant l’applicazione Cognition Azure DevOps Service Principal pubblicata da Cognition; questo crea un service principal che poi aggiungi alla tua organizzazione Azure DevOps con le autorizzazioni che scegli.- 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
Prima di configurare l’integrazione con Azure DevOps, assicurati di disporre di:- Account Enterprise Devin con autorizzazione a gestire le connessioni
- Amministratore Microsoft Entra che possa concedere il consenso 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 > Connections > 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 delle connessioni 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 > Utenti:
- 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 delle connessioni di Azure DevOps, inserisci il nome dell’organizzazione Azure DevOps del passaggio precedente e fai clic su Add.
- Fai clic sulla nuova connessione per aprirne il pannello dei dettagli. La scheda Repositories elenca i repository disponibili tramite questa connessione, mentre la scheda Manage access consente di autorizzare utenti o ruoli a gestire le autorizzazioni sui repository per questa connessione.
- Concedi alle organizzazioni l’accesso ai repository: vai a Settings > Repositories, scegli un’organizzazione, fai clic su Manage permissions e concedi le autorizzazioni a livello di Organization/Project o di Repository. Consulta Repository Permissions.
- Per ogni organizzazione a cui sono state concesse autorizzazioni, vai a Settings > Environment > Blueprints all’interno di quell’organizzazione, fai clic su Add nella sezione Repositories e seleziona i repository da aggiungere all’ambiente di Devin. Consulta Configurazione dichiarativa dell’ambiente.
A cosa può accedere Devin
L’integrazione di Devin con Azure DevOps è limitata alle sole operazioni Git:
Devin non ha accesso a work item, pipeline, build, piani di test, artefatti, wiki o connessioni di servizio.
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
Il consenso amministratore non va a buon fine:- 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)
- Apri la connessione in Settings > Connections > Azure DevOps e verifica che i repository compaiano nella scheda Repositories
- Verifica che le autorizzazioni sui repository siano state concesse all’organizzazione in Settings > Repositories
- Assicurati che i repository siano stati aggiunti all’ambiente dell’organizzazione in Settings > Environment > Blueprints
- 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

