A Microsoft Entra ID használata a MySQL-lel való hitelesítéshez
A következőkre vonatkozik: Azure Database for MySQL – Önálló kiszolgáló
Fontos
Az önálló Azure Database for MySQL-kiszolgáló a kivonási útvonalon van. Határozottan javasoljuk, hogy frissítsen rugalmas Azure Database for MySQL-kiszolgálóra. További információ a rugalmas Azure Database for MySQL-kiszolgálóra való migrálásról: Mi történik az önálló Azure Database for MySQL-kiszolgálóval?
Ez a cikk bemutatja, hogyan konfigurálhatja a Microsoft Entra ID-hozzáférést az Azure Database for MySQL-hez, és hogyan csatlakozhat Microsoft Entra-jogkivonat használatával.
Fontos
A Microsoft Entra-hitelesítés csak a MySQL 5.7-hez és újabb verzióhoz érhető el.
A Microsoft Entra Rendszergazda felhasználó beállítása
Csak egy Microsoft Entra Rendszergazda felhasználó hozhat létre/engedélyezhet felhasználókat a Microsoft Entra ID-alapú hitelesítéshez. Microsoft Entra Rendszergazda-felhasználó létrehozásához kövesse az alábbi lépéseket
- Az Azure Portalon válassza ki a Microsoft Entra-azonosítóhoz engedélyezni kívánt Azure Database for MySQL-példányt.
- A Gépház területen válassza az Active Directory Rendszergazda:
- Válasszon ki egy érvényes Microsoft Entra-felhasználót az ügyfélbérlében, hogy Microsoft Entra-rendszergazda legyen.
Fontos
A rendszergazda beállításakor a rendszer új felhasználót ad hozzá az Azure Database for MySQL-kiszolgálóhoz teljes rendszergazdai engedélyekkel.
MySQL-kiszolgálónként csak egy Microsoft Entra-rendszergazda hozható létre, és egy másik kijelölése felülírja a kiszolgálóhoz konfigurált meglévő Microsoft Entra-rendszergazdát.
A rendszergazda konfigurálása után most már bejelentkezhet:
Csatlakozás az Azure Database for MySQL-be a Microsoft Entra ID használatával
Az alábbi magas szintű diagram összefoglalja a Microsoft Entra-hitelesítés és az Azure Database for MySQL használatának munkafolyamatát:
A Microsoft Entra-integrációt úgy terveztük meg, hogy olyan gyakori MySQL-eszközökkel működjön, mint a mysql CLI, amelyek nem ismerik a Microsoft Entra-t, és csak a felhasználónév és a jelszó megadását támogatják a MySQL-hez való csatlakozáskor. A Microsoft Entra-jogkivonatot a fenti képen látható jelszóként adjuk át.
Jelenleg a következő ügyfeleket teszteltük:
- MySQLWorkbench
- MySQL CLI
Teszteltük a leggyakoribb alkalmazásillesztőket is, a részleteket az oldal végén tekintheti meg.
A felhasználóknak/alkalmazásoknak az alábbi lépéseket kell elvégezniük a Microsoft Entra-azonosítóval való hitelesítéshez:
Előfeltételek
Követheti a műveletet az Azure Cloud Shellben, egy Azure-beli virtuális gépen vagy a helyi gépen. Győződjön meg arról, hogy telepítve van az Azure CLI.
1. lépés: Hitelesítés a Microsoft Entra-azonosítóval
Először hitelesítsd a Microsoft Entra ID-t az Azure CLI eszközzel. Ez a lépés nem szükséges az Azure Cloud Shellben.
az login
A parancs elindít 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.
2. lépés: A Microsoft Entra hozzáférési jogkivonatának lekérése
Az Azure CLI-eszköz meghívásával szerezze be a Microsoft Entra által hitelesített felhasználó hozzáférési jogkivonatát az 1. lépéstől az Azure Database for MySQL eléréséhez.
Példa (nyilvános felhő esetén):
az account get-access-token --resource https://ossrdbms-aad.database.windows.net
A fenti erőforrásértéket pontosan az ábrán látható módon kell megadni. Más felhők esetében az erőforrás-érték a következőkkel kereshető:
az cloud show
Az Azure CLI 2.0.71-es és újabb verziói esetében a parancs az alábbi kényelmesebb verzióban adható meg minden felhőhöz:
az account get-access-token --resource-type oss-rdbms
A PowerShell használatával a következő paranccsal szerezheti be a hozzáférési jogkivonatot:
$accessToken = Get-AzAccessToken -ResourceUrl https://ossrdbms-aad.database.windows.net
$accessToken.Token | out-file C:\temp\MySQLAccessToken.txt
A hitelesítés sikeres befejezé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 Base 64 sztring, amely a hitelesített felhasználóra vonatkozó összes információt kódolja, és amely az Azure Database for MySQL szolgáltatásra irányul.
A hozzáférési jogkivonat érvényessége 5 perc és 60 perc között van. Javasoljuk, hogy szerezze be a hozzáférési jogkivonatot, mielőtt elindítja a bejelentkezést az Azure Database for MySQL-be. A jogkivonat érvényességét a következő PowerShell-paranccsal tekintheti meg.
$accessToken.ExpiresOn.DateTime
3. lépés: Jogkivonat használata jelszóként a MySQL-ben való bejelentkezéshez
Csatlakozáskor a hozzáférési jogkivonatot kell használnia MySQL-felhasználói jelszóként. A grafikus felhasználói felület (például MySQLWorkbench) használatakor a fenti módszerrel lekérheti a jogkivonatot.
A MySQL parancssori felület használata
A parancssori felület használatakor ezt a rövid útmutatót használhatja a csatlakozáshoz:
Példa (Linux/macOS):
mysql -h mydb.mysql.database.azure.com \
--user user@tenant.onmicrosoft.com@mydb \
--enable-cleartext-plugin \
--password=`az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken`
A MySQL Workbench használata
- Indítsa el a MySQL Workbench-et, és kattintson az Adatbázis lehetőségre, majd a "Csatlakozás adatbázisba" elemre
- A gazdagépnév mezőbe írja be a MySQL FQDN-t, például: mydb.mysql.database.azure.com
- A felhasználónév mezőbe írja be a MySQL Microsoft Entra rendszergazdai nevét, és fűzze hozzá a MySQL-kiszolgáló nevével, nem pedig a teljes tartománynévvel, user@tenant.onmicrosoft.compéldául @mydb
- A jelszó mezőben kattintson a "Tárolóban tárolva" elemre, és illessze be a hozzáférési jogkivonatot a következő fájlból: C:\temp\MySQLAccessToken.txt
- Kattintson a speciális fülre, és győződjön meg arról, hogy a "Cleartext Authentication Beépülő modul engedélyezése" jelölőnégyzetet bejelöli
- Kattintson az OK gombra az adatbázishoz való csatlakozáshoz
Fontos szempontok a csatlakozáskor:
user@tenant.onmicrosoft.com
annak a Microsoft Entra-felhasználónak vagy csoportnak a neve, amelyhez csatlakozni kíván- Mindig fűzze hozzá a kiszolgáló nevét a Microsoft Entra felhasználó/csoport neve után (pl.
@mydb
) - Ügyeljen arra, hogy a Microsoft Entra-felhasználó vagy -csoport neve pontosan úgy legyen beírva, ahogyan a microsoft entrai felhasználó vagy csoport neve be van írva
- A Microsoft Entra felhasználói és csoportnevei megkülönböztetik a kis- és nagybetűket
- Csoportként való csatlakozáskor csak a csoport nevét használja (pl.
GroupName@mydb
) - Ha a név szóközöket tartalmaz, használja
\
az egyes szóközök előtt a feloldásukhoz
Jegyezze fel az "enable-cleartext-plugin" beállítást – hasonló konfigurációt kell használnia más ügyfelekkel, hogy a jogkivonat kivonat nélkül legyen elküldve a kiszolgálónak.
A rendszer mostantól Microsoft Entra-hitelesítéssel hitelesíti a MySQL-kiszolgálót.
Microsoft Entra-felhasználók létrehozása az Azure Database for MySQL-ben
Ha Microsoft Entra-felhasználót szeretne hozzáadni az Azure Database for MySQL-adatbázishoz, a csatlakozás után hajtsa végre a következő lépéseket (lásd a csatlakozásról szóló későbbi szakaszt):
- Először győződjön meg arról, hogy a Microsoft Entra-felhasználó
<user>@yourtenant.onmicrosoft.com
érvényes felhasználó a Microsoft Entra-bérlőben. - Jelentkezzen be az Azure Database for MySQL-példányba Microsoft Entra Rendszergazda felhasználóként.
- Hozzon létre egy felhasználót
<user>@yourtenant.onmicrosoft.com
az Azure Database for MySQL-ben.
Példa
CREATE AADUSER 'user1@yourtenant.onmicrosoft.com';
A 32 karakternél hosszabb felhasználónevek esetén ajánlott inkább aliast használni a csatlakozáskor:
Példa:
CREATE AADUSER 'userWithLongName@yourtenant.onmicrosoft.com' as 'userDefinedShortName';
Megjegyzés:
- A MySQL figyelmen kívül hagyja a kezdő és záró szóközöket, így a felhasználónév nem rendelkezhet bevezető vagy záró szóközökkal.
- A felhasználó Microsoft Entra-azonosítón keresztüli hitelesítése nem ad engedélyt a felhasználónak az Azure Database for MySQL-adatbázis objektumainak eléréséhez. A felhasználónak manuálisan kell megadnia a szükséges engedélyeket.
Microsoft Entra-csoportok létrehozása az Azure Database for MySQL-ben
Ha engedélyezni szeretné egy Microsoft Entra-csoportot az adatbázishoz való hozzáféréshez, használja ugyanazt a mechanizmust, mint a felhasználók esetében, ehelyett adja meg a csoport nevét:
Példa
CREATE AADUSER 'Prod_DB_Readonly';
Bejelentkezéskor a csoport tagjai a személyes hozzáférési jogkivonataikat használják, de a felhasználónévként megadott csoportnévvel jelentkeznek be.
Jogkivonat érvényesítése
A Microsoft Entra-hitelesítés az Azure Database for MySQL-ben biztosítja, hogy a felhasználó létezik a MySQL-kiszolgálón, és a jogkivonat tartalmának ellenőrzésével ellenőrzi a jogkivonat érvényességét. A rendszer a következő jogkivonat-érvényesítési lépéseket hajtja végre:
- A jogkivonatot a Microsoft Entra ID írja alá, és nem módosították
- A jogkivonatot a Microsoft Entra-azonosító adta ki a kiszolgálóhoz társított bérlőhöz
- A jogkivonat nem járt le
- A token az Azure Database for MySQL-erőforráshoz tartozik (és nem egy másik Azure-erőforráshoz)
Kompatibilitás az alkalmazásillesztőkkel
A legtöbb illesztőprogram támogatott, azonban ügyeljen arra, hogy a jelszót tiszta szöveggel küldje el, így a jogkivonat módosítás nélkül lesz elküldve.
- C/C++
- libmysqlclient: Támogatott
- mysql-connector-c++: Támogatott
- Java
- Csatlakozás or/J (mysql-connector-java): Támogatott, a beállítást kell használnia
useSSL
- Csatlakozás or/J (mysql-connector-java): Támogatott, a beállítást kell használnia
- Python
- Csatlakozás or/Python: Támogatott
- Ruby
- mysql2: Támogatott
- .NETTÓ
- mysql-connector-net: Támogatott, beépülő modult kell hozzáadni a mysql_clear_password
- mysql-net/MySql Csatlakozás or: Támogatott
- Node.js
- mysqljs: Nem támogatott (nem küld jogkivonatot tiszta szövegben javítás nélkül)
- node-mysql2: Támogatott
- Perl
- DBD::mysql: Támogatott
- Net::MySQL: Nem támogatott
- Megy
- go-sql-driver: Támogatott, hozzáadás
?tls=true&allowCleartextPasswords=true
kapcsolati sztring
- go-sql-driver: Támogatott, hozzáadás
További lépések
- A Microsoft Entra-hitelesítés és az Azure Database for MySQL általános fogalmainak áttekintése