autenticazione Microsoft Entra nel server flessibile di Database di Azure per PostgreSQL

L'autenticazione Microsoft Entra è un meccanismo per connettersi a Database di Azure per PostgreSQL tramite identità definite in Microsoft Entra ID. Con l'autenticazione di Microsoft Entra, è possibile gestire le identità utente del database e altri servizi Microsoft da un'unica posizione centrale, semplificando la gestione delle autorizzazioni.

I vantaggi dell'uso di Microsoft Entra ID includono:

  • Autenticazione uniforme degli utenti nei servizi di Azure.
  • Gestione dei criteri delle password e della rotazione delle password in un'unica posizione.
  • Supporto per più forme di autenticazione, che possono eliminare la necessità di archiviare le password.
  • Possibilità per i clienti di gestire le autorizzazioni del database usando gruppi esterni (Microsoft Entra ID).
  • Uso dei ruoli del database PostgreSQL per autenticare le identità a livello di database.
  • Supporto dell'autenticazione basata su token per le applicazioni che si connettono a Database di Azure per PostgreSQL server flessibile.

Funzionamento di Microsoft Entra ID nel Database di Azure per PostgreSQL

Il diagramma generale seguente riepiloga il funzionamento dell'autenticazione con l'autenticazione di Microsoft Entra con il Database di Azure per PostgreSQL. Le frecce indicano i percorsi di comunicazione.

Diagramma del flusso di autenticazione tra Microsoft Entra ID, il computer dell'utente e il server.

  1. L'applicazione può richiedere un token dall'endpoint di identità del servizio metadati del server flessibile Azure.
  2. Quando si utilizza l’ID client e il certificato, viene eseguita una chiamata a Microsoft Entra ID per richiedere un token di accesso.
  3. Microsoft Entra ID restituisce un token di accesso JSON (token JWT). L'applicazione invia il token di accesso in una chiamata al server flessibile.
  4. Il server flessibile convalida il token con Microsoft Entra ID.

Per la procedura per configurare Microsoft Entra ID con Database di Azure per PostgreSQL, vedere Usare Microsoft Entra ID per l'autenticazione con Database di Azure per PostgreSQL.

Differenze tra un amministratore di PostgreSQL e un amministratore di Microsoft Entra

Quando si attiva l'autenticazione di Microsoft Entra per un'entità Microsoft Entra come amministratore di Microsoft Entra, l'account:

  • Ottiene gli stessi privilegi dell'amministratore originale di PostgreSQL.
  • Può gestire altri ruoli di Microsoft Entra nel server.

L'amministratore di PostgreSQL può creare solo utenti locali basati su password. Tuttavia, un amministratore di Microsoft Entra ha l'autorità di gestire sia gli utenti di Microsoft Entra che gli utenti locali basati su password.

L'amministratore di Microsoft Entra può essere un utente di Microsoft Entra, un gruppo Microsoft Entra, un'entità servizio o un'identità gestita. L'uso di un account di gruppo come amministratore migliora la gestibilità. Consente l'aggiunta centralizzata e la rimozione dei membri del gruppo in Microsoft Entra ID senza modificare gli utenti o le autorizzazioni all'interno del server flessibile Database di Azure per PostgreSQL.

È possibile configurare più amministratori di Microsoft Entra contemporaneamente. È possibile disattivare l'autenticazione della password in un server flessibile Database di Azure per PostgreSQL per requisiti avanzati di controllo e conformità.

Screenshot della struttura di amministrazione per Entra ID.

Gli amministratori di Microsoft Entra creati tramite il portale di Azure, un'API o SQL hanno le stesse autorizzazioni di un utente amministratore normale creato durante il provisioning del server. È possibile gestire autorizzazioni del database per i ruoli Microsoft Entra non di amministratore in modo analogo ai ruoli normali.

Connettersi con le identità di Microsoft Entra

L'autenticazione di Microsoft Entra supporta i metodi seguenti per la connessione a un database tramite le identità di Microsoft Entra:

  • Autenticazione con password di Microsoft Entra
  • Autenticazione integrata di Microsoft Entra
  • Microsoft Entra universale con autenticazione a più fattori
  • Certificati dell'applicazione Active Directory o segreti client
  • Identità gestita

Dopo l'autenticazione in Active Directory, si recupera un token. Questo token è la password per l'accesso.

Per la procedura per configurare Microsoft Entra ID con Database di Azure per PostgreSQL, vedere Usare Microsoft Entra ID per l'autenticazione con Database di Azure per PostgreSQL.

Limitazioni e considerazioni

