Azure DevOps Spaces

Verwaltete Spaces TNT und FIS mit fachlichen Rollenpaketen

Azure DevOps stellt je Space TNT und FIS eigene Organisations-, Projekt-, Pipeline- und Service-Connection-Strukturen bereit. AccessHub bietet ausschließlich fachlich benannte Rollenpakete.

Projects

18

Repositories

126

Active Pipelines

214

Service Conn.

48

Space-Trennung TNT / FIS

ADO Space TNTProjects · Repos · PipelinesADO_TNT_* Role Bundlestnt.hermos.com onlyAccessHubEntitlement-BrokerPolicy · SoDJIT · TTLAudit TrailADO Space FISProjects · Repos · PipelinesADO_FIS_* Role Bundlesfis.hermos.com onlyKEINE direkten Cross-Space-Zugriffe

Space

TNT

ADO_TNT_* role bundles

Space

FIS

ADO_FIS_* role bundles

Objects

FeldBeschreibung
Organization / SpaceOberste fachliche Einheit TNT oder FIS
ProjectProjektcontainer für Repos, Pipelines, Boards und Artefakte
TeamArbeitsgruppe innerhalb eines Projekts
RepositoryCode-Repository inklusive Branch Policies
PipelineBuild-/Release-Automation
EnvironmentDeployment-Ziel mit Approvals und Checks
Service ConnectionVerbindung zu Azure / Registry / Zielsystem
Security NamespaceTechnische Rechtebasis von Azure DevOps

Role bundles — TNT

RoleBeschreibungLaufzeit
ADO_TNT_VIEWERLesender Zugriff TNT-Projektedauerhaft bei Teamzuordnung
ADO_TNT_REPO_CONTRIBUTORCodebeitrag in TNT-Reposdauerhaft / projektbezogen
ADO_TNT_PIPELINE_OPERATORPipelines bedienen, Logs lesenzeitlich begrenzt
ADO_TNT_SERVICE_CONNECTION_USERNutzung definierter Service Connectionsstark eingeschränkt
ADO_TNT_PROJECT_ADMINProjektadministration TNTrestriktiv, 4-Augen

Role bundles — FIS

RoleBeschreibungLaufzeit
ADO_FIS_VIEWERLesender Zugriff FIS-Projektedauerhaft bei Teamzuordnung
ADO_FIS_REPO_CONTRIBUTORCodebeitrag in FIS-Reposdauerhaft / projektbezogen
ADO_FIS_PIPELINE_OPERATORPipelines bedienen, Logs lesenzeitlich begrenzt
ADO_FIS_SERVICE_CONNECTION_USERNutzung definierter Service Connectionsstark eingeschränkt
ADO_FIS_PROJECT_ADMINProjektadministration FISrestriktiv, 4-Augen

Service Connections

NameTypeScopeAuthRotation
sc-tnt-prod-azureAzure RMtnt.hermos.com / prodWorkload Identity Federationautomatisch (Entra ID)
sc-tnt-stage-azureAzure RMtnt.hermos.com / stageWorkload Identity Federationautomatisch
sc-fis-prod-azureAzure RMfis.hermos.com / prodWorkload Identity Federationautomatisch
sc-fis-stage-azureAzure RMfis.hermos.com / stageWorkload Identity Federationautomatisch
sc-sonarcloud-execSonarCloudAnalysis UploadToken90 Tage · Vault-gesteuert
sc-container-registryACRPush/PullManaged Identityautomatisch

Agent Pools

PoolAgentsQueueProtectionUsage
linux-std-ubuntu2212sharedapproval required for prod
78%
windows-std-20226sharedapproval required for prod
42%
tnt-prod-restricted4TNT onlyEnvironment Check + 4-Augen
23%
fis-prod-restricted4FIS onlyEnvironment Check + 4-Augen
31%

Environment Checks

tnt-prod

  • Approval: 2 Genehmiger
  • Business Hours Gate
  • SonarCloud Gate passed
  • AccessHub JIT-Token
  • ServiceNow Change Open

fis-prod

  • Approval: 2 Genehmiger
  • Business Hours Gate
  • SonarCloud Gate passed
  • AccessHub JIT-Token
  • ServiceNow Change Open

stage

  • Approval: 1 Genehmiger
  • SonarCloud Gate passed

dev

  • Automatic Deploy

Pipeline Templates

hermos-dotnet-service.yml

.NET Service mit Build, Test, SonarCloud, Container-Build, Deploy

24 Repos
hermos-react-web.yml

React/Vite mit Lint, Test, SonarCloud, CDN-Deploy

11 Repos
hermos-worker-background.yml

Background Worker mit Infra-as-Code Validation

8 Repos
hermos-library-nuget.yml

NuGet Library mit SemVer, Release, Security Scans

6 Repos

Security Controls

Branch Policies

main protected, 2 Reviewer, linked work item, build validation

Pipeline Permissions

Service Connections pro Pipeline expliziert genehmigt, kein Wildcard-Access

Secret Scanning

Azure DevOps Advanced Security + GitLeaks Pre-Commit Hook

Audit Log Streaming

Audit Stream → AccessHub Evidence Store (Retention 7 Jahre)

SCIM Sync

Benutzer und Gruppen aus hermos.com Entra, Provisioning via AccessHub

PAT Policy

Admin-PATs nur über Vault, max. 30 Tage, Automatische Revocation bei Leaver

REST API Verwendung

MethodPathUse
GET/_apis/projectsProjekt-Inventar für Entity Provider
GET/{project}/_apis/git/repositoriesRepositories als Component-Entities
GET/{project}/_apis/pipelinesPipeline-Inventar + letzter Run
GET/{project}/_apis/build/buildsBuild-Historie für Scorecard
GET/{project}/_apis/release/deploymentsDeployment-Tracking (Stage/Prod)
GET/_apis/serviceendpoint/endpointsService Connections inventarisieren
GET/_apis/distributedtask/poolsAgent Pools + Capacity
POST/_apis/graph/groupsGruppen anlegen (AccessHub-Provisioning)
POST/_apis/graph/membershipsMitgliedschaften schreiben (idempotent)
PATCH/{project}/_apis/build/permissionsFein granulare Build-Rechte setzen