Share via


A Microsoft Entra ID használata a rugalmas Azure Database for PostgreSQL-kiszolgálóval való hitelesítéshez

A következőkre vonatkozik: Azure Database for PostgreSQL – Rugalmas kiszolgáló

Ebben a cikkben a Microsoft Entra ID-hozzáférést konfigurálja a rugalmas Azure Database for PostgreSQL-kiszolgálóval való hitelesítéshez. Azt is megtudhatja, hogyan használhat Microsoft Entra-jogkivonatot rugalmas Azure Database for PostgreSQL-kiszolgálóval.

A Rugalmas Azure Database for PostgreSQL-kiszolgálóhoz konfigurálhatja a Microsoft Entra-hitelesítést a kiszolgáló kiépítésekor vagy újabb verzióiban. Csak a Microsoft Entra rendszergazdai felhasználók hozhatnak létre vagy engedélyezhetnek felhasználókat a Microsoft Entra ID-alapú hitelesítéshez. Javasoljuk, hogy ne használja a Microsoft Entra rendszergazdáját a rendszeres adatbázis-műveletekhez, mert ez a szerepkör emelt szintű felhasználói engedélyekkel (például CREATEDB) rendelkezik.

Rugalmas Azure Database for PostgreSQL-kiszolgálóval több Microsoft Entra rendszergazdai felhasználóval is rendelkezhet. A Microsoft Entra rendszergazdai felhasználói lehetnek felhasználók, csoportok vagy szolgáltatásnevek.

Előfeltételek

Hálózati követelmények konfigurálása

A Microsoft Entra ID egy több-bérlős alkalmazás. Bizonyos műveletek végrehajtásához kimenő kapcsolatra van szükség, például Microsoft Entra rendszergazdai csoportok hozzáadásához. Emellett hálózati szabályokra is szüksége van a Microsoft Entra-kapcsolat működéséhez a hálózati topológiától függően:

  • Nyilvános hozzáférés (engedélyezett IP-címek):: Nincs szükség további hálózati szabályokra.

  • Privát hozzáférés (virtuális hálózati integráció):

    • Egy kimenő hálózati biztonsági csoportra (NSG) vonatkozó szabályra van szükség, amely lehetővé teszi, hogy a virtuális hálózati forgalom csak a AzureActiveDirectory szolgáltatáscímkét érje el.
    • Ha útvonaltáblát használ, létre kell hoznia egy szabályt a célszolgáltatás címkéjével AzureActiveDirectory és a következő ugrással Internet.
    • Ha proxyt használ, hozzáadhat egy új tűzfalszabályt, amely lehetővé teszi, hogy a HTTP/S-forgalom csak a AzureActiveDirectory szolgáltatáscímkét érje el.
  • Egyéni DNS: További szempontokat is figyelembe kell venni, ha egyéni DNS-t használ a virtuális hálózaton (VNET). Ilyen esetekben elengedhetetlen annak biztosítása, hogy a következő végpontok feloldódjanak a megfelelő IP-címükön: login.microsoftonline.com: Ezt a végpontot hitelesítési célokra használják. Ellenőrizze, hogy az egyéni DNS-beállítás lehetővé teszi-e a login.microsoftonline.com feloldását a megfelelő IP-címekre graph.microsoft.com: Ez a végpont a Microsoft Graph API eléréséhez használható. Győződjön meg arról, hogy az egyéni DNS-beállítás lehetővé teszi a graph.microsoft.com feloldását a megfelelő IP-címekre.

A Microsoft Entra-rendszergazdának a kiszolgáló üzembe helyezése során történő beállításához kövesse az alábbi lépéseket:

  1. Az Azure Portalon a kiszolgáló kiépítése során csak a PostgreSQL- és a Microsoft Entra-hitelesítést, illetve a Microsoft Entra-hitelesítést válassza ki hitelesítési módszerként.
  2. A Rendszergazda beállítása lapon válasszon ki egy érvényes Microsoft Entra-felhasználót, csoportot, szolgáltatásnevet vagy felügyelt identitást az ügyfélbérlében, hogy a Microsoft Entra-rendszergazda legyen.

