Sdílet prostřednictvím


Správa rolí Microsoft Entra na flexibilním serveru Azure Database for PostgreSQL

PLATÍ PRO: Flexibilní server Azure Database for PostgreSQL

Tento článek popisuje, jak vytvořit databázové role s povoleným ID Microsoft Entra v rámci flexibilní instance serveru Azure Database for PostgreSQL.

Poznámka:

V této příručce se předpokládá, že jste už na instanci flexibilního serveru Azure Database for PostgreSQL povolili ověřování Microsoft Entra. Přečtěte si , jak nakonfigurovat ověřování Microsoft Entra.

Pokud se chcete dozvědět, jak vytvářet a spravovat uživatele předplatného Azure a jejich oprávnění, můžete navštívit článek řízení přístupu na základě role (Azure RBAC) Azure nebo si projít postup přizpůsobení rolí.

Vytvoření nebo odstranění správců Microsoft Entra pomocí webu Azure Portal nebo rozhraní API Azure Resource Manageru (ARM)

  1. Na webu Azure Portal otevřete stránku Ověřování pro instanci flexibilního serveru Azure Database for PostgreSQL.
  2. Chcete-li přidat správce , vyberte Přidat správce Microsoft Entra a vyberte uživatele, skupinu, aplikaci nebo spravovanou identitu z aktuálního tenanta Microsoft Entra.
  3. Pokud chcete odebrat správce, vyberte ikonu Odstranit , aby se odebral.
  4. Vyberte Uložit a počkejte na dokončení operace zřizování.

Snímek obrazovky správy správců Microsoft Entra prostřednictvím portálu

Poznámka:

Podpora pro správu Microsoft Entra Administrators prostřednictvím sady Azure SDK, az cli a Azure PowerShellu připravujeme.

Správa rolí Microsoft Entra pomocí SQL

Po vytvoření prvního správce Microsoft Entra z webu Azure Portal nebo rozhraní API můžete pomocí role správce spravovat role Microsoft Entra ve vaší instanci flexibilního serveru Azure Database for PostgreSQL.

Doporučujeme seznámit se s platformou Microsoft Identity Platform pro nejlepší využití integrace Microsoft Entra s flexibilním serverem Azure Database for PostgreSQL.

Typy objektů zabezpečení

Flexibilní server Azure Database for PostgreSQL interně ukládá mapování mezi rolemi databáze PostgreSQL a jedinečnými identifikátory objektů AzureAD. Každou roli databáze PostgreSQL lze mapovat na jeden z následujících typů objektů Microsoft Entra:

  1. Uživatel – včetně místních uživatelů tenanta a uživatelů typu host
  2. Instanční objekt. Zahrnutí aplikací a spravovaných identit
  3. Skupina V případě, že je role PostgreSQL propojená se skupinou Microsoft Entra, se každý uživatel nebo instanční člen této skupiny může připojit k instanci flexibilního serveru Azure Database for PostgreSQL s rolí skupiny.

Výpis rolí Microsoft Entra pomocí SQL

pg_catalog.pgaadauth_list_principals(isAdminValue boolean)

Argumenty

isAdminValue

boolean když true vrátí uživatele správce. Když falsevrátí všechny uživatele Microsoft Entra, včetně správců Microsoft Entra a nesprávců.

Návratový typ

TABLE(rolname name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer) tabulka s následujícím schématem:

  • rolname název role v PostgreSQL.
  • principalType typ objektu zabezpečení v MICROSOFT Entra ID. Může to být user, groupnebo service.
  • objectId identifikátor objektu v Microsoft Entra ID pro tento objekt zabezpečení.
  • tenantId identifikátor tenanta hostujícího tento objekt zabezpečení v MICROSOFT Entra ID.
  • isMfa vrátí hodnotu 1 , pokud má uživatel nebo role vynucené vícefaktorové ověřování.
  • isAdmin vrátí hodnotu, 1 pokud je uživatel nebo role správcem v PostgreSQL.

Vytvoření uživatele nebo role pomocí hlavního názvu Microsoft Entra

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

Argumenty

roleName

