Condividi tramite


Informazioni su autenticazione, autorizzazione e criteri di sicurezza

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps usa una combinazione di concetti di sicurezza per garantire che solo gli utenti autorizzati possano accedere alle funzionalità, alle funzioni e ai dati. L'accesso viene determinato da due processi chiave: l'autenticazione, che verifica le credenziali di un utente e l'autorizzazione, che concede le autorizzazioni in base ai diritti dell'account. Insieme, questi processi controllano le operazioni che ogni utente può eseguire all'interno di Azure DevOps.

Questo articolo si espande in Introduzione alle autorizzazioni, all'accesso e ai gruppi di sicurezza e consente agli amministratori di comprendere i diversi tipi di account, metodi di autenticazione e autorizzazione e i criteri di sicurezza disponibili per proteggere gli ambienti Azure DevOps.


Tipi di account

  • Utenti
  • Proprietario dell'organizzazione
  • Account di servizio
  • Entità servizio o identità gestite
  • Agenti di processo

Autenticazione

  • Credenziali dell'utente
  • Autenticazione di Windows
  • Autenticazione a due fattori (2FA)
  • Autenticazione della chiave SSH
  • Token Microsoft Entra
  • Token di accesso personale
  • Configurazione di Oauth
  • Active Directory Authentication Library

Autorizzazione

  • Appartenenza al gruppo di sicurezza
  • Controllo degli accessi in base al ruolo
  • Livelli di accesso
  • Flag di funzionalità
  • Spazi dei nomi e autorizzazioni di sicurezza

Criteri

  • URL dell'informativa sulla privacy
  • Criteri di sicurezza e connessione delle applicazioni
  • Criteri utente
  • Repository Git e criteri di ramo


Tipi di account

  • Utenti
  • Account di servizio
  • Entità servizio o identità gestite
  • Agenti di processo

Autenticazione

  • Credenziali dell'utente
  • Autenticazione di Windows
  • Autenticazione a due fattori (2FA)
  • Autenticazione della chiave SSH
  • Token di accesso personali
  • Configurazione di Oauth
  • Active Directory Authentication Library

Autorizzazione

  • Appartenenza al gruppo di sicurezza
  • Autorizzazioni basate sui ruoli
  • Livelli di accesso
  • Flag di funzionalità
  • Spazi dei nomi e autorizzazioni di sicurezza

Criteri

  • Repository Git e criteri di ramo

Importante

Azure DevOps non supporta l'autenticazione delle credenziali alternative. Se si usano ancora credenziali alternative, è consigliabile passare a un metodo di autenticazione più sicuro.

Entrambi Azure DevOps supportano lo sviluppo di software dalla pianificazione alla distribuzione. Ogni piattaforma utilizza l'infrastruttura e i servizi di Piattaforma come Servizio di Microsoft Azure, inclusi i database SQL di Azure, per offrire un servizio affidabile e disponibile a livello globale per i tuoi progetti.

Per altre informazioni su come Microsoft garantisce che i progetti siano sicuri, disponibili, sicuri e privati, vedere la panoramica sulla protezione dei dati di Azure DevOps.

Account

Anche se gli account utente umani sono l'obiettivo principale, Azure DevOps supporta anche vari altri tipi di account per operazioni diverse:

  • Proprietario dell'organizzazione: creatore di un'organizzazione di Azure DevOps Services o proprietario assegnato. Per trovare il proprietario dell'organizzazione, vedere Cercare il proprietario dell'organizzazione.
  • Account di servizio: organizzazione interna di Azure DevOps usata per supportare un servizio specifico, ad esempio il servizio pool di agenti, PipelinesSDK. Per le descrizioni degli account del servizio, vedere Gruppi di sicurezza, account di servizio e autorizzazioni.
  • Entità servizio o identità gestite: applicazioni Microsoft Entra o identità gestite aggiunte all'organizzazione per eseguire azioni per conto di un'applicazione non Microsoft. Alcune entità servizio fanno riferimento all'organizzazione interna di Azure DevOps per supportare le operazioni interne.
  • Agenti di processo: account interni usati per eseguire processi specifici in base a una pianificazione regolare.
  • Account di terze parti: account che richiedono l'accesso per supportare web hook, connessioni al servizio o altre applicazioni non Microsoft.

