Delen via


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)

  1. Open de pagina Verificatie voor uw flexibele Azure Database for PostgreSQL-serverexemplaren in Azure Portal.
  2. 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.
  3. Als u een beheerder wilt verwijderen, selecteert u het pictogram Verwijderen voor de beheerder die u wilt verwijderen.
  4. Selecteer Opslaan en wacht tot de inrichtingsbewerking is voltooid.

Schermopname van het beheren van Microsoft Entra-beheerders via de portal.

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:

  1. Gebruiker : lokale tenant- en gastgebruikers.
  2. Service-principal. Toepassingen en beheerde identiteiten opnemen
  3. 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 falsealle 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 , usergroupof service.
  • 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 als 1 de gebruiker/rol MFA heeft afgedwongen.
  • isAdmin retourneert een waarde van 1 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 , usergroupof 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, groupof 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