Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a cikkben a Microsoft Entra ID-hozzáférést konfigurálja az Azure Database for PostgreSQL-hez való hitelesítéshez. Azt is megtudhatja, hogyan használhat Microsoft Entra token-t egy rugalmas Azure Database for PostgreSQL szerverpéldányhoz.
A Microsoft Entra-hitelesítést egy Azure Database for PostgreSQL rugalmas kiszolgálópéldányhoz a kiszolgáló kiépítése során vagy később is konfigurálhatja. Csak a Microsoft Entra rendszergazdai felhasználói hozhatnak létre vagy engedélyezhetnek felhasználókat a Microsoft Entra ID-alapú hitelesítéshez. 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.
Az Azure Database for PostgreSQL-ben több Microsoft Entra-rendszergazdai felhasználó is lehet. A Microsoft Entra rendszergazdai felhasználói lehetnek felhasználók, csoportok vagy szolgáltatásnevek.
Előfeltételek
- Aktív előfizetéssel rendelkező Azure-fiókra van szüksége. Hozzon létre egy fiókot ingyenesen.
Hálózati követelmények konfigurálása
A Microsoft Entra ID egy több-bérlős alkalmazás. Kimenő kapcsolatra van szüksége olyan műveletekhez, mint a Microsoft Entra felügyeleti csoportok hozzáadása.
A hálózatkezelési követelmények topológiánként eltérőek:
- Nyilvános hozzáférés (engedélyezett IP-címek):: Nincs szükség további kimenő szabályokra.
-
Privát hozzáférés (virtuális hálózati integráció)::
- Adjon hozzá egy kimenő NSG-szabályt, amely csak a
AzureActiveDirectoryszolgáltatáscímkére irányuló forgalmat engedélyezi. - Ha útvonaltáblát használ, adjon hozzá egy útvonalat a célhoz
AzureActiveDirectoryés a következő ugráshozInternet. - Ha proxyt használ, csak HTTPS-forgalmat engedélyezzen a
AzureActiveDirectoryszolgáltatáscímkére.
- Adjon hozzá egy kimenő NSG-szabályt, amely csak a
-
Egyéni DNS:
- Győződjön meg arról, hogy ezek a gazdagépnevek nyilvánosan feloldhatók:
login.microsoftonline.com(hitelesítés) ésgraph.microsoft.com(Microsoft Graph API). - Ha a megoldás sikertelen, a rendszergazdai hozzárendelés és a jogkivonat-beszerzési műveletek meghiúsulnak.
- Győződjön meg arról, hogy ezek a gazdagépnevek nyilvánosan feloldhatók:
A Microsoft Entra rendszergazdájának a kiszolgáló kiépítése során történő beállításához kövesse az alábbi lépéseket:
- 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.
- 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.
Megjegyzés:
A kiszolgáló kiépítése során csak egy Microsoft Entra-rendszergazda vehető fel. A kiszolgáló létrehozása után több Microsoft Entra-rendszergazdai felhasználót is hozzáadhat.
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:
- 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.
- 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 .
- Válassza a Microsoft Entra-rendszergazdák 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.
- Válassza az Mentésgombot.
Fontos
A rendszergazda beállításakor a rendszer új felhasználót ad hozzá a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányhoz teljes rendszergazdai engedélyekkel.
Csatlakozás az Azure Database for PostgreSQL-hez a Microsoft Entra ID használatával
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.
A következő ügyfeleket teszteltük:
-
psql parancssor: A változóval
PGPASSWORDadja á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).
- PgAdmin: A csatlakozás törlése a kiszolgáló létrehozásakor.
Hitelesítés Microsoft Entra-azonosítóval
A következő eljárásokkal hitelesítheti magát a Microsoft Entra ID használatával az Azure Database for PostgreSQL rugalmas kiszolgálópéldány felhasználójaként.
Kövesse a következőt:
- Azure Cloud Shell
- Azure-beli virtuális gép
- A helyi gép
Bejelentkezés az Azure-ba
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.
Microsoft Entra hozzáférési jogkivonat lekérése
Az Azure CLI használatával lekérheti a Microsoft Entra által hitelesített felhasználó hozzáférési jogkivonatát 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 használja a hozzáférési jogkivonatot a PostgreSQL felhasználói jelszavaként.
A psql parancssori ügyfél használatakor át kell adnia a hozzáférési jogkivonatot a PGPASSWORD környezeti változón keresztül. A hozzáférési jogkivonat hosszabb, mint a psql által közvetlenül elfogadható jelszóhossz.
Í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 linuxos vagy 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ést elhelyezheti egy változóban, és közvetlenül átadhatja a PGPASSWORD környezeti változó értékeként:
export PGPASSWORD=$(az account get-access-token --resource-type oss-rdbms --query "[accessToken]" -o tsv)
Most csatlakozzon az Azure Database for PostgreSQL-hez:
psql "host=mydb.postgres... user=user@tenant.onmicrosoft.com dbname=postgres sslmode=require"
Jogkivonat használata jelszóként a PgAdminnel való bejelentkezéshez
Ha Microsoft Entra-token és PgAdmin használatával szeretne csatlakozni, kövesse az alábbi lépéseket:
- Nyissa meg a PgAdmint, és válassza a Kiszolgáló regisztrálása>lehetőséget.
- Az Általános lapon adja meg a kapcsolat nevét, és törölje a 'Csatlakozás most' jelölést.
- A Kapcsolat lapon írja be a gazda adatait. Adja meg a felhasználónevet a Microsoft Entra UPN-nek (például
user@tenant.onmicrosoft.com). Mentés - A fában válassza ki a kiszolgálót, és válassza a Kiszolgáló csatlakoztatása lehetőséget.
- Amikor a rendszer kéri, illessze be a hozzáférési jogkivonatot jelszóként.
Íme néhány alapvető szempont a csatlakozáskor:
user@tenant.onmicrosoft.coma 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étPGUSER: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
Ez a szakasz bemutatja, hogyan csatlakozhat Microsoft Entra-csoportokkal. A csoport tagjának kell lennie, és a csoportot létre kell hozni (leképezni) az adatbázisban.
Csoport főazonosító létrehozása
Hozza létre a csoportnevet (szerepkört) az adatbázisban (szükség szerint cserélje le a megjelenítendő nevet):
select * from pgaadauth_create_principal('Prod DB Readonly', false, false).
Ha a csoportszinkronizálás le van tiltva, a tagok a hozzáférési jogkivonataik használatával jelentkezhetnek be, és felhasználónévként megadják a csoport nevét.
Ha a csoportszinkronizálás engedélyezve van (pgaadauth.enable_group_sync kiszolgálói paraméter "ON" értékre van állítva), a tagoknak egyéni Entra-azonosítójuk hitelesítő adataival kell bejelentkezniük, de felhasználónévként továbbra is bejelentkezhetnek a csoport nevével.
A csoportos bejelentkezések kompatibilitási okokból továbbra is elérhetők maradnak, de letilthatók a következőkkel:
ALTER ROLE "ROLE_NAME" NOLOGIN;A csoportszerepkört nem szabad törölni a szinkronizálás fenntartása érdekében.
Csoportok automatikus szinkronizálása 30 percenként.
A manuális szinkronizálás a következővel aktiválható:
SELECT * FROM pgaadauth_sync_roles_for_group_members();(pgaadauth.enable_group_synca paramnak "ON" kell lennie).A csoport metaadatainak (például a csoportnévnek) a módosításai nem szinkronizálódnak
A csoporttagság módosításai szinkronizálva vannak
Megjegyzés:
A felügyelt identitások és szolgáltatási főnevek a csoport tagjaként támogatottak.
Bejelentkezés az Azure-ba
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
Microsoft Entra hozzáférési jogkivonat lekérése
Az Azure CLI használatával lekérheti a Microsoft Entra által hitelesített felhasználó hozzáférési jogkivonatát 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"
}
Jogkivonat használata jelszóként a psql-lel vagy a PgAdminnel való bejelentkezéshez
Ezek a szempontok elengedhetetlenek a csoporttagként való csatlakozáskor:
- A csoport nevének pontosan meg kell egyeznie a Microsoft Entra csoport megjelenítendő nevével (kis- és nagybetűk megkülönböztetése).
- Csak a csoportnevet használja, tagi aliast nem.
- Szükség esetén menekülési szóközök (például
Prod\ DB\ Readonly). - A hozzáférési jog érvényessége 5–60 perc. Szerezze be közvetlenül csatlakozás előtt; ne tárolja a tokeneket szkriptekben.
Jótanács
Ha a hitelesítés sikertelen, ellenőrizze az adatbázis-szerepkör meglétét (például a következővel \du), és erősítse meg a pgaadauth.enable_group_sync beállítást.
A PostgreSQL-kiszolgálón mostantól Microsoft Entra-hitelesítéssel hitelesítik.