Informazioni sulla sicurezza, l'autenticazione e l'autorizzazione

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

Azure DevOps usa diversi concetti di sicurezza per garantire che solo gli utenti autorizzati ad accedere a funzionalità, funzioni e dati abbiano accesso. Gli account ottengono l'accesso ad Azure DevOps tramite l'autenticazione delle credenziali di sicurezza e l'autorizzazione dei diritti dell'account per accedere a una funzionalità o a una funzione.

Questo articolo si basa sulle informazioni fornite in Introduzione alle autorizzazioni, all'accesso e ai gruppi di sicurezza. Gli amministratori traggono vantaggio dalla comprensione dei tipi di account, dei metodi di autenticazione, dei metodi di autorizzazione e dei criteri usati per proteggere Azure DevOps.


Tipi di account

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

autenticazione

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

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
  • Criteri del repository Git e dei rami


Tipi di account

  • Utenti
  • Account di servizio
  • Entità servizio
  • Agenti di processo

autenticazione

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

Autorizzazione

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

Criteri

  • Criteri del repository Git e dei rami

Importante

Azure DevOps non supporta più l'autenticazione di credenziali alternative dall'inizio del 2 marzo 2020. Se si usano ancora credenziali alternative, è consigliabile passare a un metodo di autenticazione più sicuro, ad esempio token di accesso personale. Altre informazioni

Sia il servizio cloud, Azure DevOps Services e il server locale, Azure DevOps Server, supportano i progetti di sviluppo software, dalla pianificazione alla distribuzione. Azure DevOps usa la piattaforma distribuita come servizio di Microsoft Azure e molti dei servizi di Azure, inclusi i database Azure SQL, per offrire un servizio affidabile e disponibile a livello globale per i progetti di sviluppo.

Per altre informazioni sui passaggi impiegato da Microsoft per mantenere i progetti in Azure DevOps Services sicuro, disponibile, sicuro e privato, vedere questo white paper, Azure DevOps Services Panoramica sulla protezione dei dati.

Account

Anche se i tipi principali di account di interesse sono gli account utente aggiunti all'organizzazione o al progetto, Azure DevOps supporta altri tipi di account per eseguire varie operazioni. Questi includono i tipi di account seguenti.

  • Proprietario dell'organizzazione: autore di un'organizzazione Azure DevOps Services o di un proprietario assegnato. Per informazioni su chi è il proprietario dell'organizzazione per l'organizzazione, vedere Cercare il proprietario dell'organizzazione.
  • Account del servizio: account Azure DevOps interni usati 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: account Azure DevOps interni 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 di terze parti.
  • Account del servizio: account Azure DevOps interni usati 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: account Azure DevOps interni 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 di terze parti.

Il mezzo più efficace per la gestione degli account consiste nell'aggiungerli ai gruppi di sicurezza.

Nota

Al proprietario dell'organizzazione e ai membri del gruppo Amministratori raccolta progetti viene concesso l'accesso completo a tutte le funzionalità e le funzioni.

Authentication

L'autenticazione verifica un'identità dell'account in base alle credenziali fornite quando accedono ad Azure DevOps. Questi sistemi si integrano con e si basano sulle funzionalità di sicurezza fornite da questi sistemi aggiuntivi:

  • Azure Active Directory (Azure AD)
  • Account Microsoft (MSA)
  • Active Directory (AD)

Azure AD e MSA supportano l'autenticazione cloud. È consigliabile usare Azure AD quando è necessario gestire un gruppo di utenti di grandi dimensioni. In caso contrario, se si ha una base utenti di piccole dimensioni che accede all'organizzazione in Azure DevOps, è possibile usare gli account Microsoft. Per altre informazioni, vedere Informazioni sull'accesso ad Azure DevOps con Azure Active Directory (Azure AD).

Per le distribuzioni locali, Ad è consigliabile quando si gestisce un gruppo di utenti di grandi dimensioni. Per altre informazioni, vedere Configurare i gruppi da usare nelle distribuzioni locali.

Metodi di autenticazione, integrazione con altri servizi e app

Altre applicazioni e servizi possono essere integrate con i servizi e le risorse in Azure DevOps. Per accedere all'account senza richiedere più volte le credenziali utente, le app possono usare i metodi di autenticazione seguenti.

Per impostazione predefinita, l'account o la raccolta consente di accedere a tutti i metodi di autenticazione. È possibile limitare l'accesso, ma è necessario limitare in modo specifico l'accesso per ogni metodo. Quando si nega l'accesso a un metodo di autenticazione, nessuna app può usare tale metodo per accedere all'account. Qualsiasi app che in precedenza aveva accesso ottiene un errore di autenticazione e non può accedere all'account.

Per altre informazioni su come archiviare le credenziali, vedere Archiviazione credenziali per Azure DevOps.

Per altre informazioni su come scegliere il meccanismo di autenticazione corretto, vedere Linee guida per l'autenticazione.

Autorizzazione

L'autorizzazione verifica che l'identità che sta tentando di connettersi disponga delle autorizzazioni necessarie per accedere a un servizio, funzionalità, funzione, oggetto o metodo. L'autorizzazione si verifica sempre dopo la riuscita dell'autenticazione. Se una connessione non viene autenticata, viene negata prima della verifica dell'autorizzazione. Se l'autenticazione di una connessione ha esito positivo, un'azione specifica potrebbe comunque non essere consentita perché l'utente o il gruppo non disponeva dell'autorizzazione per eseguire tale azione.

