Dela via


Hantera Microsoft Entra-roller i Azure Database for PostgreSQL flexibel server

GÄLLER FÖR: Azure Database for PostgreSQL – flexibel server

Den här artikeln beskriver hur du kan skapa en Microsoft Entra-ID-aktiverad databasroller i en flexibel Azure Database for PostgreSQL-serverinstans.

Kommentar

Den här guiden förutsätter att du redan har aktiverat Microsoft Entra-autentisering på din flexibla Azure Database for PostgreSQL-serverinstans. Se Konfigurera Microsoft Entra-autentisering

Om du vill lära dig mer om hur du skapar och hanterar Azure-prenumerationsanvändare och deras behörigheter kan du gå till artikeln azure-rollbaserad åtkomstkontroll (Azure RBAC) eller läsa hur du anpassar roller.

Skapa eller ta bort Microsoft Entra-administratörer med hjälp av Azure-portalen eller ARM-API(Azure Resource Manager)

  1. Öppna sidan Autentisering för din flexibla Azure Database for PostgreSQL-serverinstans i Azure-portalen.
  2. Om du vill lägga till en administratör väljer du Lägg till Microsoft Entra-administratör och väljer en användare, grupp, ett program eller en hanterad identitet från den aktuella Microsoft Entra-klientorganisationen.
  3. Ta bort en administratör – välj Ikonen Ta bort för den som ska tas bort.
  4. Välj Spara och vänta tills etableringsåtgärden har slutförts.

Skärmbild av hantering av Microsoft Entra-administratörer via portalen.

Kommentar

Stöd för Hantering av Microsoft Entra-administratörer via Azure SDK, az cli och Azure PowerShell kommer snart.

Hantera Microsoft Entra-roller med SQL

När den första Microsoft Entra-administratören har skapats från Azure-portalen eller API:et kan du använda administratörsrollen för att hantera Microsoft Entra-roller i din flexibla Azure Database for PostgreSQL-serverinstans.

Vi rekommenderar att du bekantar dig med Microsoft platforma za identitete för bästa användning av Microsoft Entra-integrering med Azure Database for PostgreSQL – flexibel server.

Huvudtyper

Azure Database for PostgreSQL – flexibel server lagrar internt mappning mellan PostgreSQL-databasroller och unika identifierare för AzureAD-objekt. Varje PostgreSQL-databasroll kan mappas till någon av följande Microsoft Entra-objekttyper:

  1. Användare – inklusive lokala klient- och gästanvändare.
  2. Tjänstens huvudnamn. Inklusive program och hanterade identiteter
  3. Grupp När en PostgreSQL-roll är länkad till en Microsoft Entra-grupp kan alla användare eller tjänsthuvudnamnsmedlemmar i den här gruppen ansluta till den flexibla serverinstansen Azure Database for PostgreSQL med grupprollen.

Lista Microsoft Entra-roller med SQL

pg_catalog.pgaadauth_list_principals(isAdminValue boolean)

Argument

isAdminValue

boolean när true returnerar Administratörsanvändare. När falsereturnerar alla Microsoft Entra-användare, inklusive Microsoft Entra-administratörer och icke-administratörer.

Returtyp

TABLE(rolname name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer) en tabell med följande schema:

  • rolname namnet på rollen i PostgreSQL.
  • principalType typ av huvudnamn i Microsoft Entra-ID. Det kan vara user, groupeller service.
  • objectId identifieraren för objektet i Microsoft Entra-ID för det här huvudkontot.
  • tenantId identifieraren för klientorganisationen som är värd för det här huvudkontot i Microsoft Entra-ID.
  • isMfa returnerar ett värde för 1 om användaren/rollen har MFA framtvingas.
  • isAdmin returnerar ett värde för 1 om användaren/rollen är administratör i PostgreSQL.

Skapa en användare/roll med microsoft Entra-huvudnamn

pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)

Argument

roleName

text namnet på den roll som ska skapas. Detta måste matcha namnet på Microsoft Entra-huvudnamnet.

  • För användare använder användarens huvudnamn från profilen. För gästanvändare inkluderar du det fullständiga namnet i hemdomänen med taggen #EXT#.
  • För grupper och tjänstens huvudnamn använder du visningsnamn . Namnet måste vara unikt i klientorganisationen.