Negli articoli relativi alla sicurezza gli "utenti" fanno riferimento a tutte le identità aggiunte all'hub utenti, che possono includere utenti umani e entità servizio.

  • Account di servizio: organizzazione interna di Azure DevOps usata per supportare un servizio specifico, ad esempio il servizio pool di agenti, PipelinesSDK. Per le descrizioni degli account del servizio, vedere Gruppi di sicurezza, account di servizio e autorizzazioni.
  • Entità servizio o identità gestite: applicazioni Microsoft Entra o identità gestite aggiunte all'organizzazione per eseguire azioni per conto di un'applicazione non Microsoft. Alcune entità servizio fanno riferimento all'organizzazione interna di Azure DevOps per supportare le operazioni interne.
  • Agenti di processo: account interni usati per eseguire processi specifici in base a una pianificazione regolare.
  • Account di terze parti: account che richiedono l'accesso per supportare web hook, connessioni al servizio o altre applicazioni non Microsoft.

Il modo più efficace per gestire gli account consiste nell'aggiungerli ai gruppi di sicurezza.

Nota

Il proprietario dell'organizzazione e i membri del gruppo Project Collection Administrators hanno accesso completo a quasi tutte le funzionalità e le funzioni.

Autenticazione

L'autenticazione verifica l'identità di un utente in base alle credenziali fornite durante l'accesso ad Azure DevOps. Azure DevOps si integra con diversi sistemi di identità per gestire l'autenticazione:

  • Microsoft Entra ID: consigliato per le organizzazioni che gestiscono un gruppo di utenti di grandi dimensioni. Fornisce un'autenticazione affidabile basata sul cloud e la gestione degli utenti.
  • Account Microsoft (MSA): adatto per le basi utente più piccole che accedono alle organizzazioni Di Azure DevOps. Supporta l'autenticazione cloud.
  • Active Directory (AD): consigliato per le distribuzioni locali con molti utenti, usando l'infrastruttura di Active Directory esistente.

Gli account Microsoft Entra ID e Microsoft supportano entrambi l'autenticazione cloud. Per altre informazioni, vedere Informazioni sull'accesso ad Azure DevOps con Microsoft Entra ID.

Per gli ambienti locali, usare Active Directory per gestire in modo efficiente l'accesso degli utenti. Per altre informazioni, vedere Configurare i gruppi da usare nelle distribuzioni locali.

Autenticare in modo programmatico

Accedere all'organizzazione di Azure DevOps a livello di codice senza immettere ripetutamente il nome utente e la password scegliendo uno dei metodi di autenticazione disponibili. Usare i metodi seguenti per automatizzare i flussi di lavoro, integrarsi con le API REST o compilare applicazioni personalizzate:

  • Usare OAuth per compilare applicazioni che eseguono azioni per conto degli utenti. Gli utenti devono fornire il consenso all'app. Per le nuove app, usare Microsoft Entra OAuth.
  • Usare entità servizio o identità gestite per automatizzare i flussi di lavoro o creare strumenti che accedono regolarmente alle risorse dell'organizzazione. Vengono rilasciati token Microsoft Entra per conto dell'applicazione stessa.
  • Usare Microsoft Entra ID per l'autenticazione sicura basata sul cloud e la gestione degli utenti.
  • Usare token di accesso personale (PAT) per le richieste ad hoc o la prototipazione anticipata. Evitare i PT per lo sviluppo di app a lungo termine, perché sono più soggetti a perdite e uso improprio.

Suggerimento

Archiviare sempre le credenziali in modo sicuro e seguire le procedure consigliate per la gestione dei metodi di autenticazione.

Per impostazione predefinita, l'organizzazione consente l'accesso a tutti i metodi di autenticazione. Gli amministratori dell'organizzazione possono limitare l'accesso a questi metodi di autenticazione disabilitando i criteri di sicurezza. Gli amministratori tenant possono ridurre ancora di più il rischio PAT (token di accesso personale) limitando i modi in cui queste possono essere create.

Autorizzazione

L'autorizzazione determina se un'identità autenticata dispone delle autorizzazioni necessarie per accedere a un servizio, una funzionalità, una funzione, un oggetto o un metodo specifico in Azure DevOps. I controlli di autorizzazione vengono sempre eseguiti dopo l'autenticazione riuscita. Se l'autenticazione non riesce, l'autorizzazione non viene mai valutata. Anche dopo l'autenticazione, gli utenti o i gruppi potrebbero essere negati l'accesso a determinate azioni se non dispongono delle autorizzazioni necessarie.

