Linee guida per l'autenticazione per Azure DevOps

servizi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Usare questo articolo per scegliere un approccio di autenticazione per Azure DevOps a livello di organizzazione. Illustra il comportamento di sicurezza, la governance e la manutenibilità per i metodi comuni e quindi collegamenti a linee guida incentrate sull'implementazione.

Per informazioni dettagliate sull'implementazione a livello di app, vedere Metodi di autenticazione per Azure DevOps.

Differenze tra servizi e server

Le opzioni di autenticazione differiscono tra Azure DevOps Services e Azure DevOps Server.

Platform Impostazione predefinita consigliata Note
Servizi di Azure DevOps autenticazione basata su Microsoft Entra Usare Microsoft Entra l'accesso per gli utenti e le identità dell'applicazione Microsoft Entra per l'automazione.
Azure DevOps Server autenticazione di Windows, librerie client di .NET o PTS in cui supportato Le entità servizio e i modelli di identità gestiti per l'autenticazione di Azure DevOps si applicano ai servizi di Azure DevOps, non Azure DevOps Server.

Confrontare le scelte di autenticazione comuni

Usare la tabella seguente per confrontare le scelte comuni per utenti, app, script e pipeline.

metodo Migliore per Postura di sicurezza Gestione delle credenziali Funziona con Evitare quando
Microsoft Entra'accesso utente Accesso utenti interattivo alle organizzazioni Azure DevOps Opzione avanzata con la governance centralizzata delle identità, l'accesso condizionale e l'autenticazione a più fattori Gestito dai criteri del ciclo di vita e del tenant di Microsoft Entra Servizi di Azure DevOps Si sta implementando l'automazione automatica da app a app
Identità gestita Azure'automazione ospitata, ad esempio Funzioni di Azure o servizio app Opzione più avanzata per l'automazione ospitata Azure perché i token sono di breve durata e Azure gestisce il ciclo di vita delle identità Nessun segreto client da archiviare o ruotare Servizi di Azure DevOps Il carico di lavoro non viene eseguito in Azure o è necessaria un'identità portabile tra gli ambienti
Service Principal Automazione all'esterno di Azure o in più ambienti e sistemi CI/CD Opzione avanzata quando si usano i privilegi minimi e i modelli di credenziali moderni L'identità e le credenziali dell'app vengono gestite a meno che un flusso federato non rimuovono i segreti Servizi di Azure DevOps Un'identità gestita può soddisfare lo stesso requisito per i carichi di lavoro ospitati Azure
connessione al servizio Azure DevOps Azure Pipelines l'accesso alle risorse di Azure DevOps Opzione avanzata per l'automazione della pipeline perché usa la federazione delle identità del carico di lavoro ed evita lo sprawl PAT nelle pipeline Gestito tramite le impostazioni di connessione del servizio Azure DevOps pipeline di Azure DevOps Services Lo scenario non viene eseguito in Azure Pipelines
Token di accesso personale Script personali di breve durata, test occasionali o scenari di compatibilità legacy Il rischio più alto è dovuto al fatto che i TOKEN di connessione sono segreti di connessione di lunga durata associati agli account utente Creazione manuale, archiviazione, rotazione e revoca Azure DevOps Services e Azure DevOps Server Automazione di produzione in cui è disponibile l'entità servizio, l'identità gestita o la connessione al servizio

Importante

Prendere in considerazione l'uso dei più sicuri token di Microsoft Entra rispetto ai più rischiosi token di accesso personali. Per altre informazioni, vedere Ridurre l'utilizzo di PAT. Esaminare le indicazioni per l'autenticazione per scegliere il meccanismo di autenticazione appropriato per le proprie esigenze.

  • Usare Microsoft Entra'accesso utente per l'accesso degli utenti alle organizzazioni di Azure DevOps Services.
  • Usare prima l'identità gestita per l'automazione ospitata da Azure.
  • Usare l'entità servizio per l'automazione non Azure o tra ambienti.
  • Usare Azure DevOps connessione al servizio quando Azure Pipelines richiede l'accesso alle risorse Azure DevOps.
  • Usare le connessioni CONT solo per scenari temporanei, personali, legacy o Azure DevOps Server in cui non si applicano opzioni più sicure.

Quando usare LET

Usare le reti AP in scenari limitati, ad esempio:

  • Script ad hoc personali
  • Risoluzione dei problemi relativi all'API monouso
  • Strumenti legacy che non possono usare l'autenticazione basata su Microsoft Entra
  • Azure DevOps Server scenari in cui i flussi di identità cloud moderni non sono disponibili

Quando si usano LET:

  • Definire l'ambito delle autorizzazioni minime necessarie.
  • Usare la durata pratica più breve.
  • Archiviarli e ruotarli come segreti.
  • Sostituirli con opzioni basate su Microsoft Entra quando possibile.

Per indicazioni sul ciclo di vita pat, vedere Usare i token di accesso personale e Gestire i criteri pat.

Criteri e controlli di governance

Usare i controlli dell'organizzazione e del tenant per applicare il comportamento di autenticazione:

Elenco di controllo delle decisioni

Prima di scegliere un metodo di autenticazione, confermare:

  • Si tratta dell'accesso interattivo utente o dell'automazione automatica?
  • Il carico di lavoro è ospitato in Azure o all'esterno di Azure?
  • La piattaforma di destinazione è Azure DevOps Servizi o Azure DevOps Server?
  • Questo scenario può evitare credenziali di lunga durata?
  • I criteri dell'organizzazione e i requisiti di controllo sono soddisfatti?

Guide all'implementazione