Ha inkább a PostgreSQL és a Microsoft Entra hitelesítési módszert szeretné használni, hozzáadhat helyi PostgreSQL-rendszergazdai fiókot.

Feljegyzés

A kiszolgáló kiépítése során csak egy Azure-rendszergazdai felhasználót vehet fel. A kiszolgáló létrehozása után több Microsoft Entra rendszergazdai felhasználót is hozzáadhat.

Screenshot that shows selections for setting a Microsoft Entra admin during server provisioning.]

A Microsoft Entra rendszergazdájának kiszolgálólétrehozás utáni beállításához kövesse az alábbi lépéseket:

  1. Az Azure Portalon válassza ki a Rugalmas Azure Database for PostgreSQL-kiszolgáló azon példányát, amelyet engedélyezni szeretne a Microsoft Entra-azonosítóhoz.
  2. A Biztonság területen válassza a Hitelesítés lehetőséget. Ezután a követelményeknek megfelelően válassza a PostgreSQL- és a Microsoft Entra-hitelesítést vagy a Microsoft Entra-hitelesítést .
  3. Válassza a Microsoft Entra Rendszergazda hozzáadása lehetőséget. Ezután válasszon ki egy érvényes Microsoft Entra-felhasználót, csoportot, szolgáltatásnevet vagy felügyelt identitást az ügyfélbérlében, hogy Microsoft Entra-rendszergazda legyen.
  4. Válassza a Mentés parancsot.

Screenshot that shows selections for setting a Microsoft Entra admin after server creation.

Fontos

A rendszergazda beállításakor a rendszer új felhasználót ad hozzá a rugalmas Azure Database for PostgreSQL-kiszolgálóhoz teljes rendszergazdai engedélyekkel.

Csatlakozás az Azure Database for PostgreSQL-be a Microsoft Entra ID használatával

Az alábbi magas szintű diagram összefoglalja a Microsoft Entra-hitelesítés Azure Database for PostgreSQL-lel való használatának munkafolyamatát:

Diagram of authentication flow between Microsoft Entra ID, the user's computer, and the server.

A Microsoft Entra integrációja olyan szabványos PostgreSQL-eszközökkel működik, mint a psql, amelyek nem ismerik a Microsoft Entra-t, és csak akkor támogatják a felhasználónevet és a jelszót, amikor a PostgreSQL-hez csatlakozik. Ahogy az előző ábrán is látható, a Microsoft Entra-jogkivonatot a rendszer jelszóként adja át.

A következő ügyfeleket teszteltük:

  • psql parancssor: A változóval PGPASSWORD adja át a jogkivonatot.
  • Azure Data Studio: Használja a PostgreSQL-bővítményt.
  • Egyéb libpq-alapú ügyfelek: Ilyenek például a gyakori alkalmazás-keretrendszerek és az objektum-relációs leképezők (ORM-ek).
  • Pg Rendszergazda: Törölje Csatlakozás most a kiszolgáló létrehozásakor.

Hitelesítés Microsoft Entra ID-vel

Az alábbi eljárásokkal hitelesítheti a Microsoft Entra ID-t rugalmas Azure Database for PostgreSQL-kiszolgálófelhasználóként. Követheti a lépéseket az Azure Cloud Shellben, egy Azure-beli virtuális gépen vagy a helyi gépen.

Bejelentkezés a felhasználó Azure-előfizetésére

Kezdje a Microsoft Entra ID hitelesítésével az Azure CLI használatával. Ez a lépés nem szükséges az Azure Cloud Shellben.

az login

A parancs megnyit egy böngészőablakot a Microsoft Entra hitelesítési oldalára. Ehhez meg kell adnia a Microsoft Entra felhasználói azonosítóját és jelszavát.

A Microsoft Entra hozzáférési jogkivonatának lekérése

