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.
A következőkre vonatkozik:Azure SQL Database
Az Azure SQL Database-be irányuló alkalmazáskéréseket hitelesíteni kell. Bár az Azure SQL Database-hez való hitelesítésnek több lehetősége is van, lehetőség szerint fontossági sorrendbe kell helyeznie a jelszó nélküli kapcsolatokat az alkalmazásokban. A jelszavakat vagy titkos kulcsokat használó hagyományos hitelesítési módszerek biztonsági kockázatokat és bonyodalmakat okoznak. Látogasson el az Azure Services Hub jelszó nélküli kapcsolataira, és tudjon meg többet a jelszó nélküli kapcsolatokra való áttérés előnyeiről. Az alábbi oktatóanyag bemutatja, hogyan migrálhat egy meglévő Python-alkalmazást, hogy felhasználónév és jelszó helyett jelszó nélküli kapcsolatokat használjon az Azure SQL Database-hez való csatlakozáshoz.
Az mssql-python illesztőprogram beépített támogatást nyújt a Microsoft Entra-hitelesítéshez, így a jelszó nélküli kapcsolatok egyszerűek, minimális kódmódosításokkal.
Az Azure SQL Database konfigurálása
A jelszó nélküli kapcsolatok Microsoft Entra-hitelesítéssel csatlakoznak az Azure-szolgáltatásokhoz, beleértve az Azure SQL Database-t is. A Microsoft Entra-hitelesítéssel központi helyen kezelheti az identitásokat az engedélykezelés egyszerűsítése érdekében. További információ a Microsoft Entra-hitelesítés Azure SQL Database-hez való konfigurálásáról:
Ebben a migrálási útmutatóban győződjön meg arról, hogy rendelkezik egy Microsoft Entra-rendszergazdával az Azure SQL Database-hez.
Lépjen a logikai kiszolgáló Microsoft Entra oldalára.
Válassza az Adminisztrátor beállítása lehetőséget a Microsoft Entra ID oldalról megnyíló menü megnyitásához.
A Microsoft Entra ID úszó menüjében keresse meg a rendszergazdaként hozzárendelni kívánt felhasználót.
Válassza ki a felhasználót, és válassza a Kiválasztás lehetőséget.
A helyi fejlesztési környezet konfigurálása
A jelszó nélküli kapcsolatok úgy konfigurálhatók, hogy helyi és Azure-beli környezetben is működjenek. Ebben a szakaszban konfigurációkat alkalmaz, amelyek lehetővé teszik az egyes felhasználók számára, hogy helyi fejlesztés céljából hitelesítsék magukat az Azure SQL Database-ben.
Bejelentkezés az Azure-ba
A helyi fejlesztéshez győződjön meg arról, hogy ugyanazzal a Microsoft Entra-fiókkal van bejelentkezve, amellyel hozzá szeretne férni az Azure SQL Database-hez. A hitelesítést olyan népszerű fejlesztői eszközökkel végezheti el, mint az Azure CLI vagy az Azure PowerShell. A hitelesítéshez használható fejlesztői eszközök különböző nyelveken eltérőek lehetnek.
Jelentkezzen be az Azure-ba az Azure CLI-vel az alábbi paranccsal. Ez Windows, macOS és Linux rendszeren működik.
az login
Adatbázis-felhasználó létrehozása és szerepkörök hozzárendelése
Hozzon létre egy felhasználót az Azure SQL Database-ben. A felhasználónak meg kell felelnie annak az Azure-fióknak, amelyet a helyi bejelentkezéskor használt az Azure-ba való bejelentkezés szakaszban.
Az Azure Portalon keresse meg az SQL-adatbázist, és válassza a Lekérdezésszerkesztő (előzetes verzió) lehetőséget.
Válassza a képernyő jobb oldalán a Folytatás
<your-username>lehetőséget, hogy a fiókjával bejelentkezzen az adatbázisba.A lekérdezésszerkesztő nézetben futtassa a következő T-SQL-parancsokat:
CREATE USER [user@domain] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [user@domain]; ALTER ROLE db_datawriter ADD MEMBER [user@domain]; ALTER ROLE db_ddladmin ADD MEMBER [user@domain]; GOA parancsok futtatása az SQL DB közreműködői szerepkörét rendeli hozzá a megadott fiókhoz. Ez a szerepkör lehetővé teszi az identitás számára az adatbázis adatainak és sémájának olvasását, írását és módosítását. A hozzárendelt szerepkörökről további információt a Rögzített adatbázis szerepkörök című témakörben talál.
A helyi kapcsolat konfigurációjának frissítése
Az mssql-python használatával történő jelszó nélküli kapcsolatokra való migráláshoz csak a kapcsolati sztring módosítása szükséges. Az illesztőprogram beépített támogatást nyújt a Microsoft Entra hitelesítési módokhoz, így nincs szükség manuális tokenkezelésre.
from os import getenv
from dotenv import load_dotenv
from mssql_python import connect
load_dotenv()
connection_string = getenv("AZURE_SQL_CONNECTIONSTRING")
def get_all():
with connect(connection_string) as conn:
cursor = conn.cursor()
cursor.execute("SELECT * FROM Persons")
# Do something with the data
return
Ha frissíteni szeretné a hivatkozott kapcsolati sztringet (AZURE_SQL_CONNECTIONSTRING) a helyi fejlesztéshez, hozzon létre egy .env fájlt a projektmappában jelszó nélküli kapcsolati sztring formátumban hitelesítéssel ActiveDirectoryDefault :
AZURE_SQL_CONNECTIONSTRING=Server=tcp:<database-server-name>.database.windows.net,1433;Database=<database-name>;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;Authentication=ActiveDirectoryDefault
ActiveDirectoryDefault automatikusan felderíti a hitelesítő adatokat több forrásból (Azure CLI, környezeti változók, Visual Studio stb.) anélkül, hogy interaktív bejelentkezést kellene igényelnie. Ez a megközelítés kényelmes a fejlesztéshez, de késést ad hozzá, mivel egymás után próbálja meg az egyes hitelesítő adatokat.
Fontos
ActiveDirectoryDefault kizárólag helyi fejlesztésre szolgál. Több hitelesítési módszert próbál meg egymás után, ami késést okoz, és váratlan működést okozhat az éles környezetben. Termelési alkalmazások esetén használja a specifikus hitelesítési módszert a helyzethez.
-
Azure App Service/Functions: Használja
ActiveDirectoryMSI(felügyelt identitás) -
Interaktív felhasználói bejelentkezés: Használat
ActiveDirectoryInteractive -
Szolgáltatásnév: Használat
ActiveDirectoryServicePrincipal
Az alkalmazás tesztelése
Futtassa az alkalmazást helyileg, és ellenőrizze, hogy az Azure SQL Database-hez való kapcsolatok a várt módon működnek-e. Ne feledje, hogy az Azure-felhasználók és szerepkörök módosításainak az Azure-környezetben történő propagálása több percet is igénybe vehet. Az alkalmazás mostantól úgy van konfigurálva, hogy helyileg fusson anélkül, hogy a fejlesztőknek titkos kulcsokat kellene kezelnie az alkalmazásban.
Az Azure-beli üzemeltetési környezet konfigurálása
Miután az alkalmazás konfigurálva lett a jelszó nélküli kapcsolatok helyi használatára, ugyanaz a kód hitelesíthető az Azure SQL Database-ben az Azure-ban való üzembe helyezés után. Az alábbi szakaszok bemutatják, hogyan konfigurálhat egy üzembe helyezett alkalmazást az Azure SQL Database-hez felügyelt identitással való csatlakozáshoz. A felügyelt identitások automatikusan felügyelt identitást biztosítanak a Microsoft Entra-azonosítóban (korábbi nevén Azure Active Directory) az alkalmazások számára a Microsoft Entra-hitelesítést támogató erőforrásokhoz való csatlakozáshoz. További információ a felügyelt identitásokról:
A felügyelt identitás létrehozása
Hozzon létre egy felhasználó által hozzárendelt felügyelt identitást az Azure Portal vagy az Azure CLI használatával. Az alkalmazás az identitás használatával hitelesíti magát más szolgáltatásokban.
- Az Azure Portal tetején keressen felügyelt identitásokat. Válassza ki a felügyelt identitások eredményét.
- Válassza a +Létrehozás lehetőséget a Felügyelt identitások áttekintő oldal tetején.
-
Az Alapok lapon adja meg a következő értékeket:
- Előfizetés: Válassza ki a kívánt előfizetést.
- Erőforráscsoport: Válassza ki a kívánt erőforráscsoportot.
- Régió: Válasszon ki egy régiót a tartózkodási helyéhez közel.
- Név: Adjon meg egy felismerhető nevet az identitásának, például a MigrationIdentity nevet.
- Válassza ki az oldal alján található Felülvizsgálat + létrehozás elemet.
- Amikor az ellenőrzés befejeződik, válassza a Létrehozás lehetőséget. Az Azure létrehoz egy új, felhasználó által hozzárendelt identitást.
Az erőforrás létrehozása után válassza az Ugrás az erőforrásra lehetőséget a felügyelt identitás részleteinek megtekintéséhez.
Felügyelt identitás társítása a webalkalmazással
Konfigurálja a webalkalmazást a létrehozott felhasználó által hozzárendelt felügyelt identitás használatára.
Hajtsa végre az alábbi lépéseket az Azure Portalon a felhasználó által hozzárendelt felügyelt identitás alkalmazáshoz való társításához. Ugyanezek a lépések a következő Azure-szolgáltatásokra vonatkoznak:
- Azure Spring Apps
- Azure Container Apps
- Azure-beli virtuális gépek
- Azure Kubernetes Service
Lépjen a webalkalmazás áttekintő oldalára.
Válassza az Identitás lehetőséget a bal oldali navigációs sávon.
Az Identitás lapon váltson a Felhasználó által hozzárendelt lapra.
Válassza a + Hozzáadás lehetőséget a Felhasználó által hozzárendelt felügyelt identitás hozzáadási panel megnyitásához.
Válassza ki az identitás létrehozásához korábban használt előfizetést.
Keresse meg a MigrationIdentity nevet, és válassza ki a keresési eredmények közül.
A Hozzáadás gombra kattintva társíthatja az identitást az alkalmazással.
Adatbázis-felhasználó létrehozása az identitáshoz és szerepkörök hozzárendelése
Hozzon létre egy SQL-adatbázis-felhasználót, amely visszaképzhető a felhasználó által hozzárendelt felügyelt identitásra. Rendelje hozzá a szükséges SQL-szerepköröket a felhasználóhoz, hogy lehetővé tegye az alkalmazás számára az adatbázis adatainak és sémájának olvasását, írását és módosítását.
Az Azure Portalon keresse meg az SQL-adatbázist, és válassza Lekérdezésszerkesztő (előzetes verzió)lehetőséget.
Válassza a képernyő jobb oldalán a Folytatás
<username>lehetőséget, hogy a fiókjával bejelentkezzen az adatbázisba.A lekérdezésszerkesztő nézetben futtassa a következő T-SQL-parancsokat:
CREATE USER [user-assigned-identity-name] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [user-assigned-identity-name]; ALTER ROLE db_datawriter ADD MEMBER [user-assigned-identity-name]; ALTER ROLE db_ddladmin ADD MEMBER [user-assigned-identity-name]; GOA parancsok futtatása az SQL DB közreműködői szerepkörét rendeli hozzá a felhasználó által hozzárendelt felügyelt identitáshoz. Ez a szerepkör lehetővé teszi az identitás számára az adatbázis adatainak és sémájának olvasását, írását és módosítását.
Fontos
Körültekintően rendeljen hozzá adatbázis-felhasználói szerepköröket vállalati éles környezetekben. Ezekben az esetekben az alkalmazás nem végezhet el minden műveletet egyetlen emelt szintű identitás használatával. Próbálja meg implementálni a minimális jogosultság elvét úgy, hogy több identitást konfigurál meghatározott engedélyekkel adott feladatokhoz.
Az adatbázis-szerepkörök és a biztonság konfigurálásáról az alábbi forrásokban olvashat bővebben:
A kapcsolati sztring frissítése
Frissítse az Azure alkalmazás konfigurációját úgy, hogy a jelszó nélküli kapcsolati karakterlánc formátumot használja a felügyelt identitás ActiveDirectoryMSI hitelesítéséhez.
A kapcsolati sztringek környezeti változókként tárolhatók az alkalmazás üzemeltetési környezetében. Az alábbi utasítások az App Service-ra összpontosítanak, de más Azure-üzemeltetési szolgáltatások is hasonló konfigurációkat biztosítanak.
Server=tcp:<database-server-name>.database.windows.net,1433;Database=<database-name>;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;Authentication=ActiveDirectoryMSI
<database-server-name> az Azure SQL Database-kiszolgáló neve, és <database-name> az Azure SQL Database neve.
Alkalmazásbeállítás létrehozása a felügyelt identitás ügyfélazonosítója számára
A felhasználó által hozzárendelt felügyelt identitás használatához hozzon létre egy környezeti változót AZURE_CLIENT_ID , és állítsa be a felügyelt identitás ügyfélazonosítójával egyenlőre. Ezt a változót az alkalmazás Konfiguráció szakaszában állíthatja be az Azure Portalon. Az ügyfél-azonosítót a felügyelt identitás erőforrásának Áttekintés szakaszában találja az Azure Portalon.
Mentse a módosításokat, és indítsa újra az alkalmazást, ha nem teszi meg automatikusan.
Megjegyzés:
Felhasználó által hozzárendelt felügyelt identitás használatakor adja meg az ügyfél-azonosítót a kapcsolati sztringben a User Id paraméter használatával:
Server=tcp:<database-server-name>.database.windows.net,1433;Database=<database-name>;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;Authentication=ActiveDirectoryMSI;User Id=<managed-identity-client-id>
Ha kihagyja a User Id paramétert, az illesztőprogram a rendszer által hozzárendelt felügyelt identitást használja, ha van konfigurálva.
Az alkalmazás tesztelése
Tesztelje az alkalmazást, és győződjön meg arról, hogy minden működik. Néhány percig is eltarthat, amíg az összes módosítás propagálása az Azure-környezetben történik.