Share via


Gestire i ruoli di Microsoft Entra in Database di Azure per PostgreSQL - Server flessibile

SI APPLICA A: Database di Azure per PostgreSQL - Server flessibile

Questo articolo descrive come creare ruoli di database abilitati per Microsoft Entra ID all'interno di un'istanza del server flessibile Database di Azure per PostgreSQL.

Nota

Questa guida presuppone che l'autenticazione di Microsoft Entra sia già stata abilitata nell'istanza del server flessibile Database di Azure per PostgreSQL. Vedere How to Configure Microsoft Entra authentication (Come configurare l'autenticazione di Microsoft Entra)

Per informazioni su come creare e gestire gli utenti della sottoscrizione di Azure e i relativi privilegi, vedere l'articolo Controllo degli accessi in base al ruolo di Azure o vedere come personalizzare i ruoli.

Creare o eliminare amministratori di Microsoft Entra usando portale di Azure o l'API di Azure Resource Manager (ARM)

  1. Aprire la pagina Autenticazione per l'istanza del server flessibile Database di Azure per PostgreSQL nel portale di Azure.
  2. Per aggiungere un amministratore: selezionare Aggiungi microsoft Entra Amministrazione e selezionare un utente, un gruppo, un'applicazione o un'identità gestita dal tenant corrente di Microsoft Entra.
  3. Per rimuovere un amministratore, selezionare l'icona Elimina per quella da rimuovere.
  4. Selezionare Salva e attendere il completamento dell'operazione di provisioning.

Screenshot of managing Microsoft Entra administrators via portal.

Nota

Il supporto per la gestione di Microsoft Entra Amministrazione istrators tramite Azure SDK, az cli e Azure PowerShell sarà presto disponibile.

Gestire i ruoli di Microsoft Entra con SQL

Dopo aver creato il primo amministratore di Microsoft Entra dalla portale di Azure o dall'API, è possibile usare il ruolo di amministratore per gestire i ruoli di Microsoft Entra nell'istanza del server flessibile Database di Azure per PostgreSQL.

È consigliabile acquisire familiarità con Microsoft Identity Platform per un uso ottimale dell'integrazione di Microsoft Entra con Database di Azure per PostgreSQL server flessibile.

Tipi di entità

Database di Azure per PostgreSQL server flessibile archivia internamente il mapping tra i ruoli del database PostgreSQL e gli identificatori univoci degli oggetti AzureAD. È possibile eseguire il mapping di ogni ruolo del database PostgreSQL a uno dei tipi di oggetto Microsoft Entra seguenti:

  1. Utente : inclusi gli utenti locali e guest del tenant.
  2. Entità servizio. Inclusione di applicazioni e identità gestite
  3. Gruppo Quando un ruolo PostgreSQL è collegato a un gruppo Microsoft Entra, qualsiasi utente o membro dell'entità servizio di questo gruppo può connettersi all'istanza del server flessibile Database di Azure per PostgreSQL con il ruolo del gruppo.

Elencare i ruoli di Microsoft Entra con SQL

select * from pgaadauth_list_principals(true);

Parametri:

  • true - restituirà Amministrazione utenti.
  • false - restituirà tutti gli utenti di Microsoft Entra sia amministratori di Microsoft Entra che amministratori non Microsoft Entra.

Creare un ruolo usando il nome dell'entità di sicurezza Di Microsoft Entra

select * from pgaadauth_create_principal('<roleName>', <isAdmin>, <isMfa>);

--For example: 

select * from pgaadauth_create_principal('mary@contoso.com', false, false);

Parametri:

  • roleName : nome del ruolo da creare. Deve corrispondere a un nome dell'entità di sicurezza Microsoft Entra:
    • Per gli utenti usare il nome dell'entità utente dal profilo. Per gli utenti guest, includere il nome completo nel dominio principale con tag #EXT#.
    • Per i gruppi e le entità servizio, usare il nome visualizzato. Il nome deve essere univoco nel tenant.
  • is Amministrazione : impostare su true se durante la creazione di un utente amministratore e false per un utente normale. Amministrazione'utente creato in questo modo ha gli stessi privilegi di uno creato tramite il portale o l'API.
  • isMfa: contrassegnare se è necessario applicare Multi Factor Authentication per questo ruolo.

Eliminare un ruolo usando il nome dell'entità di sicurezza Di Microsoft Entra

Tenere presente che qualsiasi ruolo Microsoft Entra creato in PostgreSQL deve essere eliminato usando un Amministrazione Microsoft Entra. Se si usa un amministratore normale di PostgreSQL per eliminare un ruolo Entra, verrà generato un errore.

DROP ROLE rolename;

Creare un ruolo usando l'identificatore di oggetto Microsoft Entra

select * from pgaadauth_create_principal_with_oid('<roleName>', '<objectId>', '<objectType>', <isAdmin>, <isMfa>);

For example: select * from pgaadauth_create_principal_with_oid('accounting_application', '00000000-0000-0000-0000-000000000000', 'service', false, false);

Parametri:

  • roleName : nome del ruolo da creare.
  • objectId - Identificatore di oggetto univoco dell'oggetto Microsoft Entra:
    • Per utenti, gruppi e identità gestite, l'ObjectId è reperibile cercando il nome dell'oggetto nella pagina ID di Microsoft Entra in portale di Azure. Vedere questa guida come esempio
    • Per le applicazioni, è necessario usare Objectid dell'entità servizio corrispondente. In portale di Azure l'ObjectId richiesto è disponibile nella pagina Applicazioni aziendali.
  • objectType : tipo dell'oggetto Microsoft Entra da collegare a questo ruolo: servizio, utente, gruppo.
  • is Amministrazione : impostare su true se durante la creazione di un utente amministratore e false per un utente normale. Amministrazione'utente creato in questo modo ha gli stessi privilegi di uno creato tramite il portale o l'API.
  • isMfa: contrassegnare se è necessario applicare Multi Factor Authentication per questo ruolo.

Abilitare l'autenticazione di Microsoft Entra per un ruolo PostgreSQL esistente tramite SQL

Database di Azure per PostgreSQL server flessibile usa le etichette di sicurezza associate ai ruoli del database per archiviare il mapping degli ID di Microsoft Entra.

È possibile usare il codice SQL seguente per assegnare un'etichetta di sicurezza:

SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<user|group|service>,admin';

Parametri:

  • roleName : nome di un ruolo PostgreSQL esistente a cui deve essere abilitata l'autenticazione di Microsoft Entra.
  • objectId - Identificatore di oggetto univoco dell'oggetto Microsoft Entra.
  • user : entità utente finale.
  • service : applicazioni o identità gestite che si connettono con le proprie credenziali del servizio.
  • group : nome del gruppo Microsoft Entra.

Passaggi successivi