Ověřování Microsoft Entra ID a PostgreSQL pomocí služby Azure Cosmos DB for PostgreSQL

PLATÍ PRO: Azure Cosmos DB for PostgreSQL (využívající rozšíření databáze Citus do PostgreSQL)

Azure Cosmos DB for PostgreSQL podporuje ověřování PostgreSQL a integraci s ID Microsoft Entra. Každý cluster Azure Cosmos DB for PostgreSQL se vytvoří s povoleným nativním ověřováním PostgreSQL a jednou integrovanou rolí PostgreSQL s názvem citus. Po dokončení zřizování clusteru můžete přidat další nativní role PostgreSQL.

Kromě metody ověřování PostgreSQL můžete také povolit ověřování Microsoft Entra ID (dříve Azure Active Directory) v clusteru nebo místo něj. Metody ověřování můžete nakonfigurovat v každém clusteru Azure Cosmos DB for PostgreSQL nezávisle. Pokud potřebujete změnit metodu ověřování, můžete to udělat kdykoli po dokončení zřizování clusteru. Změna metod ověřování nevyžaduje restartování clusteru.

Ověřování PostgreSQL

Modul PostgreSQL používá role k řízení přístupu k databázovým objektům. Nově vytvořený cluster Azure Cosmos DB for PostgreSQL má několik předdefinovaných rolí:

Vzhledem k tomu, že azure Cosmos DB for PostgreSQL je spravovaná služba PaaS, může se přihlásit jenom Microsoft pomocí postgres role superuživatele. Pro omezený přístup pro správu poskytuje citus azure Cosmos DB for PostgreSQL roli.

Spravovaná služba musí replikovat všechny role PostgreSQL do všech uzlů v clusteru. Pro usnadnění tohoto požadavku je potřeba vytvořit všechny ostatní role PostgreSQL pomocí možností správy Azure Cosmos DB for PostgreSQL.

Role Citus

Oprávnění pro citus roli:

  • Přečtěte si všechny konfigurační proměnné, dokonce i proměnné, které jsou obvykle viditelné pouze superuživatelům.
  • Přečtěte si všechna zobrazení pg_stat_* a používejte různá rozšíření související se statistikami – dokonce zobrazení nebo rozšíření, která jsou obvykle viditelná pouze pro superuživatele.
  • Spusťte monitorovací funkce, které můžou zabírat zámky ACCESS SHARE u tabulek, potenciálně po dlouhou dobu.
  • Vytvořte rozšíření PostgreSQL.

citus Role má zejména určitá omezení:

  • Nejde vytvořit role
  • Nejde vytvářet databáze

citus roli nelze odstranit, ale byla by zakázána, pokud je v clusteru vybraná metoda ověřování pouze ověřování Microsoft Entra ID.

Ověřování Microsoft Entra ID

Ověřování Microsoft Entra ID (dříve Azure Active Directory) je mechanismus připojení ke službě Azure Cosmos DB for PostgreSQL pomocí identit definovaných v Microsoft Entra ID. Pomocí ověřování Microsoft Entra ID můžete spravovat identity uživatelů databáze a další služby Microsoft v centrálním umístění, což zjednodušuje správu oprávnění.

Mezi výhody používání Microsoft Entra ID patří:

  • Jednotné ověřování uživatelů napříč službami Azure
  • Správa zásad hesel a obměně hesel na jednom místě
  • Více forem ověřování, které podporuje ID Microsoft Entra, což může eliminovat potřebu ukládat hesla
  • Ověřování Microsoft Entra ID používá k ověřování identit na úrovni databáze databázové role PostgreSQL.
  • Podpora ověřování na základě tokenů pro aplikace připojující se ke službě Azure Cosmos DB for PostgreSQL

Správa přístupu PostgreSQL pro instanční objekty ID Microsoft Entra

Pokud je povolené ověřování Microsoft Entra ID a objekt zabezpečení ID Microsoft Entra se přidá jako správce ID Microsoft Entra, získá účet stejná oprávnění jako rolecitus. Přihlašovacím účtem správce Microsoft Entra ID může být uživatel Microsoft Entra ID, instanční objekt nebo spravovaná identita. Kdykoli je možné nakonfigurovat více správců ID Microsoft Entra a volitelně můžete zakázat ověřování PostgreSQL (password) do clusteru Azure Cosmos DB for PostgreSQL, aby se zlepšilo auditování a dodržování předpisů.

Kromě toho je možné do clusteru kdykoli přidat libovolný počet rolí id Microsoft Entra bez oprávnění správce Microsoft Entra ID. Databázová oprávnění pro role nespravovaných ID Microsoft Entra se spravují podobně jako běžné role.

Připojení pomocí identit MICROSOFT Entra ID

Ověřování MICROSOFT Entra ID podporuje následující metody připojení k databázi pomocí identit ID Microsoft Entra:

  • Heslo ID Microsoft Entra
  • Integrované ID Microsoft Entra
  • Univerzální rozhraní Microsoft Entra ID s MFA
  • Použití certifikátů aplikace Microsoft Entra ID nebo tajných klíčů klienta
  • Spravovaná identita

Po ověření na základě ID Microsoft Entra pak načtete token. Tento token je vaše heslo pro přihlášení.

Ostatní úvahy

  • Jako správce MICROSOFT Entra ID pro cluster Azure Cosmos DB for PostgreSQL je možné kdykoli nakonfigurovat několik objektů zabezpečení Microsoft Entra ID (uživatel, instanční objekt nebo spravovaná identita).
  • Pokud se instanční objekt ID Microsoftu Entra odstraní ze služby Microsoft Entra ID, zůstane v clusteru stále jako role PostgreSQL, ale už nebude moct získat nový přístupový token. V tomto případě sice v databázi Postgres stále existuje odpovídající role, ale nemůže se ověřit v uzlech clusteru. Správci databází potřebují převést vlastnictví a tyto role ručně odstranit.

Poznámka:

Přihlášení s odstraněným uživatelem Microsoft Entra ID je stále možné provést až do vypršení platnosti tokenu (až 90 minut od vystavování tokenu). Pokud také odeberete uživatele z clusteru Azure Cosmos DB for PostgreSQL, bude tento přístup okamžitě odvolán.

  • Azure Cosmos DB for PostgreSQL odpovídá přístupovým tokenům k databázové roli pomocí jedinečného ID uživatele Microsoft Entra ID, a nikoli pomocí uživatelského jména. Pokud se odstraní uživatel Microsoft Entra ID a vytvoří se nový uživatel se stejným názvem, Azure Cosmos DB for PostgreSQL se domnívá, že jiný uživatel. Proto pokud je uživatel odstraněn z Microsoft Entra ID a nový uživatel je přidán se stejným názvem, nový uživatel by se nemohl připojit k existující roli.

Další kroky