Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u met Microsoft Entra ID ingeschakelde databaserollen maakt in een flexibele serverinstantie van Azure Database for PostgreSQL.
Zie het artikel op basis van op rollen gebaseerd toegangsbeheer (Azure RBAC) of lees hoe u rollen aanpast voor meer informatie over het maken en beheren van gebruikers van Een Azure-abonnement en hun bevoegdheden.
Opmerking
In deze handleiding wordt ervan uitgegaan dat u Microsoft Entra-verificatie al hebt ingeschakeld op uw flexibele serverexemplaren van Azure Database for PostgreSQL.
Microsoft Entra-beheerders maken of verwijderen met behulp van Azure Portal of Arm-API (Azure Resource Manager)
- Open de Authenticatiepagina voor uw flexibele Azure Database for PostgreSQL-serverexemplaar in de 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 uit 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.
Opmerking
Ondersteuning voor Microsoft Entra-beheerdersbeheer via Azure SDK, az cli en Azure PowerShell is binnenkort beschikbaar.
Microsoft Entra-rollen beheren met SQL
Nadat u de eerste Microsoft Entra-beheerder hebt 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.
Voor de beste ervaring met Microsoft Entra-integratie in Azure Database for PostgreSQL raden we u aan vertrouwd te raken met het Microsoft Identity Platform.
Principal-typen
Intern slaat Azure Database for PostgreSQL de toewijzing op tussen PostgreSQL-databaserollen en unieke identificatoren van Microsoft Entra-objecten. Elke PostgreSQL-databaserol kan worden toegewezen aan een van de volgende Microsoft Entra-objecttypen:
- Gebruiker : inclusief lokale tenant- en gastgebruikers.
- Service-principal - inclusief toepassingen en beheerde identiteiten
- Groep - wanneer een PostgreSQL-rol is gekoppeld aan een Microsoft Entra-groep, kan elke gebruiker of service-principal lid van deze groep verbinding maken met de flexibele serverinstantie van Azure Database for PostgreSQL met de groepsrol.
Microsoft Entra-rollen weergeven met behulp van SQL
select * from pg_catalog.pgaadauth_list_principals(isAdminValue boolean)
Arguments
isAdminValue
boolean - Wanneer true, retourneert beheerdersgebruikers. Wanneer false, worden alle Microsoft Entra-gebruikers geretourneerd, inclusief Microsoft Entra-beheerders en niet-beheerders.
Resultaattype
TABLE(rolename name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer) - Een tabel met het volgende schema:
-
rolename- De naam van de rol in PostgreSQL. -
principalType- Het type principal in Microsoft Entra ID. Het kan ,usergroupofservice. -
objectId- De identificatie 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 van1wanneer de gebruiker/rol MFA heeft afgedwongen. -
isAdmin- Retourneert een waarde van1als de gebruiker/rol een beheerder is in PostgreSQL.
Een gebruiker of rol maken met een Microsoft Entra-principalnaam
select * from pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)
Arguments
roleName
text naam van de rol die moet worden gemaakt. Deze naam moet overeenkomen met de naam van de Microsoft Entra-principal.
- Gebruik voor gebruikers de User Principal Name van het profiel. Neem voor gastgebruikers de volledige naam op in hun thuisdomein met de tag #EXT#.
- Gebruik de weergavenaam voor groepen en service-principals. De naam moet uniek zijn in de tenant.
isAdmin
boolean wanneer true, wordt een PostgreSQL-administratieve gebruiker aangemaakt (als lid van de azure_pg_admin-rol en met CREATEROLE- en CREATEDB-machtigingen). Wanneer false plaatsvindt, wordt er een gewone PostgreSQL-gebruiker aangemaakt.
isMfa
boolean wanneer true, vereist multi-factor authenticatie 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 principaal bijvoorbeeld niet is geconfigureerd voor multifactorauthenticatie, wordt het gebruik van deze functie voorkomen. En als voor de tenant meervoudige verificatie is vereist voor alle tokens, wordt deze vlag nutteloos.
Resultaattype
text één waarde die bestaat uit een tekenreeks 'Gemaakte rol voor roleName', waarbij roleName het argument is dat u doorgeeft voor de parameter roleName .
Een rol verwijderen met een Microsoft Entra-principalnaam
U kunt op drie manieren een rol verwijderen die overeenkomt met een Microsoft Entra-id-principal:
Het Azure-portal
De ARM-API (Azure Resource Manager)
Door de volgende SQL-instructie uit te voeren:
DROP ROLE rolename;
Opmerking
In Azure Portal worden alleen beheerdersrollen weergegeven. Als u een niet-beheerdersrol wilt verwijderen, gebruikt u de ARM-API (Azure Resource Manager) of de SQL-instructie.
Een rol maken met behulp van de Object-id-id van Microsoft Entra
select * from pg_catalog.pgaadauth_create_principal_with_oid(roleName text, objectId text, objectType text, isAdmin boolean, isMfa boolean)
Arguments
roleName
text naam van de rol die moet worden gemaakt.
objectId
text unieke object-id van het Microsoft Entra-object.
- Zoek voor gebruikers, groepen en beheerde identiteiten de
objectIdnaam van het object op de pagina Microsoft Entra-id in Azure Portal. Zie deze handleiding als voorbeeld. - Gebruik de weergavenaam voor groepen en service-principals. De naam moet uniek zijn in de tenant.
- Gebruik voor toepassingen de object-id van de bijbehorende service-principal. Zoek in Azure Portal de vereiste objectId op de pagina Bedrijfstoepassingen .
objectType
text type Microsoft Entra-object dat u aan deze rol wilt koppelen. Het kan , usergroupof service.
isAdmin
boolean wanneer true, wordt een PostgreSQL-administratieve gebruiker aangemaakt (als lid van de azure_pg_admin-rol en met CREATEROLE- en CREATEDB-machtigingen). Wanneer false plaatsvindt, wordt er een gewone PostgreSQL-gebruiker aangemaakt.
isMfa
boolean wanneer true, vereist multi-factor authenticatie 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 principaal bijvoorbeeld niet is geconfigureerd voor multifactorauthenticatie, wordt het gebruik van deze functie voorkomen. En als voor de tenant meervoudige verificatie is vereist voor alle tokens, wordt deze vlag nutteloos.
Resultaattype
text één waarde die bestaat uit een tekenreeks 'Gemaakte rol voor roleName', waarbij roleName het argument is dat u doorgeeft voor de parameter roleName .
Microsoft Entra-verificatie inschakelen voor een bestaande PostgreSQL-rol met behulp van SQL
Azure Database voor PostgreSQL maakt gebruik van beveiligingslabels die gekoppeld zijn aan databaserollen om de bijbehorende Microsoft Entra ID-mapping op te slaan.
Gebruik de volgende SQL om het vereiste beveiligingslabel toe te wijzen en te koppelen aan een Microsoft Entra-object.
SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<objectType>,admin';
Arguments
roleName
text naam van een bestaande PostgreSQL-rol om Microsoft Entra-verificatie in te schakelen.
objectId
text unieke object-id van het Microsoft Entra-object.
objectType
text ingesteld op user, groupof service (voor toepassingen of beheerde identiteiten die verbinding maken onder hun eigen servicereferenties).
admin
text ingesteld op aanwezig of afwezig. Als dit aanwezig is in het beveiligingslabel, kunnen gebruikers of rollen andere Microsoft Entra ID-rollen beheren.