Azure DevOps gestisce l'autorizzazione tramite autorizzazioni assegnate direttamente agli utenti o ereditate tramite gruppi di sicurezza o ruoli. I livelli di accesso e i flag di funzionalità possono controllare ulteriormente l'accesso a funzionalità specifiche. Per altre informazioni su questi metodi di autorizzazione, vedere Introduzione alle autorizzazioni, all'accesso e ai gruppi di sicurezza.

Spazi dei nomi e autorizzazioni di sicurezza

Gli spazi dei nomi di sicurezza definiscono i livelli di accesso degli utenti per azioni specifiche nelle risorse di Azure DevOps.

  • Ogni famiglia di risorse, ad esempio gli elementi di lavoro o i repository Git, ha un proprio spazio dei nomi univoco.
  • All'interno di ogni spazio dei nomi possono essere presenti più elenchi di controllo di accesso (ACL).
    • Ogni ACL contiene un token, un flag di ereditarietà e una o più voci di controllo di accesso (ACL).
    • Ogni ACE specifica un descrittore di identità, una maschera di bit per le autorizzazioni consentite e una maschera di bit per le autorizzazioni negate.

Per altre informazioni, vedere Informazioni di riferimento su spazi dei nomi e autorizzazioni per la sicurezza.

Criteri di sicurezza

Per proteggere l'organizzazione e il codice, gli amministratori a livello di organizzazione (amministratore raccolta progetti) o a livello di tenant (amministratore di Azure DevOps) possono abilitare o disabilitare vari criteri di sicurezza, a seconda dell'ambito dei criteri. I criteri chiave da considerare includono:

Se l'organizzazione è connessa all'ID Microsoft Entra, si ha accesso alle altre funzionalità di sicurezza seguenti:

Esaminare e configurare questi criteri per rafforzare il comportamento di sicurezza dell'organizzazione e garantire la conformità ai requisiti di privacy e accesso dei dati.

Gruppo Utenti con ambito progetto

Per impostazione predefinita, gli utenti aggiunti a un'organizzazione possono visualizzare tutte le informazioni e le impostazioni del progetto, inclusi elenchi di utenti, elenchi di progetti, dettagli di fatturazione, dati di utilizzo e altro ancora.

Per limitare l'accesso a utenti specifici, come portatori di interesse, utenti ospiti di Microsoft Entra o membri di un particolare gruppo di sicurezza, abilita la funzionalità Limita la visibilità degli utenti e la collaborazione a progetti specifici per la tua organizzazione. Quando questa funzionalità è abilitata, qualsiasi utente o gruppo aggiunto al gruppo utentiProject-Scoped è limitato nei modi seguenti:

  • L'accesso è limitato alle pagine Panoramica e Progetti all'interno delle impostazioni dell'organizzazione.
  • Gli utenti possono connettersi ai progetti e visualizzare solo i progetti a cui vengono aggiunti in modo esplicito.
  • Gli utenti possono selezionare solo identità utente e gruppo aggiunte in modo esplicito allo stesso progetto.

Per altre informazioni, vedere Gestire l'organizzazione: limitare la visibilità degli utenti per i progetti e altro ancora eGestire le funzionalità di anteprima.

Avviso

Quando si usa questa funzionalità di anteprima, considerare le limitazioni seguenti:

  • Le funzionalità di visibilità limitate descritte in questa sezione si applicano solo alle interazioni tramite il portale Web. Con le API REST o azure devops i comandi dell'interfaccia della riga di comando, i membri del progetto possono accedere ai dati limitati.
  • Gli utenti del gruppo limitato possono selezionare solo gli utenti che vengono aggiunti in modo esplicito ad Azure DevOps e non agli utenti che hanno accesso tramite l'appartenenza al gruppo Microsoft Entra.
  • Gli utenti guest membri del gruppo limitato con accesso predefinito in Microsoft Entra ID non possono cercare gli utenti con la selezione utenti.

Repository Git e criteri di ramo

Per proteggere il codice, è possibile impostare vari criteri di repository e ramo Git. Per altre informazioni, consulta gli articoli seguenti.

Sicurezza di Azure Repos e Azure Pipelines

Poiché i repository e le pipeline di compilazione e rilascio comportano problemi di sicurezza univoci, vengono usate altre funzionalità oltre alle funzionalità descritte in questo articolo. Per altre informazioni, consulta gli articoli seguenti.

Passaggi successivi