Az Azure CLI használatával hozzáférési jogkivonatot szerezhet be a Microsoft Entra által hitelesített felhasználó számára az Azure Database for PostgreSQL eléréséhez. Íme egy példa a nyilvános felhőre:

az account get-access-token --resource https://ossrdbms-aad.database.windows.net

Az előző erőforrásértéket az ábrán látható módon kell megadni. Más felhők esetében az alábbi paranccsal keresheti meg az erőforrás értékét:

az cloud show

Az Azure CLI 2.0.71-es és újabb verziójához a következő kényelmes verzióban adhatja meg a parancsot az összes felhőhöz:

az account get-access-token --resource-type oss-rdbms

A hitelesítés sikeres elvégzése után a Microsoft Entra ID egy hozzáférési jogkivonatot ad vissza:

{
  "accessToken": "TOKEN",
  "expiresOn": "...",
  "subscription": "...",
  "tenant": "...",
  "tokenType": "Bearer"
}

A jogkivonat egy Base64-sztring. Kódolja a hitelesített felhasználóra vonatkozó összes információt, és az Azure Database for PostgreSQL szolgáltatásra irányul.

Jogkivonat használata jelszóként az ügyfél psql-jével való bejelentkezéshez

Csatlakozáskor a legjobb, ha a hozzáférési jogkivonatot PostgreSQL-felhasználói jelszóként használja.

A psql parancssori ügyfél használata során a hozzáférési jogkivonatot át kell adni a PGPASSWORD környezeti változón. Ennek az az oka, hogy a hozzáférési jogkivonat túllépi a psql által közvetlenül elfogadható jelszóhosszt.

Íme egy Windows-példa:

set PGPASSWORD=<copy/pasted TOKEN value from step 2>
$env:PGPASSWORD='<copy/pasted TOKEN value from step 2>'

Íme egy Linux/macOS-példa:

export PGPASSWORD=<copy/pasted TOKEN value from step 2>

A 2. és a 3. lépést parancshelyettesítéssel is kombinálhatja. A jogkivonat lekérése beágyazható egy változóba, és közvetlenül a környezeti változó értékeként PGPASSWORD adható át:

export PGPASSWORD=$(az account get-access-token --resource-type oss-rdbms --query "[accessToken]" -o tsv)

Most már a szokásos módon kezdeményezhet kapcsolatot az Azure Database for PostgreSQL-lel:

psql "host=mydb.postgres... user=user@tenant.onmicrosoft.com dbname=postgres sslmode=require"

A Pg-vel való bejelentkezéshez használjon jogkivonatot jelszóként Rendszergazda

Ha Microsoft Entra-jogkivonattal szeretne csatlakozni a Pg-hez Rendszergazda kövesse az alábbi lépéseket:

  1. Nyissa meg a Pgadmint, és kattintson a Regisztrálás gombra a bal oldali menüben, és válassza a Kiszolgáló lehetőséget
  2. Az Általános lapon adja meg a kapcsolat nevét, és törölje a Csatlakozás most lehetőséget.
  3. Kattintson a Csatlakozás ion fülre, és adja meg rugalmas Azure Database for PostgreSQL-kiszolgálópéldányának adatait a hostname/address és a felhasználónév megadásához és mentéséhez. felhasználónév a Microsoft Entra azonosítója vagy e-mail-címe
  4. A böngésző menüjében válassza ki a rugalmas Azure Database for PostgreSQL-kiszolgálókapcsolatot, és kattintson a Csatlakozás Kiszolgálóra
  5. Amikor a rendszer kéri, adja meg az Active Directory-jogkivonat jelszavát.

Screenshot that shows login process using PG admin.

