Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come creare ruoli di database abilitati con ID Microsoft Entra all'interno di un'istanza flessibile del server Database di Azure per PostgreSQL.
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.
Annotazioni
Questa guida presuppone che sia già stata abilitata l'autenticazione di Microsoft Entra nell'istanza del server flessibile di Database di Azure per PostgreSQL.
Creare o eliminare amministratori di Microsoft Entra usando il portale di Azure o l'API di Azure Resource Manager (ARM)
- Aprire la pagina Autenticazione per l'istanza del server flessibile di Database di Azure per PostgreSQL nel portale di Azure.
- Per aggiungere un amministratore, selezionare Aggiungi amministratore di Microsoft Entra e selezionare un utente, un gruppo, un'applicazione o un'identità gestita dal tenant microsoft Entra corrente.
- Per rimuovere un amministratore, selezionare l'icona Elimina per l'amministratore da rimuovere.
- Selezionare Salva e attendere il completamento dell'operazione di provisioning.
Annotazioni
Il supporto per la gestione di Microsoft Entra Administrators 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 dal portale di Azure o dall'API, è possibile usare il ruolo di amministratore per gestire i ruoli di Microsoft Entra nell'istanza del server flessibile di Database di Azure per PostgreSQL.
Per un'esperienza ottimale con l'integrazione di Microsoft Entra in Database di Azure per PostgreSQL, è consigliabile acquisire familiarità con Microsoft Identity Platform.
Tipi principali
Database di Azure per PostgreSQL archivia internamente il mapping tra i ruoli del database PostgreSQL e gli identificatori univoci degli oggetti Microsoft Entra. È possibile eseguire il mapping di ogni ruolo del database PostgreSQL a uno dei tipi di oggetto di Microsoft Entra seguenti:
- Utente : inclusi gli utenti locali e guest del tenant.
- Principale del Servizio - Includendo Applicazioni e Identità gestite
- Gruppo - quando un ruolo PostgreSQL è collegato a un gruppo Microsoft Entra, qualsiasi utente o principale del servizio di questo gruppo può connettersi al server flessibile di Azure Database per PostgreSQL con il ruolo del gruppo.
Elencare i ruoli di Microsoft Entra con SQL
select * from pg_catalog.pgaadauth_list_principals(isAdminValue boolean)
Arguments
isAdminValue
boolean - Quando true, restituisce gli utenti amministratori. Quando false, restituisce tutti gli utenti di Microsoft Entra, inclusi gli amministratori di Microsoft Entra e gli amministratori non amministratori.
Tipo restituito
TABLE(rolename name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer) - Tabella con lo schema seguente:
-
rolename- Nome del ruolo in PostgreSQL. -
principalType- il tipo di entità in Microsoft Entra ID. Può essereuser,grouposervice. -
objectId- l'identificatore dell'oggetto in Microsoft Entra ID per questa entità. -
tenantId- l'identificatore del tenant che ospita questa entità in Microsoft Entra ID. -
isMfa- Restituisce un valore di1se l'autenticazione a più fattori è applicata dall'utente/ruolo. -
isAdmin- Restituisce un valore se1l'utente/ruolo è un amministratore in PostgreSQL.
Creare un utente o un ruolo con un nome principale di Microsoft Entra
select * from pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)
Arguments
roleName
text nome del ruolo da creare. Questo nome deve corrispondere al nome dell'entità di sicurezza Microsoft Entra.
- Per gli utenti, usare lo User Principal Name dal profilo. Per gli utenti guest, includere il nome completo nel dominio principale con il tag #EXT#.
- Per i gruppi e i principali di servizio, utilizzare il nome visualizzato. Il nome deve essere univoco nel tenant.
isAdmin
boolean quando true, crea un utente amministratore di PostgreSQL (membro del azure_pg_admin ruolo e con autorizzazioni CREATEROLE e CREATEDB). Quando è false, crea un utente PostgreSQL normale.
isMfa
boolean quando true, applica l'autenticazione a più fattori per questo utente PostgreSQL.
Importante
Il flag isMfa testa l'attestazione mfa nel token di Microsoft Entra ID, ma non influisce sul flusso di acquisizione del token. Ad esempio, se il tenant del principale non è configurato per l'autenticazione a più fattori, viene impedito l'uso della funzionalità. Se il tenant richiede l'autenticazione a più fattori per tutti i token, questo flag diventa inutile.
Tipo restituito
text valore singolo costituito da una stringa "Ruolo creato per roleName", dove roleName è l'argomento passato per il parametro roleName.
Rimuovere un ruolo con un nome dell'entità di sicurezza di Microsoft Entra
È possibile eliminare un ruolo che corrisponde a un principale di Microsoft Entra ID in tre modi:
Il portale di Azure
API di Azure Resource Manager (ARM)
Eseguendo l'istruzione SQL seguente:
DROP ROLE rolename;
Annotazioni
Il portale di Azure visualizza solo i ruoli di amministratore. Per eliminare un ruolo non amministratore, usare l'API di Azure Resource Manager (ARM) o l'istruzione SQL.
Creare un ruolo usando l'identificatore dell'oggetto Microsoft Entra ID
select * from pg_catalog.pgaadauth_create_principal_with_oid(roleName text, objectId text, objectType text, isAdmin boolean, isMfa boolean)
Arguments
roleName
text nome del ruolo da creare.
objectId
text identificatore di oggetto univoco dell'oggetto di Microsoft Entra.
- Per gli utenti, i gruppi e le identità gestite, trovare il valore
objectIdcercando il nome dell'oggetto nella pagina Microsoft Entra ID nel portale di Azure. Vedere questa guida come esempio. - Per i gruppi e i principali di servizio, utilizzare il nome visualizzato. Il nome deve essere univoco nel tenant.
- Per le applicazioni, utilizzare l'objectId del principale del servizio corrispondente. Nel portale di Azure trovare il valore objectId richiesto nella pagina Applicazioni aziendali .
objectType
text tipo di oggetto Microsoft Entra da collegare a questo ruolo. Può essere user, group o service.
isAdmin
boolean quando true, crea un utente amministratore di PostgreSQL (membro del azure_pg_admin ruolo e con autorizzazioni CREATEROLE e CREATEDB). Quando è false, crea un utente PostgreSQL normale.
isMfa
boolean quando true, applica l'autenticazione a più fattori per questo utente PostgreSQL.
Importante
Il flag isMfa testa l'attestazione mfa nel token di Microsoft Entra ID, ma non influisce sul flusso di acquisizione del token. Ad esempio, se il tenant del principale non è configurato per l'autenticazione a più fattori, viene impedito l'uso della funzionalità. Se il tenant richiede l'autenticazione a più fattori per tutti i token, questo flag diventa inutile.
Tipo restituito
text valore singolo costituito da una stringa "Ruolo creato per roleName", dove roleName è l'argomento passato per il parametro roleName.
Abilitare l'autenticazione di Microsoft Entra per un ruolo di PostgreSQL esistente tramite SQL
Database di Azure per PostgreSQL usa etichette di sicurezza associate ai ruoli del database per archiviare il mapping di Microsoft Entra ID corrispondente.
Usare il codice SQL seguente per assegnare l'etichetta di sicurezza necessaria ed eseguirne il mapping a un oggetto Microsoft Entra:
SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<objectType>,admin';
Arguments
roleName
text nome di un ruolo PostgreSQL esistente per abilitare l'autenticazione di Microsoft Entra.
objectId
text identificatore di oggetto univoco dell'oggetto di Microsoft Entra.
objectType
text impostare su user, groupo service (per le applicazioni o le identità gestite che si connettono con le proprie credenziali del servizio).
admin
text impostato su modalità attivo o disattivo. Se presente nell'etichetta di sicurezza, gli utenti o i ruoli possono gestire altri ruoli di Microsoft Entra ID.