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.
Fontos
Az Azure Cosmos DB for PostgreSQL már nem támogatott új projektek esetén. Ne használja ezt a szolgáltatást új projektekhez. Ehelyett használja az alábbi két szolgáltatás egyikét:
Az Azure Cosmos DB for NoSQL használata nagy léptékű forgatókönyvekhez tervezett elosztott adatbázis-megoldáshoz 99,999% rendelkezésre állási szolgáltatásiszint-szerződéssel (SLA), azonnali automatikus skálázással és automatikus feladatátvétellel több régióban.
Használja az Azure Database For PostgreSQL Rugalmas fürtök funkcióját a megosztott PostgreSQL-hez a nyílt forráskódú Citus-bővítmény használatával.
Ebben a cikkben hitelesítési módszereket konfigurál az Azure Cosmos DB for PostgreSQL-hez. A Microsoft Entra ID rendszergazdai felhasználóit és a natív PostgreSQL-szerepköröket az Azure Cosmos DB for PostgreSQL-hez való hitelesítéshez kezelheti. Azt is megtudhatja, hogyan használhat Microsoft Entra ID-jogkivonatot az Azure Cosmos DB for PostgreSQL-hez.
Egy Azure Cosmos DB for PostgreSQL-fürt jön létre egy beépített natív PostgreSQL-szerepkörrel, "citus" néven. A fürtkiépítés befejezése után további natív PostgreSQL-szerepköröket adhat hozzá.
Konfigurálhatja a Microsoft Entra ID (korábbi nevén Azure Active Directory) hitelesítést az Azure Cosmos DB for PostgreSQL-hez. A Microsoft Entra ID-hitelesítést engedélyezheti a fürtön, akár a natív PostgreSQL-hitelesítés mellett, akár annak helyettesítésére. A fürtön engedélyezett hitelesítési módszereket a fürt kiépítése után bármikor módosíthatja. Ha engedélyezve van a Microsoft Entra ID-hitelesítés, több Microsoft Entra ID-felhasználót is hozzáadhat egy Azure Cosmos DB for PostgreSQL-fürthöz, és bármelyiket rendszergazdává teheti. A Microsoft Entra ID-felhasználó lehet felhasználó vagy szolgáltatásfőnök.
Hitelesítési módszer kiválasztása
Használnia kell az Azure Portalt a hitelesítési módszerek konfigurálására egy Azure Cosmos DB for PostgreSQL fürtön.
Végezze el az alábbi elemeket az Azure Cosmos DB for PostgreSQL-fürtön a Microsoft Entra ID-hitelesítés és a natív PostgreSQL-hitelesítés engedélyezéséhez vagy letiltásához.
- A fürtoldal Fürtkezelés fejléce alatt válassza a Hitelesítés lehetőséget a hitelesítéskezelési lehetőségek megnyitásához.
- A Hitelesítési módszerek szakaszban válassza a Csak a PostgreSQL-hitelesítést, a Microsoft Entra ID-hitelesítést, a PostgreSQL-t és a Microsoft Entra ID-hitelesítést a követelményeknek megfelelő hitelesítési módszerként.
Ha végzett, konfigurálja a Microsoft Entra ID-hitelesítést , vagy adjon hozzá natív PostgreSQL-szerepköröket ugyanazon a hitelesítési oldalon.
A Microsoft Entra-azonosító hitelesítésének konfigurálása
Előfeltételek
A felhasználóknak engedélyezni kell, hogy bejelentkezzenek az Azure Cosmos DB for PostgreSQL-be a Microsoft Entra ID-bérlőn keresztül. Ezeket a lépéseket egyszer kell végrehajtani a Microsoft Entra ID-bérlő esetében, amelyet az Azure Cosmos DB for PostgreSQL-fürtök hitelesítéséhez fognak használni.
Fontos
A módosítás elvégzéséhez a Microsoft Entra ID bérlői rendszergazdai engedélyére van szükség. Útmutatás az engedélyek hibaelhárításához.
- Keressen rá a "Microsoft Entra ID" kifejezésre az Azure Portalon.
- Nyissa meg a "Microsoft Entra ID" szolgáltatást.
- A Microsoft Entra ID szolgáltatás Áttekintés lapján keresse meg a "b4fa09d8-5da5-4352-83d9-05c2a44cf431" alkalmazásazonosítót.
- A keresési eredmények között válassza az "Azure Cosmos DB for PostgreSQL AAD Authentication" vállalati alkalmazást.
- Az Azure Cosmos DB for PostgreSQL AAD Authentication vállalati alkalmazásban válassza a Tulajdonságok lapot.
- Állítsa be az Engedélyezve a felhasználók számára a bejelentkezést? lehetőséget Igen értékre, és mentse a módosítást.
Feljegyzés
A vállalati alkalmazás tulajdonságainak (például "Engedélyezve a felhasználóknak a bejelentkezéshez") szerkesztéséhez a vállalati alkalmazástulajdonságok frissítéséhez jogosultságokkal rendelkező szerepkörökhöz szükséges engedélyek szükségesek. A szerepköröknek( például a vállalati alkalmazás tulajdonosának) rendelkezniük kell a "vállalati alkalmazástulajdonságok frissítése" engedéllyel. További információ: A Microsoft Entra legkevésbé kiemelt szerepkörei feladatonként – Nagyvállalati alkalmazások.
Microsoft Entra ID-rendszergazdák hozzáadása az Azure Cosmos DB for PostgreSQL-fürthöz
A Microsoft Entra ID-szerepkörök fürthöz való hozzáadásához vagy eltávolításához kövesse az alábbi lépéseket a Hitelesítés lapon:
- A Microsoft Entra ID hitelesítési szakaszában válassza a Microsoft Entra ID-rendszergazdák hozzáadása lehetőséget.
- A Microsoft Entra ID Rendszergazdák kiválasztása panelen válasszon ki egy vagy több érvényes Microsoft Entra ID-felhasználót vagy vállalati alkalmazást az aktuális AD-bérlőben, hogy Microsoft Entra ID-rendszergazda legyen az Azure Cosmos DB for PostgreSQL-fürtön.
- Válassza a Kiválasztás lehetőséget a választás megerősítéséhez.
- A Hitelesítés lapon válassza a Mentés lehetőséget az eszköztáron a módosítások mentéséhez vagy natív PostgreSQL-szerepkörök hozzáadásához.
Natív PostgreSQL-hitelesítés konfigurálása
Ha Postgres-szerepköröket szeretne hozzáadni a fürthöz, kövesse az alábbi lépéseket a Hitelesítés lapon:
- A PostgreSQL-hitelesítés szakaszban válassza a PostgreSQL-szerepkör hozzáadása lehetőséget.
- Adja meg a szerepkör nevét és jelszavát. Válassza a Mentés lehetőséget.
- A Hitelesítés lapon válassza a Mentés az eszköztáron lehetőséget a módosítások mentéséhez vagy a Microsoft Entra ID rendszergazdai felhasználók hozzáadásához.
A natív PostgreSQL-felhasználó a fürt koordinátor csomópontján jön létre, majd az összes feldolgozó csomópontra eljuttatásra kerül. Az Azure Portalon létrehozott szerepkörök rendelkeznek a LOGIN attribútummal, ami azt jelenti, hogy valódi felhasználók, akik bejelentkezhetnek az adatbázisba.
Csatlakozás az Azure Cosmos for PostgreSQL-hez Microsoft Entra ID-hitelesítéssel
A Microsoft Entra ID integrációja olyan szabványos PostgreSQL-ügyféleszközökkel működik, mint a psql, amelyek nem ismerik a Microsoft Entra ID-t, és csak akkor támogatják a felhasználónevet és a jelszót, amikor a PostgreSQL-hez csatlakozik. Ilyen esetekben a Rendszer a Microsoft Entra ID-jogkivonatot adja át jelszóként.
A következő ügyfeleket teszteltük:
-
psql parancssor: A
PGPASSWORDváltozót használja a token átadására. - 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: Az „Azonnali csatlakozás” választásának törlése kiszolgáló létrehozásakor.
Az alábbi eljárásokkal hitelesítheti a Microsoft Entra ID-t Azure Cosmos DB for PostgreSQL-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 ID hitelesítési oldalára. Ehhez meg kell adnia a Microsoft Entra-azonosító felhasználónevét és jelszavát.
A hitelesítéshez használt felhasználói fióknév (például user@tenant.onmicrosoft.com) az, amelyhez a hozzáférési jogkivonat létrejön a következő lépésben.
A Microsoft Entra ID hozzáférési jogkivonatának lekérése
Az Azure CLI használatával szerezzen be egy hozzáférési jogkivonatot a Microsoft Entra-azonosítóval hitelesített felhasználó számára az Azure Cosmos for PostgreSQL eléréséhez. Íme egy példa:
az account get-access-token --resource https://token.postgres.cosmos.azure.com
A sikeres hitelesítés után a Microsoft Entra ID egy hozzáférési jogkivonatot ad vissza az aktuális Azure-előfizetéshez:
{
"accessToken": "[TOKEN]",
"expiresOn": "[expiration_date_and_time]",
"subscription": "[subscription_id]",
"tenant": "[tenant_id]",
"tokenType": "Bearer"
}
A TOKEN egy Base64-sztring. Kódolja a hitelesített felhasználóra vonatkozó összes információt, és az Azure Cosmos DB for PostgreSQL szolgáltatáshoz van társítva. A jogkivonat legalább 5 percig érvényes, legfeljebb 90 percig. A expiresOn a jogkivonat tényleges lejárati idejét határozza meg.
Token használata jelszóként a psql ügyfélbe 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=<TOKEN value from the previous step>
$env:PGPASSWORD='<TOKEN value from the previous step>'
Íme egy Linux/macOS-példa:
export PGPASSWORD=<TOKEN value from the previous step>
Az előző két lépést parancshelyettesítéssel is kombinálhatja. A token lekérése beállítható egy változóba, és közvetlenül értékként adhatjuk át egy környezeti változónak PGPASSWORD.
export PGPASSWORD=$(az account get-access-token --resource https://token.postgres.cosmos.azure.com --query "[accessToken]" -o tsv)
Feljegyzés
Győződjön meg arról, hogy a PGPASSWORD változó az előfizetéséhez tartozó Microsoft Entra ID hitelesítési hozzáférési jogkivonatra van beállítva. Ha postgres szerepkör-hitelesítést kell végeznie ugyanabból a munkamenetből, beállíthatja a PGPASSWORD-t a Postgres szerepkör jelszavára, vagy törölheti a PGPASSWORD változó értékét a jelszó interaktív beírásához. A hitelesítés a PGPASSWORD helytelen értékével meghiúsulna.
Most már kezdeményezhet kapcsolatot az Azure Cosmos DB for PostgreSQL-hez azzal a Microsoft Entra ID felhasználói fiókkal, amelyhez a hozzáférési jogkivonatot létrehozták. Ezt úgy tenné, mint általában a felhasználói fiókkal, mint felhasználóval, és a parancssorban a "jelszó" paraméter nélkül:
psql "host=mycluster.[uniqueID].postgres.cosmos.azure.com user=user@tenant.onmicrosoft.com dbname=[db_name] sslmode=require"
Token használata jelszóként a PgAdminnel való bejelentkezéshez
Ha Microsoft Entra ID-jogkivonattal szeretne csatlakozni a PgAdminhez, kövesse az alábbi lépéseket:
- Törölje a Csatlakozás most lehetőséget a kiszolgáló létrehozásakor.
- Adja meg a kiszolgáló adatait a Kapcsolat lapon, és mentse.
- Győződjön meg arról, hogy egy érvényes Microsoft Entra-azonosító felhasználó van megadva a felhasználónévben.
- A pgAdmin Objektum menüben válassza a Kiszolgáló csatlakoztatása lehetőséget.
- Amikor a rendszer kéri, adja meg a Microsoft Entra id token jelszavát.
Íme néhány alapvető szempont a csatlakozáskor:
-
user@tenant.onmicrosoft.coma Microsoft Entra ID-felhasználó neve. - Ügyeljen arra, hogy az Azure-felhasználó pontos helyesírását használja. A Microsoft Entra ID-felhasználónevek 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. - A hozzáférési jogkivonat érvényessége 5 perc és 90 perc között lehet. Az Azure Cosmos for PostgreSQL-be való bejelentkezés megkezdése előtt le kell szereznie a hozzáférési jogkivonatot.
Mostantól a Microsoft Entra ID-hitelesítéssel van hitelesítve az Azure Cosmos for PostgreSQL-kiszolgálóhoz.
Natív PostgreSQL-szerepkörök kezelése
Ha a natív PostgreSQL-hitelesítés engedélyezve van a fürtön, a beépített "citus" szerepkörön kívül Postgres-szerepköröket is hozzáadhat és törölhet. Alaphelyzetbe állíthatja a jelszót, és módosíthatja a Postgres-jogosultságokat a natív szerepkörökhöz.
Natív PostgreSQL-felhasználói szerepkör törlése vagy jelszava módosítása
A felhasználó frissítéséhez látogasson el a Hitelesítési oldalára a fürtjében, és válassza ki a három pontot ... a felhasználó mellett. A három pont megnyit egy menüt a felhasználó törléséhez vagy a jelszó visszaállításához.
A citus szerepkör jogosultsággal rendelkezik, és nem törölhető. A citus szerepkör azonban le lenne tiltva, ha a fürthöz a "Csak Microsoft Entra ID-hitelesítés" hitelesítési módszer van kiválasztva.
Felhasználói szerepkörök jogosultságainak módosítása
Az új felhasználói szerepkörök általában korlátozott jogosultságokkal biztosítják az adatbázis-hozzáférést. A felhasználói jogosultságok módosításához használjon szabványos PostgreSQL-parancsokat egy olyan eszközzel, mint a PgAdmin vagy a psql. További információ: Csatlakozás fürthöz.
Ha például engedélyezni szeretné a PostgreSQL db_user olvasását mytable, adja meg az engedélyt:
GRANT SELECT ON mytable TO db_user;
Ha ugyanazokat az engedélyeket szeretné megadni a Microsoft Entra ID-szerepkörhöz user@tenant.onmicrosoft.com , használja a következő parancsot:
GRANT SELECT ON mytable TO "user@tenant.onmicrosoft.com";
Az Azure Cosmos DB for PostgreSQL propagálja az egytáblás GRANT-utasításokat a teljes fürtben, és alkalmazza őket az összes feldolgozó csomóponton. A rendszerszintű GRANT-eket is propagálja (például egy séma összes táblája esetében):
-- applies to the coordinator node and propagates to worker nodes for Postgres role db_user
GRANT SELECT ON ALL TABLES IN SCHEMA public TO db_user;
Vagy Microsoft Entra ID szerepkör esetén
-- applies to the coordinator node and propagates to worker nodes for Azure AD role user@tenant.onmicrosoft.com
GRANT SELECT ON ALL TABLES IN SCHEMA public TO "user@tenant.onmicrosoft.com";
Következő lépések
- A hitelesítés ismertetése az Azure Cosmos DB for PostgreSQL-ben
- Tekintse meg a Microsoft Entra id korlátait és korlátozásait az Azure Cosmos DB for PostgreSQL-ben
- A Microsoft Entra ID alapjainak áttekintése
- További információ az SQL GRANT-ről a PostgreSQL-ben