Íme néhány alapvető szempont a csatlakozáskor:

  • user@tenant.onmicrosoft.com a Microsoft Entra-felhasználó userPrincipalName neve.
  • Ügyeljen arra, hogy az Azure-felhasználó pontos helyesírását használja. A Microsoft Entra felhasználói és csoportnevei megkülönböztetik a kis- és nagybetűket.
  • Ha a név szóközöket tartalmaz, minden szóköz előtt használjon fordított perjelet (\) a feloldásukhoz. Az Azure CLI használatával lekérheti a bejelentkezett felhasználót, és beállíthatja a környezeti változó értékét PGUGSER :
    export PGUSER=$(az ad signed-in-user show --query "[userPrincipalName]" -o tsv | sed 's/ /\\ /g')
    
  • A hozzáférési jogkivonat érvényessége 5 perc és 60 perc között lehet. Az Azure Database for PostgreSQL-be való bejelentkezés megkezdése előtt le kell szereznie a hozzáférési jogkivonatot.

Mostantól Microsoft Entra-hitelesítéssel hitelesíti az Azure Database for PostgreSQL-kiszolgálón.

Hitelesítés csoporttagként a Microsoft Entra-azonosítóval

Microsoft Entra-csoportok létrehozása rugalmas Azure Database for PostgreSQL-kiszolgálón

Ha engedélyezni szeretné egy Microsoft Entra-csoport számára az adatbázis elérését, használja ugyanazt a mechanizmust, amelyet a felhasználóknál használt, de adja meg a csoport nevét. Példa:

select * from  pgaadauth_create_principal('Prod DB Readonly', false, false).

Amikor a csoporttagok bejelentkeznek, a hozzáférési jogkivonataikat használják, de felhasználónévként megadják a csoport nevét.

Feljegyzés

A rugalmas Azure Database for PostgreSQL-kiszolgáló csoporttagként támogatja a felügyelt identitásokat és a szolgáltatásnevek használatát.

Bejelentkezés a felhasználó Azure-előfizetésére

Hitelesítés Microsoft Entra-azonosítóval az Azure CLI használatával. Ez a lépés nem szükséges az Azure Cloud Shellben. A felhasználónak a Microsoft Entra csoport tagjának kell lennie.

az login

A Microsoft Entra hozzáférési jogkivonatának lekérése

Az Azure CLI használatával hozzáférési jogkivonatot szerezhet be a Microsoft Entra által hitelesített felhasználó számára az Azure Database for PostgreSQL eléréséhez. Íme egy példa a nyilvános felhőre:

az account get-access-token --resource https://ossrdbms-aad.database.windows.net

A kezdeti erőforrás értékét pontosan az ábrán látható módon kell megadnia. Más felhők esetében az alábbi paranccsal keresheti meg az erőforrás értékét:

az cloud show

Az Azure CLI 2.0.71-es és újabb verziójához a következő kényelmes verzióban adhatja meg a parancsot az összes felhőhöz:

az account get-access-token --resource-type oss-rdbms

A hitelesítés sikeres elvégzése után a Microsoft Entra ID egy hozzáférési jogkivonatot ad vissza:

{
  "accessToken": "TOKEN",
  "expiresOn": "...",
  "subscription": "...",
  "tenant": "...",
  "tokenType": "Bearer"
}

Használjon jogkivonatot jelszóként a psql-lel vagy a Pg-vel való bejelentkezéshez Rendszergazda

Ezek a szempontok elengedhetetlenek a csoporttagként való csatlakozáskor:

  • A csoport neve annak a Microsoft Entra-csoportnak a neve, amelyhez csatlakozni próbál.
  • Ügyeljen arra, hogy pontosan a Microsoft Entra-csoport nevének helyesírását használja. A Microsoft Entra felhasználói és csoportnevei megkülönböztetik a kis- és nagybetűket.
  • Amikor csoportként csatlakozik, csak a csoport nevét használja, a csoporttagok aliasát nem.
  • Ha a név szóközöket tartalmaz, minden szóköz előtt használjon fordított perjelet (\) a feloldásukhoz.
  • A hozzáférési jogkivonat érvényessége 5 perc és 60 perc között lehet. Javasoljuk, hogy a bejelentkezési folyamat megkezdése előtt szerezze be a hozzáférési jogkivonatot az Azure Database for PostgreSQL-be.

A PostgreSQL-kiszolgálón mostantól Microsoft Entra-hitelesítéssel hitelesítik.

Következő lépések