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ássalInternet
. - 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 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
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:
- 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.
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.
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 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.
- Válassza a Mentés parancsot.
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:
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:
- 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
- Az Általános lapon adja meg a kapcsolat nevét, és törölje a Csatlakozás most lehetőséget.
- 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
- 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
- Amikor a rendszer kéri, adja meg az Active Directory-jogkivonat jelszavát.
Í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étPGUGSER
: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
- Tekintse át a Rugalmas Azure Database for PostgreSQL-kiszolgálóval történő Microsoft Entra-hitelesítés általános fogalmait.
- Megtudhatja, hogyan kezelheti a Microsoft Entra-felhasználókat – Rugalmas Azure Database for PostgreSQL-kiszolgálót.