Überblick
- Bei der Entra-Genehmigung wird nur
User.Readangefordert — dies dient ausschließlich der Identifikation - Die Entra-Genehmigung allein gewährt keinen Zugriff auf Repositories oder Code
- Der gesamte Zugriff auf Repositories wird durch die Berechtigungen gesteuert, die Sie in Azure DevOps zuweisen
Voraussetzungen
- Devin-Enterprise-Konto mit der Berechtigung, Integrationen zu verwalten
- Microsoft Entra-Administrator, der die Administratorzustimmung für Anwendungen erteilen kann
- Administrator der Azure DevOps-Organisation, der Nutzer hinzufügen und Berechtigungen zuweisen kann
Einrichten der Integration
- Melden Sie sich unter app.devin.ai bei Ihrem Devin-Konto an.
- Melden Sie sich in einem separaten Browser- oder Inkognito-Fenster bei Azure DevOps an (erforderlich für Schritt 6).
- Navigieren Sie in Ihrem Enterprise-Devin-Konto zu Settings > Enterprise Settings > Integrations und wählen Sie Azure DevOps aus.
- Öffnen Sie das Dropdown-Menü der Schaltfläche Connect und wählen Sie Connect with service principal aus.

-
Sie werden zu Microsoft weitergeleitet, um Devin die Berechtigung für Ihren Mandanten zu erteilen. Nach der Bestätigung werden Sie zur Azure-DevOps-Integrationsseite in Devin zurückgeleitet, auf der jetzt ein Abschnitt Add organization with service principal angezeigt wird.
- Durch die Bestätigung wird ein Service Principal in Ihrem Microsoft-Entra-Mandanten erstellt
- In diesem Schritt wird nur
User.Readangefordert — es wird kein Zugriff auf Repositories gewährt
-
Navigieren Sie in Azure DevOps zu Organization Settings > Users:
- Klicken Sie auf Add Users und fügen Sie den Service Principal (
Cognition Azure DevOps Service Principal) hinzu - Wählen Sie als Zugriffsebene Basic aus (Stakeholder ist nicht ausreichend — APIs erfordern Basic)
- Fügen Sie ihn zu allen Projekten hinzu, auf die Devin Zugriff haben soll
- Weisen Sie den Service Principal den relevanten Azure-DevOps-Gruppen zu (in der Regel Project Contributors)
- Klicken Sie auf Add Users und fügen Sie den Service Principal (
- Geben Sie zurück in Devin im Abschnitt Add organization with service principal auf der Azure-DevOps-Integrationsseite den Azure-DevOps-Organisationsnamen aus dem vorherigen Schritt ein und klicken Sie auf Add.
- Wählen Sie in Devin in Ihrer Azure-DevOps-Integration Git Permissions aus, wählen Sie eine Sub-Organization aus und erteilen Sie Berechtigungen entweder auf Gruppen- oder Repository-Ebene.

- Navigieren Sie für jede Organization, der Berechtigungen erteilt wurden, zu Devin’s Settings > Devin’s Machine, klicken Sie auf + Repository und integrieren Sie die Repositories.
Auf was Devin zugreifen kann
| Fähigkeit | Beschreibung |
|---|---|
| Repositories auflisten | Verfügbare Repositories und ihre Metadaten anzeigen |
| Branches lesen | Auf Branch-Informationen und den Commit-Verlauf zugreifen |
| Pull Requests erstellen | Neue PRs für Codeänderungen öffnen |
| Pull Requests anzeigen | Auf PR-Ereignisse, Kommentare und den Status zugreifen |
| Code pushen | Neue Branches und Commits in Repositories pushen |
Wenn Ihre Organisation künftig Unterstützung für zusätzliche Azure-DevOps-Bereiche durch Devin benötigt, kontaktieren Sie bitte enterprise@cognition.ai, um Ihre Anforderungen zu besprechen.
Sicherheitshinweise
- Minimale Entra-Berechtigungen — Es wird nur
User.Readangefordert. Kein lesender Zugriff auf das gesamte Verzeichnis, keine Einsicht in Gruppenmitgliedschaften und keine administrative Kontrolle. - Explizite Autorisierung — Die Entra-Genehmigung allein gewährt keinen Zugriff auf Azure DevOps. Jeder Zugriff auf Repositories muss explizit von Ihrem Azure DevOps-Admin zugewiesen werden.
- Verschlüsselte Anmeldedaten — Alle Tokens werden verschlüsselt und sicher gespeichert.
- Zugriff mit begrenztem Geltungsbereich — Berechtigungen können über Devins Enterprise-UI auf bestimmte Projekte, Repositories und Vorgänge beschränkt werden.
- Nachvollziehbarkeit — Aktivitäten werden in den Entra-Anmeldeprotokollen und den Azure DevOps-Audit-Logs protokolliert.
- Branch-Richtlinien werden eingehalten — Devins PRs unterliegen denselben Branch-Richtlinien und Review-Anforderungen wie die jedes anderen Beitragenden.
Bewährte Methoden
- Verwenden Sie Berechtigungen auf Repository-Ebene — Gewähren Sie Devin nur Zugriff auf die spezifischen Repositorys und Projekte, die es benötigt, anstatt Zugriff auf die gesamte Organisation zu gewähren.
- Aktivieren Sie Branch-Richtlinien — Richten Sie Branch-Richtlinien in Azure DevOps ein, um sicherzustellen, dass alle Änderungen vor dem Zusammenführen die vorgesehenen Review-Prozesse durchlaufen.
- Überwachen Sie Audit-Logs — Prüfen Sie regelmäßig die Azure DevOps-Audit-Logs und die Entra-Anmeldeprotokolle auf Aktivitäten des Service-Principal.
Fehlerbehebung
- Vergewissern Sie sich, dass der zustimmende Nutzer berechtigt ist, Administratorzustimmung für Anwendungen in Ihrem Entra-Mandanten zu erteilen
- Wenn Ihr Mandant die Zustimmung für Anwendungen einschränkt, muss sie möglicherweise von einem Global Administrator oder Cloud Application Administrator erteilt werden
- Vergewissern Sie sich in Ihrem Entra-Portal unter Enterprise Applications, dass die Administratorzustimmung erfolgreich abgeschlossen wurde (suchen Sie nach
Cognition Azure DevOps Service Principal) - Stellen Sie sicher, dass der Service Principal Ihrer Azure DevOps-Organisation unter Organization Settings > Users explizit hinzugefügt wurde
- Wenn der Service Principal Conditional-Access-Richtlinien unterliegt, die MFA erzwingen, schlägt die Token-Aktualisierung ohne Fehlermeldung fehl. Erstellen Sie für den Service Principal eine Conditional-Access-Ausnahme für die Devin-Anwendung.
- Vergewissern Sie sich, dass der Service Principal der Azure DevOps-Organisation unter Organization Settings > Users hinzugefügt wurde
- Bestätigen Sie, dass die Zugriffsebene auf Basic gesetzt ist (Stakeholder reicht für den API-Zugriff nicht aus)
- Prüfen Sie, ob die Repository-Berechtigungen in Devins Enterprise Settings erteilt wurden
- Stellen Sie sicher, dass die Repositories zu Devin’s Machine hinzugefügt wurden
- Bestätigen Sie, dass der Service Principal Contributor-Berechtigungen für das Ziel-Repository hat
- Prüfen Sie, dass Branch-Richtlinien die Erstellung des Pull Requests nicht blockieren
- Vergewissern Sie sich, dass der Ziel-Branch existiert und zugänglich ist
