DevOps Automation20. Juni 2025Comquent Academy

Microsoft Entra ID Integration in GitLab

Die Integration von Microsoft Entra ID in GitLab zentralisiert das Identitätsmanagement und vereinfacht die Zugriffskontrolle für Entwicklungsteams.

Microsoft Entra ID Integration in GitLab
1

Warum Entra ID und GitLab zusammenbringen?

In den meisten Unternehmen verwaltet Microsoft Entra ID (ehemals Azure Active Directory) die Identitäten der Mitarbeitenden. Gleichzeitig arbeiten Entwicklungsteams täglich in GitLab. Ohne Integration pflegen Administratoren zwei getrennte Benutzerverwaltungen -- mit allen Problemen, die das mit sich bringt: verwaiste Accounts, inkonsistente Berechtigungen und ein Offboarding-Prozess, der GitLab regelmäßig vergisst.

Die SAML- und SCIM-Integration zwischen Entra ID und GitLab löst diese Probleme. Mitarbeitende melden sich mit ihren gewohnten Unternehmens-Credentials an, und Gruppenmitgliedschaften werden automatisch synchronisiert. Wenn jemand das Unternehmen verlässt, wird der GitLab-Zugang mit deaktiviert.

2

SAML SSO einrichten

Die Basis ist SAML Single Sign-On. GitLab unterstützt SAML 2.0 sowohl in der SaaS-Version (gitlab.com) als auch self-managed. Die Einrichtung erfordert Konfiguration auf beiden Seiten:

In Microsoft Entra ID

  1. Eine neue Enterprise Application anlegen (GitLab ist als vorkonfigurierte App verfügbar)
  2. Die SAML-Konfiguration mit den GitLab-spezifischen URLs befüllen:
    • Identifier (Entity ID): https://gitlab.example.com
    • Reply URL: https://gitlab.example.com/users/auth/saml/callback
  3. Attribut-Mappings konfigurieren: NameID, E-Mail, Vor- und Nachname
  4. Das SAML-Zertifikat und die Metadata-URL notieren

In GitLab

Für self-managed GitLab wird die SAML-Konfiguration in der gitlab.rb hinterlegt:

gitlab_rails['omniauth_providers'] = [
  {
    name: "saml",
    label: "Entra ID Login",
    args: {
      assertion_consumer_service_url: "https://gitlab.example.com/users/auth/saml/callback",
      idp_cert_fingerprint: "AA:BB:CC:...",
      idp_sso_target_url: "https://login.microsoftonline.com/.../saml2",
      issuer: "https://gitlab.example.com",
      name_identifier_format: "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent",
      attribute_statements: {
        email: ["http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"],
        first_name: ["http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"],
        last_name: ["http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"]
      }
    }
  }
]

Nach einem gitlab-ctl reconfigure können sich Benutzer über den Entra ID Login anmelden.

3

SCIM für automatische Provisionierung

SAML allein reicht für die Authentifizierung, aber nicht für die automatische Benutzerverwaltung. Dafür brauchen Sie SCIM (System for Cross-domain Identity Management). Mit SCIM werden Benutzer und Gruppen automatisch zwischen Entra ID und GitLab synchronisiert.

Das bedeutet konkret:

  • Neue Mitarbeitende erhalten automatisch einen GitLab-Account mit den richtigen Gruppenmitgliedschaften
  • Abteilungswechsel werden durch geänderte Gruppenzuordnungen abgebildet
  • Offboarding deaktiviert den GitLab-Zugang automatisch

SCIM ist in GitLab SaaS (Premium/Ultimate) nativ verfügbar. Für self-managed Instanzen ist die Unterstützung eingeschränkter -- hier müssen Sie gegebenenfalls auf die API zurückgreifen oder einen externen SCIM-Proxy einsetzen.

4

Gruppenbasierte Zugriffskontrolle

Der eigentliche Mehrwert entfaltet sich, wenn Sie Entra ID-Gruppen auf GitLab-Gruppen mappen. Statt Berechtigungen in GitLab manuell zu pflegen, steuern Sie den Zugriff über die bestehende Gruppenstruktur in Entra ID:

  • Entra ID-Gruppe "Backend-Entwickler" → GitLab-Gruppe "backend" mit Developer-Rolle
  • Entra ID-Gruppe "DevOps-Team" → GitLab-Gruppe "infrastructure" mit Maintainer-Rolle
  • Entra ID-Gruppe "Security" → Zugriff auf alle Projekte mit Reporter-Rolle

Das reduziert den administrativen Aufwand erheblich und macht Berechtigungen nachvollziehbar. Auditoren freuen sich, weil es eine zentrale Stelle für die Zugriffsverwaltung gibt.

5

Häufige Stolpersteine

In der Praxis begegnen uns bei der Integration regelmäßig dieselben Probleme:

  • NameID-Format: Entra ID und GitLab müssen dasselbe Format verwenden. Persistent NameIDs sind zuverlässiger als E-Mail-basierte, weil sich E-Mail-Adressen ändern können
  • Attribut-Mapping: Fehlende oder falsch gemappte Attribute führen zu leeren Profilen in GitLab
  • Bestehende Accounts: Benutzer, die bereits einen lokalen GitLab-Account haben, müssen manuell verknüpft werden
  • Gruppen-Sync-Verzögerungen: SCIM-Synchronisierung ist nicht in Echtzeit -- Änderungen können einige Minuten dauern

Fazit

Die Integration von Microsoft Entra ID in GitLab ist für Unternehmen, die beide Systeme nutzen, nahezu unverzichtbar. SAML SSO ist schnell eingerichtet und bringt sofortigen Nutzen. SCIM für die automatische Provisionierung erfordert mehr Aufwand, spart aber langfristig erhebliche Administrationszeit. Planen Sie für die vollständige Einrichtung inklusive Tests und Rollout etwa zwei bis drei Tage ein.

In unserem Git und GitLab Essential Training behandeln wir neben den Grundlagen auch Themen wie Zugriffskontrolle und Administration -- eine gute Basis für die Planung Ihrer GitLab-Infrastruktur.

Weitere Artikel aus DevOps Automation

Self-Healing DevOps Pipelines
20. Oktober 2025

Self-Healing DevOps Pipelines

Self-Healing Pipelines erkennen Fehler automatisch und beheben sie ohne manuellen Eingriff -- ein Paradigmenwechsel in der CI/CD-Automatisierung.

Weiterlesen

Passendes Training finden

Vertiefen Sie Ihr Wissen in einem unserer praxisnahen Trainings. Kleine Gruppen, erfahrene Trainer und echte Szenarien aus dem DevOps-Alltag.

Trainings entdecken