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)
- Na webu Azure Portal otevřete stránku Ověřování pro instanci flexibilního serveru Azure Database for PostgreSQL.
- 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.
- Pokud chcete odebrat správce, vyberte ikonu Odstranit , aby se odebral.
- Vyberte Uložit a počkejte na dokončení operace zřizování.
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:
- Uživatel – včetně místních uživatelů tenanta a uživatelů typu host
- Instanční objekt. Zahrnutí aplikací a spravovaných identit
- 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ž false
vrá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ýtuser
,group
neboservice
.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í hodnotu1
, 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
text
Jedna 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
, group
nebo 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
text
Jedna 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 user
hodnotu , group
nebo 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
- Projděte si celkové koncepty ověřování Microsoft Entra s flexibilním serverem Azure Database for PostgreSQL.