text název role, která se má vytvořit. Musí se shodovat s názvem objektu zabezpečení Microsoft Entra.

  • Pro uživatele použijte hlavní název uživatele z profilu. Pro uživatele typu host zahrňte celé jméno do domovské domény se značkou #EXT#.
  • Pro skupiny a instanční objekty použijte zobrazovaný název. Název musí být v tenantovi jedinečný.
isAdmin

boolean když true vytvoří uživatele správce PostgreSQL (člen azure_pg_admin role a s oprávněními CREATEROLE a CREATEDB). Když false se vytvoří běžný uživatel PostgreSQL.

isMfa

boolean pokud true pro tohoto uživatele PostgreSQL vynucuje vícefaktorové ověřování.

Důležité

Příznak isMfa testuje mfa deklaraci identity v tokenu Microsoft Entra ID, ale nemá vliv na tok získání tokenu. Pokud například tenant objektu zabezpečení není nakonfigurovaný pro vícefaktorové ověřování, zabrání použití této funkce. A pokud tenant vyžaduje vícefaktorové ověřování pro všechny tokeny, bude tento příznak zbytečný.

Návratový typ

textJedna hodnota, která se skládá z řetězce "Vytvořená role pro roleName", kde roleName je argument předaný pro parametr roleName.

Vyřazení role pomocí hlavního názvu Microsoft Entra

Mějte na paměti, že všechny role Microsoft Entra vytvořené v PostgreSQL musí být vyřazeny pomocí správce Microsoft Entra. Pokud k vyřazení role Entra použijete normálního správce PostgreSQL, dojde k chybě.

DROP ROLE rolename;

Vytvoření role pomocí identifikátoru objektu Microsoft Entra

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

Argumenty

roleName

text název role, která se má vytvořit.

objectId

text jedinečný identifikátor objektu Microsoft Entra.

  • Pro uživatele, skupiny a spravované identity lze id objektu najít vyhledáním názvu objektu na stránce ID Microsoft Entra na webu Azure Portal. Podívejte se na tento průvodce jako příklad.
  • Pro skupiny a instanční objekty použijte zobrazovaný název. Název musí být v tenantovi jedinečný.
  • Pro aplikace musí být použit objectId odpovídajícího instančního objektu . Na webu Azure Portal najdete požadované ID objektu na stránce Podnikové aplikace na webu Azure Portal.
objectType

text typ objektu Microsoft Entra pro propojení s touto rolí. Může to být user, groupnebo service.

isAdmin

boolean když true vytvoří uživatele správce PostgreSQL (člen azure_pg_admin role a s oprávněními CREATEROLE a CREATEDB). Když false se vytvoří běžný uživatel PostgreSQL.

isMfa

boolean pokud true pro tohoto uživatele PostgreSQL vynucuje vícefaktorové ověřování.

Důležité

Příznak isMfa testuje mfa deklaraci identity v tokenu Microsoft Entra ID, ale nemá vliv na tok získání tokenu. Pokud například tenant objektu zabezpečení není nakonfigurovaný pro vícefaktorové ověřování, zabrání použití této funkce. A pokud tenant vyžaduje vícefaktorové ověřování pro všechny tokeny, bude tento příznak zbytečný.

Návratový typ

textJedna hodnota, která se skládá z řetězce "Vytvořená role pro roleName", kde roleName je argument předaný pro parametr roleName.

Povolení ověřování Microsoft Entra pro existující roli PostgreSQL pomocí SQL

Flexibilní server Azure Database for PostgreSQL používá popisky zabezpečení přidružené k databázovým rolím k uložení odpovídajícího mapování ID Microsoft Entra.

K přiřazení požadovaného popisku zabezpečení k namapování na objekt Microsoft Entra můžete použít následující sql:

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

Argumenty

roleName

text název existující role PostgreSQL, pro kterou je potřeba povolit ověřování Microsoft Entra.

objectId

text jedinečný identifikátor objektu Microsoft Entra.

objectType

text může být nastavena na userhodnotu , groupnebo service (pro aplikace nebo spravované identity, které se připojují pod svými vlastními přihlašovacími údaji služby).

admin

text může být přítomna nebo chybí. Uživatelé/role, pro které se tato část nachází v popisku zabezpečení, můžou spravovat další role ID Microsoft Entra.

Další kroky