Files
cmdb-insight/docs/AZURE-SERVICE-CONNECTION-AUTH.md
Bert Hausmans 81d477ec8c Fix TypeScript compilation errors
- Add searchReference to ApplicationListItem type
- Fix result variable in toApplicationDetails function
- Add query helper functions for req.query parameter handling
- Fix req.query.* type errors in routes (applications, cache, classifications, objects)
- Fix CompletenessCategoryConfig missing id property
- Fix number | null type errors in dataService
- Add utils/queryHelpers.ts for reusable query parameter helpers
2026-01-14 16:36:22 +01:00

7.4 KiB

Azure DevOps Service Connection - Authentication Type

🎯 Aanbeveling voor Jouw Situatie

Voor Zuyderland CMDB GUI met Azure Container Registry:

Service Principal (Aanbevolen)

Waarom:

  • Werkt altijd en is betrouwbaar
  • Meest ondersteunde optie
  • Eenvoudig te configureren
  • Werkt perfect met Azure Container Registry
  • Geen speciale vereisten

📊 Opties Vergelijking

Optie 1: Service Principal AANBEVOLEN

Hoe het werkt:

  • Azure DevOps maakt automatisch een Service Principal aan in Azure AD
  • De Service Principal krijgt toegang tot je Azure Container Registry
  • Azure DevOps gebruikt deze credentials om in te loggen bij ACR

Voordelen:

  • Eenvoudig - Azure DevOps doet alles automatisch
  • Betrouwbaar - Werkt altijd, geen speciale configuratie nodig
  • Veilig - Credentials worden veilig opgeslagen in Azure DevOps
  • Meest ondersteund - Standaard optie voor de meeste scenario's
  • Werkt met alle Azure services - Niet alleen ACR

Nadelen:

  • Maakt een Service Principal aan in Azure AD (maar dit is normaal en veilig)

Wanneer gebruiken:

  • Jouw situatie - Azure DevOps Services (cloud) met Azure Container Registry
  • De meeste scenario's
  • Als je eenvoudige, betrouwbare authenticatie wilt
  • Standaard keuze voor nieuwe service connections

Configuratie:

  • Azure DevOps doet alles automatisch
  • Je hoeft alleen je Azure subscription en ACR te selecteren
  • Azure DevOps maakt de Service Principal aan en geeft deze de juiste permissions

Optie 2: Managed Service Identity (MSI)

Hoe het werkt:

  • Gebruikt een Managed Identity van Azure DevOps zelf
  • Geen credentials nodig - Azure beheert alles
  • Werkt alleen als Azure DevOps een Managed Identity heeft

Voordelen:

  • Geen credentials te beheren
  • Automatisch geroteerd door Azure
  • Modernere aanpak

Nadelen:

  • Werkt alleen met Azure DevOps Server (on-premises) met Managed Identity
  • Werkt NIET met Azure DevOps Services (cloud) - Dit is belangrijk!
  • Vereist speciale configuratie
  • Minder flexibel

Wanneer gebruiken:

  • Azure DevOps Server (on-premises) met Managed Identity
  • Als je geen credentials wilt beheren
  • NIET voor Azure DevOps Services (cloud) - Dit werkt niet!

Voor jouw situatie: Niet geschikt - Je gebruikt Azure DevOps Services (cloud), niet on-premises


Optie 3: Workload Identity Federation

Hoe het werkt:

  • Modernere manier zonder secrets
  • Gebruikt federated identity (OIDC)
  • Azure DevOps krijgt een token van Azure AD zonder credentials op te slaan

Voordelen:

  • Geen secrets opgeslagen
  • Modernere, veiligere aanpak
  • Automatisch token management

Nadelen:

  • Nog niet volledig ondersteund voor alle scenario's
  • Kan complexer zijn om te configureren
  • Vereist specifieke Azure AD configuratie
  • Mogelijk niet beschikbaar in alle Azure DevOps organisaties

Wanneer gebruiken:

  • Als je de modernste security features wilt
  • Als je organisatie Workload Identity Federation ondersteunt
  • Voor nieuwe projecten waar je geen legacy support nodig hebt
  • Niet aanbevolen als je eenvoudige setup wilt