L'autorizzazione dipende dalle autorizzazioni assegnate all'account. Le autorizzazioni vengono concesse direttamente a un account o tramite l'appartenenza a un gruppo di sicurezza o a un ruolo di sicurezza. I livelli di accesso e i flag di funzionalità possono anche concedere o limitare l'accesso a una funzionalità. Per altre informazioni su questi metodi di autorizzazione, vedere Introduzione ad autorizzazioni, accesso e gruppi di sicurezza.

Spazi dei nomi e autorizzazioni di sicurezza

Gli spazi dei nomi di sicurezza archiviano i dati che determinano il livello di accesso che gli account DevOps di Azure devono eseguire un'azione specifica in una risorsa specifica. Ogni famiglia di risorse, ad esempio elementi di lavoro o repository Git, è protetta tramite uno spazio dei nomi univoco. Ogni spazio dei nomi di sicurezza contiene zero o più elenchi di controllo di accesso (ACL). Ogni elenco di controllo di accesso contiene un token, un flag di eredita e un set di voci di controllo di accesso pari a zero o più (ACL). Ogni ACE contiene un descrittore di identità, una maschera di bit consentita per le autorizzazioni e una maschera bit negata.

Per altre informazioni, vedere Spazi dei nomi di sicurezza e informazioni di riferimento sulle autorizzazioni.

Criteri di sicurezza

Per proteggere l'organizzazione e il codice, è possibile impostare un numero di criteri. In particolare, è possibile abilitare o disabilitare i criteri seguenti:

Generale

Criteri di connessione e sicurezza dell'applicazione

  • Usare i criteri tenant di Azure Active Directory (Azure AD) per limitare la creazione di nuove organizzazioni solo agli utenti desiderati. Questo criterio viene disattivato per impostazione predefinita e valido solo quando l'organizzazione è supportata da Azure Active Directory. Controllare limitare la creazione dell'organizzazione per altri dettagli.

Questi criteri determinano l'accesso che si vuole concedere agli utenti e alle applicazioni alle organizzazioni:

Criteri utente

  • Accesso guest esterno (valido solo quando l'organizzazione è supportata da Azure Active Directory.): se abilitato, gli inviti possono essere inviati agli account di posta elettronica degli utenti che non sono membri del tenant di Azure Active Directory tramite la pagina Utenti . Per altre informazioni, vedere Aggiungere utenti esterni all'organizzazione.
  • Consentire agli amministratori del team e del progetto di invitare nuovi utenti: valido solo quando l'organizzazione è supportata da Azure Active Directory. Quando abilitato, gli amministratori del team e del progetto possono aggiungere utenti tramite la pagina Utenti . Per altre informazioni, vedere Limitare i nuovi inviti utente dagli amministratori del progetto e del team.
  • Richiedere l'accesso: valido solo quando l'organizzazione è supportata da Azure Active Directory. Se abilitato, gli utenti possono richiedere l'accesso a una risorsa. Una richiesta genera una notifica di posta elettronica agli amministratori che chiedono la revisione e l'accesso, in base alle esigenze. Per altre informazioni, vedere Aggiungere utenti esterni all'organizzazione.
  • Invitare gli utenti di GitHub: valido solo quando l'organizzazione non è supportata da Azure Active Directory. Se abilitato, gli amministratori possono aggiungere utenti in base ai propri account utente GitHub dalla pagina Utenti . Per altre informazioni, vedere Autenticazione dell'invito & degli utenti di GitHub.

gruppo utenti Project-Scoped

Per impostazione predefinita, gli utenti aggiunti a un'organizzazione possono visualizzare tutte le informazioni e le impostazioni del progetto. Ciò include la visualizzazione dell'elenco degli utenti, l'elenco di progetti, i dettagli di fatturazione, i dati di utilizzo e altro ancora a cui si accede tramite Impostazioni organizzazione.

Per limitare gli utenti selezionati, ad esempio stakeholder, utenti guest di Azure Active Directory o membri di un gruppo di sicurezza specifico, è possibile abilitare la funzionalità Limita visibilità utente e collaborazione a progetti specifici per l'organizzazione. Dopo aver abilitato, qualsiasi utente o gruppo aggiunto al gruppo Utenti con ambito progetto , è limitato nei modi seguenti:

  • È possibile accedere solo alle pagine Panoramica e progetti delle impostazioni dell'organizzazione.
  • Può connettersi e visualizzare solo i progetti a cui sono stati aggiunti in modo esplicito (vedere Aggiungere utenti a un progetto o a un team.
  • È possibile selezionare solo identità utente e gruppo aggiunte in modo esplicito al progetto a cui sono connesse.

Per altre informazioni su Limita visibilità utente e collaborazione a progetti specifici, vedere Gestire l'organizzazione, limitare la visibilità degli utenti per i progetti e altro ancora. Per abilitare la funzionalità, vedere Gestire o abilitare le funzionalità.

Criteri di repository e rami Git

Per proteggere il codice, è possibile impostare un numero di criteri di repository e rami Git. Per altre informazioni, vedere gli articoli seguenti.

Azure Repos e sicurezza di Azure Pipelines

Poiché i repository e le pipeline di rilascio rappresentano problemi di sicurezza univoci, vengono usate funzionalità aggiuntive oltre a quelle descritte in questo articolo. Per altre informazioni, vedere gli articoli seguenti.

Passaggi successivi