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őre vonatkozik: :Azure SQL Database
Azure SQL Managed Instance
Azure SQL erőforrások támogatják a Microsoft Entra ID szolgáltatásneveket és felügyelt identitásokat használó alkalmazások programozott hozzáférését (formerly Azure Active Directory).
Szolgáltatásnevek (Microsoft Entra alkalmazások) támogatása
Ez a cikk a Microsoft Entra ID regisztrált alkalmazásokra vonatkozik. Az alkalmazás hitelesítő adatainak használata a Azure SQL támogatja a feladatok elkülönítésének biztonsági elvét, lehetővé téve a szervezetek számára, hogy pontos hozzáférést konfiguráljanak az adatbázisokhoz csatlakozó alkalmazásokhoz. A felügyelt identitások, a szolgáltatásnevek speciális formája, ajánlott, mivel jelszó nélküliek, és szükségtelenné teszik a fejlesztő által felügyelt hitelesítő adatok használatát.
Microsoft Entra ID további speciális hitelesítési forgatókönyveket is lehetővé tesz, például OAuth 2.0 On-Behalf-Of Flow (OBO). Az OBO lehetővé teszi, hogy az alkalmazások bejelentkezett felhasználói hitelesítő adatokat kérjenek olyan helyzetekben, amikor maguk az alkalmazások nem kaphatnak adatbázis-hozzáférést delegált engedélyek nélkül.
Az Microsoft Entra alkalmazásokkal kapcsolatos további információkért lásd: Az alkalmazás- és szolgáltató főobjektumok a Microsoft Entra ID-ben és Az Azure szolgáltató főobjektum létrehozása Azure PowerShell-lel.
Microsoft Entra felhasználók létrehozása szolgáltatási főszereplők használatával
Ennek a funkciónak a támogatása Microsoft Entra alkalmazásautomatizálási folyamatokban hasznos, ahol Microsoft Entra tagok létrehozása és karbantartása az SQL Database-ben vagy SQL Managed Instance emberi beavatkozás nélkül történik. A szolgáltatás-főkapcsolatok lehetnek Microsoft Entra adminisztrátorok az SQL logikai kiszolgálón vagy a felügyelt példányon, egy csoport részeként vagy önálló identitásként. Az alkalmazás automatizálhatja Microsoft Entra objektumok létrehozását az SQL Database-ben vagy SQL Managed Instance, így az adatbázis-felhasználók létrehozásának teljes automatizálását teszi lehetővé.
Szolgáltatásnév-princípiumok engedélyezése Microsoft Entra felhasználók létrehozásához
Ha alkalmazásokat használ az Azure SQL eléréséhez, a Microsoft Entra felhasználók és bejelentkezések létrehozásához olyan engedélyekre van szükség, amelyek alapértelmezés szerint nincsenek hozzárendelve a szolgáltatásnév-képviselőkhöz vagy a felügyelt identitásokhoz: szükség van a bérlő felhasználóinak, csoportjainak és alkalmazásainak olvasási képességére a Microsoft Graphban. Ezek az engedélyek szükségesek ahhoz, hogy az SQL-motor érvényesítse a megadott CREATE LOGIN identitást, vagy CREATE USERlekérje a fontos információkat, beleértve az identitás objektum- vagy alkalmazásazonosítóját, amelyet a bejelentkezés vagy a felhasználó létrehozásához használnak.
Amikor egy Microsoft Entra felhasználó végrehajtja ezeket a parancsokat, Azure SQL Microsoft-alkalmazás delegált engedélyekkel megszemélyesíti a bejelentkezett felhasználót, és az engedélyekkel Microsoft Graph lekérdezéseket hajt végre. Ez a folyamat szolgáltatásprincipálok esetén nem lehetséges, mert egy alkalmazás nem tud megszemélyesíteni egy másik alkalmazást. Ehelyett az SQL-motor megpróbálja használni a kiszolgálói identitást, amely egy felügyelt SQL-példányhoz, Azure SQL logikai kiszolgálóhoz vagy Azure Synapse munkaterülethez rendelt elsődleges felügyelt identitás. A kiszolgálóidentitásnak léteznie kell, és Microsoft Graph lekérdezési engedélyekkel kell rendelkeznie, vagy a műveletek sikertelenek.
Az alábbi lépések ismertetik, hogyan rendelhet hozzá felügyelt identitást a kiszolgálóhoz, és hogyan rendelheti hozzá a Microsoft Graph engedélyeket, hogy a szolgáltatásnevek Microsoft Entra felhasználókat és bejelentkezéseket hozzanak létre az adatbázisban.
Rendelje hozzá a kiszolgáló identitását. A kiszolgálóidentitás lehet rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitás. További információért lásd: Microsoft Entra felügyelt identitások az Azure SQL-ben.
- A következő PowerShell-parancs létrehoz egy új, rendszer által hozzárendelt felügyelt identitással rendelkező logikai kiszolgálót:
$newServerParams = @{ ResourceGroupName = '<resource group>' Location = '<Location name>' ServerName = '<Server name>' ServerVersion = '12.0' SqlAdministratorCredentials = (Get-Credential) AssignIdentity = $true } New-AzSqlServer @newServerParamsTovábbi információért lásd a New-AzSqlServer parancsot, vagy az SQL Managed Instance-ra vonatkozó New-AzSqlInstance parancsot.
- Meglévő logikai kiszolgáló esetén hajtsa végre a következő parancsot egy rendszer által hozzárendelt felügyelt identitás hozzáadásához:
$setServerParams = @{ ResourceGroupName = '<resource group>' ServerName = '<Server name>' AssignIdentity = $true } Set-AzSqlServer @setServerParamsTovábbi információért lásd: a Set-AzSqlServer parancsot vagy a Set-AzSqlInstance parancsot az SQL Managed Instance-hez.
- Annak ellenőrzéséhez, hogy a kiszolgálóidentitás hozzá van-e rendelve a kiszolgálóhoz, futtassa a Get-AzSqlServer parancsot vagy Get-AzSqlInstance parancsot SQL Managed Instance.
Megjegyzés:
A kiszolgálóidentitás REST API- és CLI-parancsokkal is hozzárendelhető. További információ: az sql server create, az sql server update és Servers – REST API.
Adjon meg a kiszolgálóidentitás-engedélyeket a Microsoft Graph lekérdezéséhez. Ez többféleképpen is elvégezhető: az identitásnak a Microsoft Entra Könyvtár-olvasók szerepkörhöz való hozzáadásával, az identitás egyéni Microsoft Graph engedélyeinek hozzárendelésével, vagy az identitásnak egy olyan csoporthoz való hozzáadásával, amelynek a Könyvtár-olvasók szerepköre van.
Kiszolgálóidentitás hozzáadása szerepkörhöz rendelhető csoporthoz
Éles környezetekben javasoljuk, hogy a bérlői rendszergazda hozzon létre egy szerepkörhöz rendelhető csoportot és rendeljen hozzá a Címtárolvasók szerepkört. A csoporttulajdonosok ezután hozzáadhatnak kiszolgálóidentitásokat a csoporthoz, és örökölhetik ezeket az engedélyeket. Ez eltávolítja azt a követelményt, hogy a kiemelt szerepkörök rendszergazdája engedélyeket adjon az egyes kiszolgálóidentitásoknak, lehetővé téve a rendszergazdák számára, hogy engedély-hozzárendelést delegáljanak a csoport tulajdonosainak ebben a forgatókönyvben. További információ: Címolvasók szerepkör Microsoft Entra ID Azure SQL.
Microsoft Graph engedélyek hozzárendelése a kiszolgálóidentitáshoz
Az egyes Microsoft Graph engedélyek kiszolgálóidentitáshoz való hozzárendeléséhez rendelkeznie kell a Microsoft Entra Kiemelt szerepkörök rendszergazdája szerepkörrel. Ez a címtár-olvasók szerepkör hozzárendelése esetén ajánlott, mert a kiszolgálóidentitásnak nincs szüksége engedélyekre. Csak az egyes Microsoft Graph olvasási engedélyek hozzárendelése korlátozza a kiszolgálóidentitás engedélyeit a bérlőn belül, és fenntartja a minimális jogosultság elvét. Útmutatásért lásd: Az Azure SQL-hez tartozó kezelt identitások Microsoft Entrában.
Kiszolgálóidentitás hozzáadása a Címtárolvasók szerepkörhöz
Ha hozzá szeretné adni a kiszolgálóidentitást a Címolvasók szerepkörhöz, a Microsoft Entra Privileged szerepkör-rendszergazda szerepkör tagjának kell lennie. Éles környezetben ez a beállítás két okból nem ajánlott: a Címtárolvasó szerepkör több engedélyt ad, mint amennyit a kiszolgálóidentitás igényel, és a szerepkör-hozzárendelési folyamat továbbra is rendszergazdai jóváhagyást igényel az egyes kiszolgálói identitásokhoz (a csoportoktól eltérően). Kövesse az Set Microsoft Entra admin (SQL Managed Instance) cikkben található utasításokat az SQL Managed Instance esetében.
Troubleshoot
Hibaelhárításkor a következő hibaüzenet jelenhet meg:
Msg 33134, Level 16, State 1, Line 1
Principal 'test-user' could not be resolved.
Error message: 'Server identity is not configured. Please follow the steps in "Assign an Azure AD identity to your server and add Directory Reader permission to your identity" (https://aka.ms/sqlaadsetup)'
Ez a hiba azt jelzi, hogy a kiszolgálóidentitás nem lett létrehozva, vagy nem lett hozzárendelve Microsoft Graph engedélyekhez. Kövesse az alábbi lépéseket az identitás logikai kiszolgálóhoz való hozzárendeléséhez , valamint a címtárolvasók engedélyének hozzárendeléséhez a logikai kiszolgáló identitásához.
Korlátozások
A szolgáltatásidentitások nem hitelesíthetők a bérlők közötti határokon. Ha egy másik bérlőben létrehozott Microsoft Entra-alkalmazással próbál hozzáférni az SQL Database-hez vagy SQL Managed Instance, az sikertelen.
Az.Sql 2.9.0 modul vagy újabb modul szükséges egy Microsoft Entra-alkalmazás Azure SQL Microsoft Entra rendszergazdájaként való beállításához. Győződjön meg arról, hogy a legújabb modulra frissít.
Csatlakozás Azure SQL-hez szolgáltatási főnévvel
Ha egy alkalmazást egy szolgáltatáshozzáférési jogosultság használatával szeretne csatlakoztatni az Azure SQL Database-hez, a következőkre van szüksége:
Alkalmazásregisztráció a Microsoft Entra ID rendszerben, alkalmazás (ügyfél) azonosítóval, valamint titkos ügyfélkóddal vagy tanúsítvánnyal. Éles számítási feladatokhoz használjon inkább felügyelt identitást – a felügyelt identitások nem igénylik a fejlesztő által felügyelt hitelesítő adatokat.
A szolgáltatásnévhez leképezett tartalmazott adatbázis-felhasználó. Csatlakozzon Microsoft Entra rendszergazdájaként, és futtassa a következőt:
CREATE USER [my-sql-app] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [my-sql-app];Cserélje le
my-sql-appaz alkalmazásregisztráció megjelenítendő nevére. Rendeljen hozzá megfelelő adatbázis-szerepköröket az alkalmazás hozzáférési igényeinek megfelelően.A connection string, amely
Active Directory Service Principalhitelesítést határoz meg. Jelszóként használja az alkalmazás (ügyfél) azonosítóját felhasználónévként és titkos ügyfélkódként .
Az alkalmazásregisztrációt és az engedélybeállítást is tartalmazó teljes útmutatóért lásd: Tutorial: Microsoft Entra felhasználók létrehozása Microsoft Entra alkalmazásokkal. Illesztőprogram-specifikus kapcsolati példákért lásd a következőt: Csatlakozás Azure SQL-hez Microsoft Entra hitelesítéssel és SqlClient használatával.