Voor jouw situatie: ⚠️ Mogelijk beschikbaar, maar Service Principal is eenvoudiger


🔍 Jouw Situatie Analyse

Jouw setup:

  • Azure DevOps Services (cloud) - dev.azure.com
  • Azure Container Registry - zdlas.azurecr.io
  • Eenvoudige setup gewenst
  • Betrouwbare authenticatie nodig

Conclusie: Service Principal is perfect!

Waarom niet de andere opties:

  • Managed Service Identity: Werkt niet met Azure DevOps Services (cloud)
  • ⚠️ Workload Identity Federation: Mogelijk beschikbaar, maar complexer dan nodig

📋 Checklist: Welke Keuze?

Kies Service Principal als:

  • Je Azure DevOps Services (cloud) gebruikt
  • Je eenvoudige setup wilt
  • Je betrouwbare authenticatie nodig hebt
  • Je standaard, goed ondersteunde optie wilt
  • Je Azure Container Registry gebruikt

→ Jouw situatie: Kies Service Principal!

Kies Managed Service Identity als:

  • Je Azure DevOps Server (on-premises) gebruikt
  • Je Managed Identity hebt geconfigureerd
  • Je geen credentials wilt beheren

→ Jouw situatie: Niet geschikt

Kies Workload Identity Federation als:

  • Je de modernste security features wilt
  • Je organisatie dit ondersteunt
  • Je geen legacy support nodig hebt
  • Je bereid bent om extra configuratie te doen

→ Jouw situatie: ⚠️ Mogelijk, maar niet nodig


🔧 Configuratie Stappen (Service Principal)

Wanneer je Service Principal kiest:

  1. Selecteer Azure Subscription

    • Kies je Azure subscription uit de dropdown
  2. Selecteer Azure Container Registry

    • Kies je ACR (zdlas) uit de dropdown
  3. Service Connection Name

    • Vul in: zuyderland-cmdb-acr-connection
    • ⚠️ Belangrijk: Deze naam moet overeenkomen met dockerRegistryServiceConnection in azure-pipelines.yml!
  4. Security

    • Azure DevOps maakt automatisch een Service Principal aan
    • De Service Principal krijgt automatisch de juiste permissions (AcrPush role)
    • Credentials worden veilig opgeslagen in Azure DevOps
  5. Save

    • Klik "Save" of "Verify and save"
    • Azure DevOps test automatisch de connection

Klaar! Geen extra configuratie nodig.


🔄 Kan Ik Later Wisselen?

Ja, maar:

  • Je kunt altijd een nieuwe service connection aanmaken met een ander authentication type
  • Je moet dan wel de pipeline variabelen aanpassen
  • Service Principal is meestal de beste keuze, dus wisselen is meestal niet nodig

💡 Mijn Aanbeveling

Voor Zuyderland CMDB GUI:

Kies Service Principal

Waarom:

  1. Werkt perfect - Standaard optie voor Azure DevOps Services
  2. Eenvoudig - Azure DevOps doet alles automatisch
  3. Betrouwbaar - Meest geteste en ondersteunde optie
  4. Veilig - Credentials worden veilig beheerd door Azure DevOps
  5. Perfect voor jouw situatie - Cloud Azure DevOps + Azure Container Registry

Je hebt niet nodig:

  • Managed Service Identity (werkt niet met cloud Azure DevOps)
  • Workload Identity Federation (complexer dan nodig)

Setup:

  1. Kies Service Principal
  2. Selecteer je subscription en ACR
  3. Geef een naam: zuyderland-cmdb-acr-connection
  4. Save

Klaar!


📚 Meer Informatie


🎯 Conclusie

Kies: Service Principal

Dit is de beste keuze voor:

  • Azure DevOps Services (cloud)
  • Azure Container Registry
  • Eenvoudige, betrouwbare setup
  • Standaard, goed ondersteunde optie

Je kunt altijd later een andere optie proberen als je dat wilt, maar Service Principal is meestal de beste keuze.