Beheer Microsoft Entra-rollen in Azure Database for PostgreSQL - Flexibele server
VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server
In dit artikel wordt beschreven hoe u een met Microsoft Entra ID ingeschakelde databaserollen kunt maken binnen een flexibele serverinstantie van Azure Database for PostgreSQL.
Notitie
In deze handleiding wordt ervan uitgegaan dat u Microsoft Entra-verificatie al hebt ingeschakeld op uw flexibele serverexemplaren van Azure Database for PostgreSQL. Zie Microsoft Entra-verificatie configureren
Als u meer wilt weten over het maken en beheren van gebruikers van Azure-abonnementen en hun bevoegdheden, gaat u naar het artikel op basis van op rollen gebaseerd toegangsbeheer (Azure RBAC) van Azure of bekijkt u hoe u rollen aanpast.
Microsoft Entra-beheerders maken of verwijderen met behulp van Azure Portal of Arm-API (Azure Resource Manager)
- Open de pagina Verificatie voor uw flexibele Azure Database for PostgreSQL-serverexemplaren in Azure Portal.
- Als u een beheerder wilt toevoegen, selecteert u Microsoft Entra-beheerder toevoegen en selecteert u een gebruiker, groep, toepassing of een beheerde identiteit in de huidige Microsoft Entra-tenant.
- Als u een beheerder wilt verwijderen, selecteert u het pictogram Verwijderen voor de beheerder die u wilt verwijderen.
- Selecteer Opslaan en wacht tot de inrichtingsbewerking is voltooid.
Notitie
Ondersteuning voor Microsoft Entra-beheerdersbeheer via Azure SDK, az cli en Azure PowerShell is binnenkort beschikbaar.
Microsoft Entra-rollen beheren met SQL
Zodra de eerste Microsoft Entra-beheerder is gemaakt vanuit Azure Portal of API, kunt u de beheerdersrol gebruiken om Microsoft Entra-rollen te beheren in uw flexibele serverexemplaren van Azure Database for PostgreSQL.
We raden u aan vertrouwd te raken met het Microsoft Identity Platform voor het beste gebruik van Microsoft Entra-integratie met flexibele Azure Database for PostgreSQL-server.
Principal-typen
Azure Database for PostgreSQL Flexibele server slaat intern toewijzing op tussen PostgreSQL-databaserollen en unieke id's van AzureAD-objecten. Elke PostgreSQL-databaserol kan worden toegewezen aan een van de volgende Microsoft Entra-objecttypen:
- Gebruiker : lokale tenant- en gastgebruikers.
- Service-principal. Toepassingen en beheerde identiteiten opnemen
- Groep Wanneer een PostgreSQL-rol is gekoppeld aan een Microsoft Entra-groep, kan elk lid van een gebruiker of service-principal van deze groep verbinding maken met het flexibele serverexemplaren van Azure Database for PostgreSQL met de groepsrol.
Microsoft Entra-rollen weergeven met behulp van SQL
pg_catalog.pgaadauth_list_principals(isAdminValue boolean)
Argumenten
isAdminValue
boolean
wanneer true
beheerders worden geretourneerd. Wanneer false
alle Microsoft Entra-gebruikers worden geretourneerd, inclusief Microsoft Entra-beheerders en niet-beheerders.
Retourtype
TABLE(rolname name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer)
een tabel met het volgende schema:
rolname
de naam van de rol in PostgreSQL.principalType
het type principal in Microsoft Entra-id. Het kan ,user
group
ofservice
.objectId
de id van het object in Microsoft Entra ID voor deze principal.tenantId
de id van de tenant die als host fungeert voor deze principal in Microsoft Entra-id.isMfa
retourneert een waarde als1
de gebruiker/rol MFA heeft afgedwongen.isAdmin
retourneert een waarde van1
als de gebruiker/rol een beheerder is in PostgreSQL.
Een gebruiker/rol maken met de principal-naam van Microsoft Entra
pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)
Argumenten
roleName
text
naam van de rol die moet worden gemaakt. Dit moet overeenkomen met de naam van de Microsoft Entra-principal.
- Gebruikers gebruiken User Principal Name uit Profile. Neem voor gastgebruikers de volledige naam op in hun thuisdomein met #EXT#-tag.
- Voor groepen en service-principals wordt de weergavenaam gebruikt. De naam moet uniek zijn in de tenant.
isAdmin
boolean
wanneer true
er een PostgreSQL-beheerdergebruiker wordt gemaakt (lid van azure_pg_admin
de rol en met de machtigingen CREATEROLE en CREATEDB). Wanneer false
er een gewone PostgreSQL-gebruiker wordt gemaakt.
isMfa
boolean
wanneer true
meervoudige verificatie wordt afgedwongen voor deze PostgreSQL-gebruiker.
Belangrijk
De isMfa
vlag test de mfa
claim in het Microsoft Entra ID-token, maar dit heeft geen invloed op de overnamestroom van tokens. Als de tenant van de principal bijvoorbeeld niet is geconfigureerd voor meervoudige verificatie, wordt het gebruik van de functie voorkomen. En als voor de tenant meervoudige verificatie is vereist voor alle tokens, wordt deze vlag nutteloos.
Retourtype
text
één waarde die bestaat uit een tekenreeks 'Gemaakte rol voor roleName', waarbij roleName het argument is dat wordt doorgegeven voor de parameter roleName.
Een rol verwijderen met de principalnaam van Microsoft Entra
Houd er rekening mee dat elke Microsoft Entra-rol die is gemaakt in PostgreSQL, moet worden verwijderd met behulp van een Microsoft Entra-beheerder. Als u een reguliere PostgreSQL-beheerder gebruikt om een Entra-rol te verwijderen, resulteert dit in een fout.
DROP ROLE rolename;
Een rol maken met behulp van De object-id van Microsoft Entra
pg_catalog.pgaadauth_create_principal_with_oid(roleName text, objectId text, objectType text, isAdmin boolean, isMfa boolean)
Argumenten
roleName
text
naam van de rol die moet worden gemaakt.
objectId
text
unieke object-id van het Microsoft Entra-object.
- Voor gebruikers, groepen en beheerde identiteiten kunt u de object-id vinden door te zoeken naar de objectnaam op de pagina Microsoft Entra-id in Azure Portal. Zie deze handleiding als voorbeeld
- Voor groepen en service-principals wordt de weergavenaam gebruikt. De naam moet uniek zijn in de tenant.
- Voor toepassingen moet de object-id van de bijbehorende service-principal worden gebruikt. In Azure Portal vindt u de vereiste objectId op de pagina Bedrijfstoepassingen in Azure Portal.
objectType
text
het type Microsoft Entra-object dat u aan deze rol wilt koppelen. Het kan , user
group
of service
.
isAdmin
boolean
wanneer true
er een PostgreSQL-beheerdergebruiker wordt gemaakt (lid van azure_pg_admin
de rol en met de machtigingen CREATEROLE en CREATEDB). Wanneer false
er een gewone PostgreSQL-gebruiker wordt gemaakt.
isMfa
boolean
wanneer true
meervoudige verificatie wordt afgedwongen voor deze PostgreSQL-gebruiker.
Belangrijk
De isMfa
vlag test de mfa
claim in het Microsoft Entra ID-token, maar dit heeft geen invloed op de overnamestroom van tokens. Als de tenant van de principal bijvoorbeeld niet is geconfigureerd voor meervoudige verificatie, wordt het gebruik van de functie voorkomen. En als voor de tenant meervoudige verificatie is vereist voor alle tokens, wordt deze vlag nutteloos.
Retourtype
text
één waarde die bestaat uit een tekenreeks 'Gemaakte rol voor roleName', waarbij roleName het argument is dat wordt doorgegeven voor de parameter roleName.
Microsoft Entra-verificatie inschakelen voor een bestaande PostgreSQL-rol met behulp van SQL
Azure Database for PostgreSQL flexibele server maakt gebruik van beveiligingslabels die zijn gekoppeld aan databaserollen om hun bijbehorende Microsoft Entra ID-toewijzing op te slaan.
U kunt de volgende SQL gebruiken om het vereiste beveiligingslabel toe te wijzen aan een Microsoft Entra-object:
SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<objectType>,admin';
Argumenten
roleName
text
naam van een bestaande PostgreSQL-rol waarvoor Microsoft Entra-verificatie moet worden ingeschakeld.
objectId
text
unieke object-id van het Microsoft Entra-object.
objectType
text
deze kan worden ingesteld op user
, group
of service
(voor toepassingen of beheerde identiteiten die verbinding maken onder hun eigen servicereferenties).
admin
text
het kan aanwezig of afwezig zijn. Gebruikers/rollen waarvoor dit onderdeel aanwezig is in hun beveiligingslabel, kunnen andere Microsoft Entra ID-rollen beheren.
Volgende stappen
- Bekijk de algemene concepten voor Microsoft Entra-verificatie met Azure Database for PostgreSQL - Flexible Server