isAdmin

boolean när true den skapar en PostgreSQL-administratörsanvändare (medlem i azure_pg_admin rollen och med CREATEROLE- och CREATEDB-behörigheter). När false den skapar en vanlig PostgreSQL-användare.

isMfa

boolean när true den tillämpar multifaktorautentisering för den här PostgreSQL-användaren.

Viktigt!

Flaggan isMfa testar anspråket mfa i Microsoft Entra-ID-token, men det påverkar inte flödet för tokenförvärv. Om klientorganisationen för huvudkontot till exempel inte har konfigurerats för multifaktorautentisering förhindrar det användningen av funktionen. Och om klientorganisationen kräver multifaktorautentisering för alla token gör den här flaggan värdelös.

Returtyp

textenda värde som består av en sträng "Skapad roll för roleName", där roleName är argumentet som skickas för parametern roleName.

Ta bort en roll med microsoft Entra-huvudnamn

Kom ihåg att alla Microsoft Entra-roller som skapas i PostgreSQL måste tas bort med hjälp av en Microsoft Entra-administratör. Om du använder en vanlig PostgreSQL-administratör för att släppa en Entra-roll resulterar det i ett fel.

DROP ROLE rolename;

Skapa en roll med hjälp av Microsoft Entra-objektidentifierare

pg_catalog.pgaadauth_create_principal(roleName text, objectId text, objectType text, isAdmin boolean, isMfa boolean)

Argument

roleName

text namnet på den roll som ska skapas.

objectId

text unikt objektidentifierare för Microsoft Entra-objektet.

  • För användare, grupper och hanterade identiteter kan objectId hittas genom att söka efter objektnamnet på Microsoft Entra-ID-sidani Azure-portalen. Se den här guiden som exempel
  • För grupper och tjänstens huvudnamn använder du visningsnamn . Namnet måste vara unikt i klientorganisationen.
  • För program måste objectId för motsvarande tjänsthuvudnamn användas. I Azure-portalen finns det nödvändiga objectId på sidan Företagsprogram i Azure-portalen.
objectType

text vilken typ av Microsoft Entra-objekt som ska länkas till den här rollen. Det kan vara user, groupeller service.

isAdmin

boolean när true den skapar en PostgreSQL-administratörsanvändare (medlem i azure_pg_admin rollen och med CREATEROLE- och CREATEDB-behörigheter). När false den skapar en vanlig PostgreSQL-användare.

isMfa

boolean när true den tillämpar multifaktorautentisering för den här PostgreSQL-användaren.

Viktigt!

Flaggan isMfa testar anspråket mfa i Microsoft Entra-ID-token, men det påverkar inte flödet för tokenförvärv. Om klientorganisationen för huvudkontot till exempel inte har konfigurerats för multifaktorautentisering förhindrar det användningen av funktionen. Och om klientorganisationen kräver multifaktorautentisering för alla token gör den här flaggan värdelös.

Returtyp

textenda värde som består av en sträng "Skapad roll för roleName", där roleName är argumentet som skickas för parametern roleName.

Aktivera Microsoft Entra-autentisering för en befintlig PostgreSQL-roll med sql

Azure Database for PostgreSQL – flexibel server använder säkerhetsetiketter som är associerade med databasroller för att lagra motsvarande Microsoft Entra-ID-mappning.

Du kan använda följande SQL för att tilldela den säkerhetsetikett som krävs för att mappa den till ett Microsoft Entra-objekt:

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

Argument

roleName

text namn på en befintlig PostgreSQL-roll som Microsoft Entra-autentisering måste aktiveras för.

objectId

text unikt objektidentifierare för Microsoft Entra-objektet.

objectType

text Det kan anges till user, groupeller service (för program eller hanterade identiteter som ansluter under sina egna autentiseringsuppgifter för tjänsten).

admin

text det kan vara närvarande eller frånvarande. Användare/roller som den här delen finns i säkerhetsetiketten för kan hantera andra Microsoft Entra-ID-roller.

Nästa steg