Quando si usa l'autenticazione di Microsoft Entra con Database di Azure per PostgreSQL, tenere presenti i seguenti punti:

  • Per fare in modo che le entità di sicurezza di Microsoft Entra siano i proprietari dei database utente in qualsiasi processo di distribuzione, aggiungi dipendenze esplicite nel modulo di distribuzione (Terraform o Azure Resource Manager) per assicurarti che l'autenticazione di Microsoft Entra sia attivata prima di creare i database utente.

  • È possibile configurare più entità di Microsoft Entra (utente, gruppo, entità servizio o identità gestita) come amministratori di Microsoft Entra per un server flessibile Database di Azure per PostgreSQL in qualsiasi momento.

  • Solo un amministratore Microsoft Entra per PostgreSQL può inizialmente connettersi al server flessibile Database di Azure per PostgreSQL usando un account Microsoft Entra. L'amministratore di Active Directory può configurare gli utenti del database di Microsoft Entra successivi.

  • Se si elimina un'entità di Microsoft Entra da Microsoft Entra ID, l'entità rimane come ruolo PostgreSQL, ma non può acquisire un nuovo token di accesso. In questo caso, anche se il ruolo corrispondente esiste ancora nel database, non può eseguire l'autenticazione nel server. Gli amministratori del database devono trasferire la proprietà e eliminare manualmente tali ruoli.

    Annotazioni

    L'utente di Microsoft Entra eliminato può comunque accedere fino alla scadenza del token (fino a 60 minuti dall'emissione del token). Se si rimuove l'utente anche dal database di Azure per PostgreSQL, questo accesso viene revocato immediatamente.

  • Il Database di Azure per PostgreSQL associa i token di accesso al ruolo del database usando l'ID utente univoco di Microsoft Entra dell'utente invece del nome utente. Se si elimina un utente di Microsoft Entra e si crea un nuovo utente con lo stesso nome, Database di Azure per PostgreSQL lo considera un utente diverso. Pertanto, se si elimina un utente da Microsoft Entra ID e si aggiunge un nuovo utente con lo stesso nome, il nuovo utente non può connettersi con il ruolo esistente.

Domande frequenti

  • Quali sono le modalità di autenticazione disponibili in Database di Azure per PostgreSQL?

    Database di Azure per PostgreSQL supporta tre modalità di autenticazione: autenticazione solo PostgreSQL, autenticazione solo Microsoft Entra e autenticazione sia PostgreSQL che Microsoft Entra.

  • È possibile configurare più amministratori Microsoft Entra nel server flessibile?

    Sì. È possibile configurare più amministratori Microsoft Entra nel server flessibile. Durante il provisioning, è possibile impostare solo un singolo amministratore di Microsoft Entra. Tuttavia, dopo aver creato il server, è possibile impostare tutti gli amministratori di Microsoft Entra desiderati passando al riquadro Autenticazione .

  • Un amministratore di Microsoft Entra è solo un utente di Microsoft Entra?

    No. Un amministratore di Microsoft Entra può essere un utente, un gruppo, un'entità servizio o un'identità gestita.

  • Un amministratore di Microsoft Entra può creare utenti basati su password locali?

    Un amministratore di Microsoft Entra ha l'autorità di gestire sia gli utenti di Microsoft Entra che gli utenti locali basati su password.

  • Cosa accade quando si abilita l'autenticazione Microsoft Entra nel server flessibile Database di Azure per PostgreSQL?

    Quando si imposta l'autenticazione di Microsoft Entra a livello di server, l'estensione PGAadAuth viene abilitata e il server viene riavviato.

  • Come si accede usando l'autenticazione di Microsoft Entra?

    È possibile usare strumenti client come psql o pgAdmin per accedere al server flessibile. Utilizzare l'ID utente di Microsoft Entra come nome utente e il token di Microsoft Entra come password.

  • Come si genera il token?

    Il token viene generato utilizzando az login. Per altre informazioni, vedere Recuperare il token di accesso di Microsoft Entra.

  • Qual è la differenza tra l'account di accesso di gruppo e l'account di accesso individuale?

    L'unica differenza tra l'accesso come membro del gruppo di Microsoft Entra e l'accesso come singolo utente di Microsoft Entra risiede nel nome utente. L'accesso come singolo utente richiede un singolo ID utente Microsoft Entra. L'accesso come membro del gruppo richiede il nome del gruppo. In entrambi gli scenari viene utilizzato lo stesso token Microsoft Entra della password.

  • Qual è la differenza tra l'autenticazione di gruppo e l'autenticazione individuale?

    L'unica differenza tra l'accesso come membro del gruppo di Microsoft Entra e l'accesso come singolo utente di Microsoft Entra risiede nel nome utente. L'accesso come singolo utente richiede un singolo ID utente Microsoft Entra. L'accesso come membro del gruppo richiede il nome del gruppo. In entrambi gli scenari viene utilizzato lo stesso token Microsoft Entra della password.

Qual è la durata del token?

I token utente sono validi per un massimo 1 ora. I token per le identità gestite assegnate dal sistema sono validi per un massimo di 24 ore.