A Microsoft Entra-hitelesítés konfigurálása és kezelése az Azure SQL-lel
A következőre vonatkozik: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics
Ez a cikk bemutatja, hogyan hozhat létre és tölthet fel Microsoft Entra-bérlőt, és hogyan használhatja a Microsoft Entra-azonosítót (korábbi nevén Azure Active Directoryt) az Azure SQL Database,az Azure SQL Managed Instance és az Azure Synapse Analytics használatával. További információt a Microsoft Entra-hitelesítéssel kapcsolatban talál.
Feljegyzés
A Microsoft Entra ID az Azure Active Directory (Azure AD) új neve. Jelenleg frissítjük a dokumentációt.
Microsoft Entra hitelesítési módszerek
A Microsoft Entra ID a következő hitelesítési módszereket támogatja:
- Microsoft Entra kizárólag felhőalapú identitások
- A Microsoft Entra hibrid identitásai, amelyek támogatják a következőt:
- Felhőalapú hitelesítés két lehetőséggel és közvetlen egyszeri bejelentkezéssel (SSO)
- Microsoft Entra jelszókivonat-hitelesítés
- Microsoft Entra átmenő hitelesítés
- Összevont hitelesítés
- Felhőalapú hitelesítés két lehetőséggel és közvetlen egyszeri bejelentkezéssel (SSO)
A Microsoft Entra hitelesítési módszereiről és a választható módszerekről további információt a Microsoft Entra hibrid identitáskezelési megoldás megfelelő hitelesítési módszerének kiválasztása című témakörben talál.
A Microsoft Entra hibrid identitásokkal, beállítással és szinkronizálással kapcsolatos további információkért lásd:
- Jelszókivonat-hitelesítés – Jelszókivonat-szinkronizálás implementálása a Microsoft Entra Csatlakozás Synctel
- Átmenő hitelesítés – Microsoft Entra átmenő hitelesítés
- Összevont hitelesítés – Active Directory összevonási szolgáltatások (AD FS) üzembe helyezése az Azure-ban és a Microsoft Entra Csatlakozás és összevonásban
Microsoft Entra-bérlő létrehozása és feltöltése
Hozzon létre egy Microsoft Entra-bérlőt, és töltse ki felhasználókkal és csoportokkal. A Microsoft Entra-bérlők teljes mértékben felügyelhetők az Azure-ban, vagy használhatók egy helyi Active Directory tartományi szolgáltatás összevonásához.
További információkért lásd:
- Mi a Microsoft Entra-azonosító?
- Helyszíni identitások integrálása a Microsoft Entra-azonosítóval
- Tartománynév hozzáadása a Microsoft Entra-azonosítóhoz
- Mi az összevonás a Microsoft Entra-azonosítóval?
- Címtár-szinkronizálás a Microsoft Entra-azonosítóval
- A Microsoft Entra ID kezelése a Windows PowerShell használatával
- Hibrid identitáshoz szükséges portok és protokollok.
Azure-előfizetés társítása vagy hozzáadása a Microsoft Entra-azonosítóhoz
Azure-előfizetését társíthatja a Microsoft Entra-azonosítóhoz úgy, hogy a címtárat megbízható címtárként adja meg az adatbázist üzemeltető Azure-előfizetéshez. További információ: Azure-előfizetés társítása vagy hozzáadása a Microsoft Entra-bérlőhöz.
Az Azure Portal címtárváltójával válthat a tartományhoz társított előfizetésre.
Fontos
Minden Azure-előfizetés megbízhatósági kapcsolatban áll egy Microsoft Entra-példánysal. Megbízik abban, hogy a címtár hitelesítse a felhasználókat, a szolgáltatásokat és az eszközöket. Több előfizetés is megbízhat ugyanabban a címtárban, de egy előfizetés csak egy címtárban bízhat meg. Ez a megbízhatósági kapcsolat, amelyet egy előfizetés egy címtárral hoz létre, nem hasonlít az azure-beli összes többi erőforrással (webhelyekkel, adatbázisokkal stb.) rendelkező előfizetéshez, amely inkább egy előfizetés gyermekerőforrásaihoz hasonlít. Ha egy előfizetés lejár, akkor az előfizetéssel társított ilyen egyéb erőforrások hozzáférése is lejár. A címtár azonban az Azure-ban marad, és társíthat egy másik előfizetést a címtárhoz, és továbbra is kezelheti a címtárfelhasználóit. Az erőforrásokról további információt az Azure-beli erőforrás-hozzáférés ismertetése című témakörben talál. Ha többet szeretne megtudni erről a megbízható kapcsolatról, olvassa el az Azure-előfizetés társítása vagy hozzáadása a Microsoft Entra-azonosítóhoz című témakört.
Microsoft Entra-rendszergazda kiszolgálóval az SQL Database-ben
Az Azure minden logikai kiszolgálója (amely SQL Database-t vagy Azure Synapse-t üzemeltet) egyetlen kiszolgálói rendszergazdai fiókkal kezdődik, amely a teljes kiszolgáló rendszergazdája. Hozzon létre egy második rendszergazdai fiókot Microsoft Entra-fiókként. Ez az egyszerű rendszer a kiszolgáló adatbázisában master
tárolt adatbázis-felhasználóként jön létre. Rendszergazda istrator-fiókok a db_owner szerepkör tagjai minden felhasználói adatbázisban, és minden felhasználói adatbázist dbo-felhasználóként adnak meg. További információ a rendszergazdai fiókokról: Adatbázisok és bejelentkezések kezelése.
A Microsoft Entra-rendszergazdát az elsődleges és a másodlagos kiszolgálókhoz is konfigurálni kell, ha a Microsoft Entra ID-t georeplikációs módszerrel használja. Ha egy kiszolgáló nem rendelkezik Microsoft Entra-rendszergazdával, akkor a Microsoft Entra bejelentkezik, és a felhasználók hibaüzenetet Cannot connect
kapnak a kiszolgálóra.
Feljegyzés
A Microsoft Entra-fiókon (beleértve a kiszolgálói rendszergazdai fiókot) alapuló felhasználók nem hozhatnak létre Microsoft Entra-alapú felhasználókat, mert nem rendelkeznek engedéllyel a javasolt adatbázis-felhasználók Microsoft Entra-azonosítóval való érvényesítésére.
Microsoft Entra-rendszergazda kiépítése (felügyelt SQL-példány)
Fontos
Csak akkor kövesse ezeket a lépéseket, ha felügyelt Azure SQL-példányt épít ki. Ezt a műveletet csak globális Rendszergazda istrator vagy emelt szintű szerepkör Rendszergazda istrator hajthatja végre a Microsoft Entra ID-ban.
A Címtárolvasók szerepkört hozzárendelheti egy csoporthoz a Microsoft Entra-azonosítóban. A csoporttulajdonosok ezután hozzáadhatják a felügyelt példány identitását a csoport tagjaként, amely lehetővé teszi a Felügyelt SQL-példányhoz tartozó Microsoft Entra-rendszergazda kiépítését. A funkcióról további információt az Azure SQL-hez készült Microsoft Entra címtárolvasói szerepkörében talál.
A felügyelt SQL-példánynak engedélyre van szüksége a Microsoft Entra-azonosító olvasásához olyan feladatok elvégzéséhez, mint például a felhasználók hitelesítése biztonsági csoporttagságon vagy új felhasználók létrehozásán keresztül. Ahhoz, hogy ez működjön, engedélyt kell adnia a felügyelt SQL-példánynak a Microsoft Entra-azonosító olvasásához. Ezt az Azure Portalon vagy a PowerShellben teheti meg.
Azure Portalra
Ha olvasási engedélyeket szeretne adni a felügyelt SQL-példánynak a Microsoft Entra-azonosítóhoz az Azure Portal használatával, jelentkezzen be globális Rendszergazda istratorként, és kövesse az alábbi lépéseket:
Az Azure Portal jobb felső sarkában válassza ki a fiókját, majd válassza a Könyvtárváltás lehetőséget annak ellenőrzéséhez, hogy melyik könyvtár az Aktuális könyvtár. Szükség esetén váltson címtárakra.
Válassza ki a megfelelő Microsoft Entra-könyvtárat aktuális könyvtárként.
Ez a lépés összekapcsolja a Microsoft Entra-azonosítóhoz társított előfizetést a felügyelt SQL-példánysal, biztosítva, hogy a Microsoft Entra-bérlő és a felügyelt SQL-példány ugyanazt az előfizetést használja.
Most kiválaszthatja a Microsoft Entra-rendszergazdát a felügyelt SQL-példányhoz. Ehhez nyissa meg a felügyelt példány erőforrását az Azure Portalon, és válassza a Microsoft Entra rendszergazdáját a Gépház alatt.
Válassza ki a Microsoft Entra felügyeleti oldal tetején látható szalagcímet, és adjon engedélyt az aktuális felhasználónak.
A művelet sikeres végrehajtása után a következő értesítés jelenik meg a jobb felső sarokban:
A Microsoft Entra rendszergazdai oldalán válassza a Navigációs sáv Rendszergazda beállítása elemét a Microsoft Entra ID panel megnyitásához.
A Microsoft Entra ID panelen keressen egy felhasználót, jelölje be a felhasználó vagy csoport melletti jelölőnégyzetet rendszergazdaként, majd nyomja le a Kiválasztás billentyűt a panel bezárásához, és lépjen vissza a felügyelt példány Microsoft Entra felügyeleti lapjára.
A Microsoft Entra ID panel az aktuális címtárban lévő összes tagot és csoportot megjeleníti. A kiszürkített felhasználók vagy csoportok nem jelölhetők ki, mert nem támogatottak Microsoft Entra-rendszergazdákként. Tekintse meg a Microsoft Entra funkcióiban és korlátaiban támogatott rendszergazdák listáját. Az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) csak az Azure Portalra vonatkozik, és nem propagálja az SQL Database-re, a felügyelt SQL-példányra vagy az Azure Synapse-re.
A felügyelt példány Microsoft Entra felügyeleti oldalának navigációs sávján válassza a Mentés lehetőséget a Microsoft Entra-rendszergazda megerősítéséhez.
A rendszergazda módosításának folyamata több percet is igénybe vehet. Ezután megjelenik az új rendszergazda a Microsoft Entra felügyeleti mezőjében.
Az objektumazonosító a Microsoft Entra-felhasználók és -csoportok rendszergazdai neve mellett jelenik meg. Az alkalmazások (szolgáltatásnevek) esetében megjelenik az alkalmazásazonosító .
Miután kiépített egy Microsoft Entra-rendszergazdát a felügyelt SQL-példányhoz, megkezdheti a Microsoft Entra-kiszolgálónevek (bejelentkezések) létrehozását a CREATE LOGIN szintaxissal. További információkért tekintse meg a felügyelt SQL-példányok áttekintését.
Tipp.
Ha később el szeretne távolítani egy Rendszergazda, a Microsoft Entra rendszergazdai oldalának tetején válassza a Rendszergazda eltávolítása, majd a Mentés lehetőséget.
PowerShell
Ha a PowerShell használatával olvasási engedélyeket szeretne adni a felügyelt SQL-példánynak a Microsoft Entra ID-nak, futtassa ezt a szkriptet:
# This script grants "Directory Readers" permission to a service principal representing the SQL Managed Instance.
# It can be executed only by a user who is a member of the **Global Administrator** or **Privileged Roles Administrator** role.
Import-Module Microsoft.Graph.Authentication
$managedInstanceName = "<ManagedInstanceName>" # Enter the name of your managed instance
$tenantId = "<TenantId>" # Enter your tenant ID
Connect-MgGraph -TenantId $tenantId -Scopes "RoleManagement.ReadWrite.Directory"
# Get Microsoft Entra "Directory Readers" role and create if it doesn't exist
$roleName = "Directory Readers"
$role = Get-MgDirectoryRole -Filter "DisplayName eq '$roleName'"
if ($role -eq $null) {
# Instantiate an instance of the role template
$roleTemplate = Get-MgDirectoryRoleTemplate -Filter "DisplayName eq '$roleName'"
New-MgDirectoryRoleTemplate -RoleTemplateId $roleTemplate.Id
$role = Get-MgDirectoryRole -Filter "DisplayName eq '$roleName'"
}
# Get service principal for your SQL Managed Instance
$roleMember = Get-MgServicePrincipal -Filter "DisplayName eq '$managedInstanceName'"
$roleMember.Count
if ($roleMember -eq $null) {
Write-Output "Error: No service principal with name '$($managedInstanceName)' found, make sure that managedInstanceName parameter was entered correctly."
exit
}
if (-not ($roleMember.Count -eq 1)) {
Write-Output "Error: Multiple service principals with name '$($managedInstanceName)'"
Write-Output $roleMember | Format-List DisplayName, Id, AppId
exit
}
# Check if service principal is already member of Directory Readers role
$isDirReader = Get-MgDirectoryRoleMember -DirectoryRoleId $role.Id -Filter "Id eq '$($roleMember.Id)'"
if ($isDirReader -eq $null) {
# Add principal to Directory Readers role
Write-Output "Adding service principal '$($managedInstanceName)' to 'Directory Readers' role..."
$body = @{
"@odata.id"= "https://graph.microsoft.com/v1.0/directoryObjects/{$($roleMember.Id)}"
}
New-MgDirectoryRoleMemberByRef -DirectoryRoleId $role.Id -BodyParameter $body
Write-Output "'$($managedInstanceName)' service principal added to 'Directory Readers' role."
} else {
Write-Output "Service principal '$($managedInstanceName)' is already member of 'Directory Readers' role."
}
Felügyelt SQL-példányhoz készült PowerShell
A PowerShell-parancsmagok futtatásához telepítenie és futtatnia kell az Azure PowerShellt. Részletes információt az Azure PowerShell telepítését és konfigurálását ismertető cikkben talál.
Fontos
A felügyelt Azure SQL-példány továbbra is támogatja a PowerShell Azure Resource Manager (RM) modult, de minden jövőbeli fejlesztés az Az.Sql modulhoz tartozik. Az AzureRM-modul legalább 2020 decemberéig megkapja a hibajavításokat. Az Az modulban és az AzureRm-modulokban található parancsok argumentumai lényegében azonosak. A kompatibilitásukról további információt az új Azure PowerShell Az modul bemutatása című témakörben talál.
Microsoft Entra-rendszergazda kiépítéséhez hajtsa végre a következő Azure PowerShell-parancsokat:
- Connect-AzAccount
- Select-AzSubscription
A Felügyelt SQL-példány Microsoft Entra-rendszergazdájának kiépítéséhez és kezeléséhez használt parancsmagok a következő táblázatban találhatók:
Parancsmag neve | Leírás |
---|---|
Set-AzSqlInstanceActiveDirectory Rendszergazda istrator | Kiépít egy Microsoft Entra-rendszergazdát a felügyelt SQL-példányhoz az aktuális előfizetésben. (Az aktuális előfizetésből kell származnia) |
Remove-AzSqlInstanceActiveDirectory Rendszergazda istrator | Eltávolít egy Microsoft Entra-rendszergazdát a felügyelt SQL-példányhoz az aktuális előfizetésben. |
Get-AzSqlInstanceActiveDirectory Rendszergazda istrator | Az aktuális előfizetésben lévő felügyelt SQL-példány Microsoft Entra-rendszergazdájának adatait adja vissza. |
Az alábbi parancs a ResourceGroup01 nevű erőforráscsoporthoz társított ManagedInstance01 nevű felügyelt SQL-példány Microsoft Entra-rendszergazdájával kapcsolatos információkat kér le.
Get-AzSqlInstanceActiveDirectoryAdministrator -ResourceGroupName "ResourceGroup01" -InstanceName "ManagedInstance01"
Az alábbi parancs kiépít egy DbAs nevű Microsoft Entra-rendszergazdai csoportot a ManagedInstance01 nevű felügyelt SQL-példányhoz. Ez a kiszolgáló a ResourceGroup01 erőforráscsoporthoz van társítva.
Set-AzSqlInstanceActiveDirectoryAdministrator -ResourceGroupName "ResourceGroup01" -InstanceName "ManagedInstance01" -DisplayName "DBAs" -ObjectId "40b79501-b343-44ed-9ce7-da4c8cc7353b"
Az alábbi parancs eltávolítja a ResourceGroup01 erőforráscsoporthoz társított ManagedInstanceName01 nevű felügyelt SQL-példány Microsoft Entra-rendszergazdáját.
Remove-AzSqlInstanceActiveDirectoryAdministrator -ResourceGroupName "ResourceGroup01" -InstanceName "ManagedInstanceName01" -Confirm -PassThru
Microsoft Entra-rendszergazda kiépítése (SQL Database)
Fontos
Csak akkor kövesse ezeket a lépéseket, ha kiszolgálót hoz létre az SQL Database-hez vagy az Azure Synapse-hoz.
Az alábbi két eljárás bemutatja, hogyan építhet ki Microsoft Entra-rendszergazdát a kiszolgálóhoz az Azure Portalon és a PowerShell használatával.
Azure Portalra
Az Azure Portal jobb felső sarkában válassza ki a fiókját, majd válassza a Címtárváltás lehetőséget a Könyvtárak + előfizetések lap megnyitásához. Válassza ki a Microsoft Entra könyvtárat, amely az Azure SQL Database-t vagy az Azure Synapse Analyticset tartalmazza aktuális könyvtárként.
Keresse meg az SQL-kiszolgálókat , és válassza ki az Azure SQL Database logikai kiszolgálóját.
Feljegyzés
Ezen a lapon az SQL-kiszolgálók kiválasztása előtt kiválaszthatja a név melletti csillagot, hogy kedvencként jelölje ki a kategóriát, és sql-kiszolgálókat vegyen fel a bal oldali navigációs menübe.
Érdemes lehet felkeresni az Azure SQL-irányítópultot is.
Az SQL Server lapon válassza a Microsoft Entra-azonosítót.
A Microsoft Entra ID lapján válassza a Rendszergazda beállítása lehetőséget a Microsoft Entra ID panel megnyitásához
A Microsoft Entra ID panelen keressen egy felhasználót, majd válassza ki azt a felhasználót vagy csoportot, aki rendszergazda szeretne lenni. A Kiválasztás használatával erősítse meg a választást, és zárja be a panelt, hogy visszatérjen a logikai kiszolgáló Microsoft Entra-azonosító oldalára. (A A Microsoft Entra ID panel az aktuális címtár összes tagját és csoportját megjeleníti. A kiszürkített felhasználók vagy csoportok nem jelölhetők ki, mert nem támogatottak Microsoft Entra-rendszergazdákként. Tekintse meg a Microsoft Entra-hitelesítés SQL Database-lel vagy Azure Synapse-nal való használatát ismertető szakasz támogatott rendszergazdáinak listáját.) Az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) csak a portálra vonatkozik, és nem propagálja a kiszolgálóra.
A logikai kiszolgáló Microsoft Entra-azonosító lapjának tetején válassza a Mentés lehetőséget.
Az objektumazonosító a Microsoft Entra-felhasználók és -csoportok rendszergazdai neve mellett jelenik meg. Az alkalmazások (szolgáltatásnevek) esetében megjelenik az alkalmazásazonosító .
A rendszergazda módosításának folyamata több percet is igénybe vehet. Ezután megjelenik az új rendszergazda a Microsoft Entra rendszergazdai mezőjében.
Feljegyzés
A Microsoft Entra-rendszergazda beállításakor az új rendszergazdai név (felhasználó vagy csoport) még nem jelenhet meg a virtuális master
adatbázisban kiszolgálóhitelesítő felhasználóként. Ha jelen van, a Microsoft Entra rendszergazdai beállítása meghiúsul, és visszagördül, jelezve, hogy már létezik ilyen rendszergazda (név). Mivel egy kiszolgálóhitelesítő felhasználó nem része a Microsoft Entra-azonosítónak, a kiszolgálóhoz a Microsoft Entra-hitelesítéssel való kapcsolódás sikertelen.
Ha később el szeretné távolítani a rendszergazdát, a Microsoft Entra ID lap tetején válassza a Rendszergazda eltávolítása, majd a Mentés lehetőséget. Ez letiltja a Microsoft Entra-hitelesítést a logikai kiszolgálóhoz.
PowerShell az SQL Database-hez és az Azure Synapse-hoz
A PowerShell-parancsmagok futtatásához telepítenie és futtatnia kell az Azure PowerShellt. Részletes információt az Azure PowerShell telepítését és konfigurálását ismertető cikkben talál. Microsoft Entra-rendszergazda kiépítéséhez hajtsa végre a következő Azure PowerShell-parancsokat:
- Connect-AzAccount
- Select-AzSubscription
Az SQL Database-hez és az Azure Synapse-hoz készült Microsoft Entra-rendszergazda kiépítéséhez és kezeléséhez használt parancsmagok:
Parancsmag neve | Leírás |
---|---|
Set-AzSqlServerActiveDirectoryAdministrator | Kiépít egy Microsoft Entra-rendszergazdát az SQL Database-t vagy az Azure Synapse-t üzemeltető kiszolgálóhoz. (Az aktuális előfizetésből kell származnia) |
Remove-AzSqlServerActiveDirectory Rendszergazda istrator | Eltávolít egy Microsoft Entra-rendszergazdát az SQL Database-t vagy az Azure Synapse-t üzemeltető kiszolgálóhoz. |
Get-AzSqlServerActiveDirectory Rendszergazda istrator | Az SQL Database-t vagy az Azure Synapse-t üzemeltető kiszolgálóhoz jelenleg konfigurált Microsoft Entra-rendszergazda adatait adja vissza. |
A PowerShell-parancsok súgójában további információkat talál az egyes parancsokról. Például: get-help Set-AzSqlServerActiveDirectoryAdministrator
.
A következő szkript egy DBA_Group (objektumazonosító40b79501-b343-44ed-9ce7-da4c8cc7353f
) nevű Microsoft Entra-rendszergazdacsoportot helyez üzembe a demo_server-23 nevű erőforráscsoport demo_server-kiszolgálójához:
Set-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName "Group-23" -ServerName "demo_server" -DisplayName "DBA_Group"
A DisplayName bemeneti paraméter a Microsoft Entra azonosító megjelenítendő nevét vagy a felhasználónév nevét fogadja el. Például: DisplayName="John Smith"
és DisplayName="johns@contoso.com"
. A Microsoft Entra-csoportok esetében csak a Microsoft Entra-azonosító megjelenítendő neve támogatott.
Feljegyzés
Az Azure PowerShell-parancs Set-AzSqlServerActiveDirectoryAdministrator
nem akadályozza meg a Microsoft Entra-rendszergazdák kiépítését a nem támogatott felhasználók számára. A nem támogatott felhasználók kiépíthetők, de nem tudnak adatbázishoz csatlakozni.
Az alábbi példa az opcionális ObjectID azonosítót használja:
Set-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName "Group-23" -ServerName "demo_server" `
-DisplayName "DBA_Group" -ObjectId "40b79501-b343-44ed-9ce7-da4c8cc7353f"
Feljegyzés
Az ObjectID-et akkor kell megadni, ha a DisplayName nem egyedi. Az ObjectID és a DisplayName értékek lekéréséhez megtekintheti egy felhasználó vagy csoport tulajdonságait az Azure Portal Microsoft Entra ID szakaszában.
Az alábbi példa a kiszolgáló jelenlegi Microsoft Entra-rendszergazdájával kapcsolatos információkat adja vissza:
Get-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName "Group-23" -ServerName "demo_server" | Format-List
Az alábbi példa eltávolít egy Microsoft Entra-rendszergazdát:
Remove-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName "Group-23" -ServerName "demo_server"
Feljegyzés
A Rest API-k használatával Microsoft Entra Rendszergazda istratort is kiépíthet. További információ: Service Management REST API-referencia és műveletek az Azure SQL Database-hez készült Azure SQL Database-műveletekhez
Az ügyfélszámítógépek konfigurálása
Feljegyzés
A System.Data.SqlClient az elavult Azure Active Directory Authentication Libraryt (ADAL) használja. Ha a System.Data.SqlClient névteret használja a Microsoft Entra-hitelesítéshez, migrálja az alkalmazásokat a Microsoft.Data.SqlClientbe és a Microsoft Authentication Librarybe (MSAL). További információ: Microsoft Entra-hitelesítés használata az SqlClient használatával.
Ha továbbra is ADAL.DLL kell használnia az alkalmazásokban, az ebben a szakaszban található hivatkozásokkal telepítheti a legújabb ODBC- vagy OLE DB-illesztőt, amely a legújabb ADAL.DLL könyvtárat tartalmazza.
Minden olyan ügyfélszámítógépen, amelyről az alkalmazások vagy a felhasználók Microsoft Entra-identitásokkal csatlakoznak az SQL Database-hez vagy az Azure Synapse-hoz, telepítenie kell a következő szoftvert:
- .NET-keretrendszer 4.6-os vagy újabb verziójú.https://msdn.microsoft.com/library/5a4x27ek.aspx
- Microsoft Authentication Library (MSAL) vagy Microsoft Authentication Library for SQL Server (ADAL.DLL). Az alábbi letöltési hivatkozások a legújabb SSMS, ODBC és OLE DB illesztőprogram telepítéséhez szükségesek, amelyek tartalmazzák a ADAL.DLL-kódtárat .
Az alábbi követelményeknek a következők szerint felelhet meg:
- Az SQL Server Management Studio vagy az SQL Server Data Tools legújabb verziójának telepítése megfelel a .NET-keretrendszer 4.6-os követelménynek.
- Az SSMS telepíti a ADAL.DLL x86-os verzióját.
- Az SSDT telepíti a ADAL.DLL amd64-es verzióját.
- A Visual Studio legújabb letöltései megfelelnek a .NET-keretrendszer 4.6-os követelménynek, de nem telepíti a ADAL.DLL szükséges amd64-verzióját.
A Microsoft Entra-identitásokhoz társított önleíró felhasználók létrehozása
Ez a szakasz áttekinti a Microsoft Entra-hitelesítés Azure SQL Database-sel, felügyelt Azure SQL-példányokkal és Azure Synapse-nal való használatához szükséges követelményeket és fontos szempontokat.
Az SQL Database-lel és az Azure Synapse-val végzett Microsoft Entra-hitelesítéshez a Microsoft Entra-identitáson alapuló, tartalmazott adatbázis-felhasználókat kell használni. A tartalmazott adatbázis-felhasználók nem rendelkeznek bejelentkezéssel az
master
adatbázisban, és az adatbázishoz társított Microsoft Entra-azonosítóban lévő identitáshoz lesznek leképezve. A Microsoft Entra-identitás lehet egyéni felhasználói fiók, csoport vagy alkalmazás. A tárolt adatbázis-felhasználókról további információt a Tartalmazott adatbázis felhasználói – Az adatbázis hordozhatóvá tétele című témakörben talál. A Microsoft Entra-identitásokon alapuló, tartalmazott adatbázis-felhasználók létrehozásáról a CREATE U Standard kiadás R (Transact-SQL) című témakörben talál további információt.Mivel a felügyelt SQL-példány támogatja a Microsoft Entra-kiszolgálónevek (bejelentkezések) használatát, a tartalmazott adatbázis-felhasználók használata nem szükséges. Ez lehetővé teszi bejelentkezések létrehozását a Microsoft Entra felhasználóitól, csoportjaitól vagy alkalmazásaitól. Ez azt jelenti, hogy a felügyelt SQL-példánysal hitelesíthet a Microsoft Entra-kiszolgáló bejelentkezésével, nem pedig egy tárolt adatbázis-felhasználóval. További információkért tekintse meg a felügyelt SQL-példányok áttekintését. A Microsoft Entra-kiszolgálónevek (bejelentkezések) létrehozásával kapcsolatos szintaxisért lásd a CREATE LOGIN (BEJELENTKEZÉS LÉTREHOZÁSA) című témakört.
Az adatbázis felhasználói (a rendszergazdák kivételével) nem hozhatnak létre adatbázist az Azure Portal használatával. A Microsoft Entra-szerepkörök nem lesznek propagálása az adatbázisba az SQL Database-ben, a felügyelt SQL-példányban vagy az Azure Synapse-ban. A Microsoft Entra-szerepkörök kezelik az Azure-erőforrásokat, és nem vonatkoznak az adatbázis-engedélyekre. Az SQL Server közreműködői szerepköre például nem biztosít hozzáférést az adatbázishoz való csatlakozáshoz az SQL Database-ben, a felügyelt SQL-példányban vagy az Azure Synapse-ben. A hozzáférési engedélyt közvetlenül az adatbázisban kell megadni Transact-SQL-utasítások használatával.
Nem hozhat létre közvetlenül adatbázis-felhasználót egy másik Microsoft Entra-bérlőben kezelt identitáshoz, mint az Azure-előfizetéséhez társított. Más címtárak felhasználói azonban külső felhasználókként importálhatók a társított címtárba. Ezután olyan tárolt adatbázis-felhasználók létrehozására használhatók, amelyek hozzáférhetnek az SQL Database-hez. A külső felhasználók az adatbázis-felhasználókat tartalmazó Microsoft Entra-csoportok tagságán keresztül is hozzáférhetnek.
Az olyan speciális karakterek, mint a kettőspont
:
vagy az ampers és&
ha a T-SQL-benCREATE LOGIN
felhasználónevekként szerepelnek, ésCREATE USER
az utasítások nem támogatottak.
Fontos
A 2048-nál több Microsoft Entra biztonsági csoport tagjaiként működő Microsoft Entra-felhasználók és -szolgáltatásnevek (Microsoft Entra-alkalmazások) nem támogatottak az SQL Database, a felügyelt SQL-példány vagy az Azure Synapse adatbázisába való bejelentkezéshez.
Ha Microsoft Entra ID-alapú tárolt adatbázis-felhasználót szeretne létrehozni (az adatbázist birtokoló kiszolgálói rendszergazda kivételével), csatlakozzon az adatbázishoz egy Microsoft Entra-identitással, amely legalább az ALTER ANY U Standard kiadás R engedéllyel rendelkezik. A következő T-SQL-példában Microsoft_Entra_principal_name
egy Microsoft Entra-felhasználó egyszerű neve vagy egy Microsoft Entra-csoport megjelenítendő neve lehet.
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
Példák: Egy Microsoft Entra összevont vagy felügyelt tartományfelhasználót képviselő, tartalmazott adatbázis-felhasználó létrehozása:
CREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDER;
CREATE USER [alice@fabrikam.onmicrosoft.com] FROM EXTERNAL PROVIDER;
Egy Microsoft Entra-csoportot képviselő, tartalmazott adatbázis-felhasználó létrehozásához adja meg a csoport megjelenítendő nevét:
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
Egy Microsoft Entra-jogkivonattal csatlakozó alkalmazásnak megfelelő, tartalmazott adatbázis-felhasználó létrehozása:
CREATE USER [appName] FROM EXTERNAL PROVIDER;
A CREATE USER ... FROM EXTERNAL PROVIDER
parancshoz SQL-hozzáférés szükséges a Microsoft Entra-azonosítóhoz (a "külső szolgáltatóhoz") a bejelentkezett felhasználó nevében. Néha olyan körülmények merülnek fel, amelyek miatt a Microsoft Entra ID kivételt ad vissza az SQL-nek.
- Előfordulhat, hogy a Microsoft Entra ID-specifikus hibaüzenetét tartalmazó 33134-s SQL-hiba jelenik meg. A hiba általában azt jelzi, hogy a hozzáférés megtagadva, a felhasználónak regisztrálnia kell az MFA-ban az erőforrás eléréséhez, vagy a külső alkalmazások közötti hozzáférést előhitelesítéssel kell kezelni. Az első két esetben a problémát általában a felhasználó Microsoft Entra-bérlőjében beállított feltételes hozzáférési szabályzatok okozzák: megakadályozzák, hogy a felhasználó hozzáférjen a külső szolgáltatóhoz. A "000000003-0000-0000-c000-0000-00000000000" alkalmazáshoz (a Microsoft Graph API alkalmazásazonosítója) való hozzáférés engedélyezéséhez frissítse a feltételes hozzáférési szabályzatokat. Ha a hiba azt jelzi, hogy a külső alkalmazások közötti hozzáférést előhitelesítéssel kell kezelni, a probléma az, hogy a felhasználó szolgáltatásnévként van bejelentkezve. A parancsnak sikeresnek kell lennie, ha azt egy felhasználó hajtja végre.
- Ha lejárt Csatlakozás ion időkorlátot kap, előfordulhat, hogy a
TransparentNetworkIPResolution
kapcsolati sztring paraméterét hamis értékre kell állítania. További információ: Csatlakozás 4.6.1 – TransparentNetworkIPResolution .NET-keretrendszer időtúllépési problémája.
Fontos
A kiszolgáló Microsoft Entra-rendszergazdájának eltávolítása megakadályozza, hogy bármely Microsoft Entra-hitelesítést használó felhasználó csatlakozzon a kiszolgálóhoz. Ha szükséges, az SQL Database rendszergazdája manuálisan is elvetheti a használhatatlan Microsoft Entra-felhasználókat.
Adatbázis-felhasználó létrehozásakor a felhasználó megkapja a CONNECT engedélyt, és a NYILVÁNOS szerepkör tagjaként csatlakozhat az adatbázishoz. Kezdetben a felhasználó számára csak a NYILVÁNOS szerepkör és azoknak a Microsoft Entra-csoportoknak van jogosultsága, ahol tag. A Microsoft Entra-alapú tárolt adatbázis felhasználóinak az engedélyek megadása ugyanúgy működik, mint bármely más típusú felhasználó engedélyének megadása. Javasoljuk, hogy adjon engedélyeket az adatbázis-szerepkörökhöz, és vegye fel a felhasználókat ezekbe a szerepkörökbe ahelyett, hogy közvetlenül engedélyeket ad az egyes felhasználóknak. További információ: Adatbázismotor engedélyeinek alapjai. További információ a speciális SQL Database-szerepkörökről: Adatbázisok és bejelentkezések kezelése az Azure SQL Database-ben. A felügyelt tartományba külső felhasználóként importált összevont tartományi felhasználói fióknak a felügyelt tartomány identitását kell használnia.
A Microsoft Entra-felhasználók az adatbázis metaadataiban E (EXTERNAL_UStandard kiadás R) és X (EXTERNAL_GROUPS) típusú csoportok esetén vannak megjelölve. További információ: sys.database_principals.
Csatlakozás az adatbázisba SSMS vagy SSDT használatával
A Microsoft Entra-rendszergazda megfelelő beállításának ellenőrzéséhez csatlakozzon az master
adatbázishoz a Microsoft Entra rendszergazdai fiókjával.
Microsoft Entra-alapú, tartalmazott adatbázis-felhasználó létrehozásához csatlakozzon az adatbázishoz egy Microsoft Entra-identitással, amely hozzáféréssel rendelkezik az adatbázishoz és legalább az ALTER ANY USER
engedélyhez.
Microsoft Entra-identitás használata SSMS vagy SSDT használatával való csatlakozáshoz
Az alábbi eljárások bemutatják, hogyan csatlakozhat az SQL Database-hez Microsoft Entra-identitással az SQL Server Management Studio (SSMS) vagy az SQL Server Database Tools (SSDT) használatával.
Microsoft Entra ID – Integrált
Ezt a módszert akkor használja, ha Microsoft Entra-hitelesítő adataival van bejelentkezve a Windowsba összevont tartományból, vagy egy felügyelt tartományból, amely közvetlen egyszeri bejelentkezésre van konfigurálva az átmenő és jelszókivonatos hitelesítéshez. További információért lásd: Microsoft Entra zökkenőmentes egyszeri bejelentkezés.
Indítsa el az SSMS-t vagy az SSDT-t, majd a Csatlakozás a Kiszolgálóra (vagy Csatlakozás adatbázismotorra) párbeszédpanelen válassza a Hitelesítés párbeszédpanelen az Azure Active Directory – Integrált lehetőséget. Nem kell jelszót megadnia, mert a meglévő hitelesítő adatai megjelennek a kapcsolathoz.
Válassza a Beállítások gombot, majd a Csatlakozás ion Properties (Tulajdonságok) lap Csatlakozás adatbázishoz mezőjébe írja be annak a felhasználói adatbázisnak a nevét, amelyhez csatlakozni szeretne.
Microsoft Entra ID – Jelszó
Ezt a módszert akkor használhatja, ha Microsoft Entra egyszerű névvel csatlakozik a Microsoft Entra által felügyelt tartomány használatával. Összevont fiókokhoz is használhatja a tartományhoz való hozzáférés nélkül, például távolról végzett munka esetén.
Ezzel a módszerrel hitelesítheti magát az SQL Database adatbázisában vagy a felügyelt SQL-példányon a csak felhőalapú Microsoft Entra identitásfelhasználókkal, illetve a Microsoft Entra hibrid identitásokat használó felhasználókkal. Ez a módszer támogatja azokat a felhasználókat, akik a Windows-hitelesítő adataikat szeretnék használni, de a helyi gépük nincs csatlakoztatva a tartományhoz (például táveléréssel). Ebben az esetben a Windows-felhasználók jelezhetik a tartományfiókjukat és a jelszavukat, és hitelesíthetik magukat az adatbázisba az SQL Database-ben, a felügyelt SQL-példányban vagy az Azure Synapse-ban.
Indítsa el az SSMS-t vagy az SSDT-t, majd a Csatlakozás kiszolgálóra (vagy Csatlakozás adatbázismotorra) párbeszédpanel hitelesítés mezőjében válassza az Azure Active Directory – Jelszó lehetőséget.
A Felhasználónév mezőbe írja be a Microsoft Entra felhasználónevet a formátumba
username\@domain.com
. A felhasználóneveknek Microsoft Entra-azonosítóból származó fióknak vagy felügyelt vagy összevont tartományból származó fióknak kell lenniük Microsoft Entra-azonosítóval.A Jelszó mezőbe írja be a Microsoft Entra-fiókhoz vagy a felügyelt/összevont tartományi fiókhoz tartozó felhasználói jelszót.
Válassza a Beállítások gombot, majd a Csatlakozás ion Properties (Tulajdonságok) lap Csatlakozás adatbázishoz mezőjébe írja be annak a felhasználói adatbázisnak a nevét, amelyhez csatlakozni szeretne. (Lásd az előző lehetőség ábráját.)
Microsoft Entra ID – Univerzális az MFA használatával
Ez a módszer többtényezős hitelesítéssel (MFA) történő interaktív hitelesítéshez használható, és a jelszót interaktívan kérik. Ez a módszer használható az SQL Database, a felügyelt SQL-példány és az Azure Synapse adatbázisaiban való hitelesítésre a csak felhőalapú Microsoft Entra-identitásfelhasználók vagy a Microsoft Entra hibrid identitásait használó felhasználók számára.
További információ: Többtényezős Microsoft Entra-hitelesítés használata AZ SQL Database és az Azure Synapse használatával (SSMS-támogatás az MFA-hoz).
Microsoft Entra ID – Szolgáltatásnév
Ezzel a módszerrel hitelesítheti az adatbázist az SQL Database-ben vagy felügyelt SQL-példányban a Microsoft Entra szolgáltatásnévvel (Microsoft Entra-alkalmazások). További információ: Microsoft Entra szolgáltatásnév az Azure SQL-vel.
Microsoft Entra ID – Felügyelt identitás
Ezzel a módszerrel hitelesítheti az adatbázist az SQL Database-ben vagy felügyelt SQL-példányban a Microsoft Entra által felügyelt identitásokkal. További információ: Felügyelt identitások az Azure SQL-hez készült Microsoft Entra-ban.
Microsoft Entra ID – Alapértelmezett
A Microsoft Entra ID alapértelmezett hitelesítési lehetősége lehetővé teszi a jelszó nélküli és nem interaktív mechanizmusokon keresztül végrehajtott hitelesítést, beleértve a felügyelt identitásokat is.
Csatlakozás a Microsoft Entra-identitással az Azure Portal Lekérdezésszerkesztőjével az Azure SQL Database-hez
Az Azure SQL Database Azure Portal Lekérdezésszerkesztőjével kapcsolatos további információkért tekintse meg a rövid útmutatót: Az Azure Portal lekérdezésszerkesztőjének használata az Azure SQL Database lekérdezéséhez.
Lépjen az SQL-adatbázisra az Azure Portalon. Látogasson el például az Azure SQL-irányítópultra.
Az SQL Database Áttekintés lapján az Azure Portalon válassza a Lekérdezésszerkesztőt a bal oldali menüből.
Az SQL Database Lekérdezésszerkesztő üdvözli a bejelentkezési képernyőn válassza a Folytatás felhasználóként vagy csoportazonosítóként <>lehetőséget.
Microsoft Entra-identitás használata ügyfélalkalmazásból való csatlakozáshoz
Az alábbi eljárások bemutatják, hogyan csatlakozhat egy SQL Database-hez egy Microsoft Entra-identitással egy ügyfélalkalmazásból. Ez nem a hitelesítési módszerek átfogó listája a Microsoft Entra-identitások használatakor. További információ: Csatlakozás az Azure SQL-be a Microsoft Entra-hitelesítéssel és az SqlClienttel.
Microsoft Entra integrált hitelesítés
Az integrált Windows-hitelesítés használatához a tartomány Active Directoryját össze kell vonni a Microsoft Entra-azonosítóval, vagy olyan felügyelt tartománynak kell lennie, amely közvetlen egyszeri bejelentkezésre van konfigurálva az átmenő vagy jelszókivonatos hitelesítéshez. További információért lásd: Microsoft Entra zökkenőmentes egyszeri bejelentkezés.
Az adatbázishoz csatlakozó ügyfélalkalmazásnak (vagy szolgáltatásnak) tartományhoz csatlakoztatott gépen kell futnia a felhasználó tartományi hitelesítő adatai alatt.
Ha integrált hitelesítéssel és Microsoft Entra-identitással szeretne csatlakozni egy adatbázishoz, az adatbázis hitelesítési kulcsszójának kapcsolati sztring kell lennieActive Directory Integrated
. Cserélje le <database_name>
az adatbázis nevét. Az alábbi C#-kódminta az ADO .NET-et használja.
string ConnectionString = @"Data Source=<database_name>.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
A kapcsolati sztring kulcsszó Integrated Security=True
nem támogatott az Azure SQL Database-hez való csatlakozáshoz. ODBC-kapcsolat létrehozásakor el kell távolítania a szóközöket, és be kell állítania a hitelesítést ActiveDirectoryIntegrated
.
Microsoft Entra jelszóhitelesítés
Ha csak felhőalapú Microsoft Entra identitásfelhasználói fiókokkal vagy hibrid Microsoft Entra-identitásokat használó felhasználókkal szeretne csatlakozni egy adatbázishoz, a hitelesítési kulcsszót Active Directory Password
be kell állítani. A kapcsolati sztring felhasználói azonosítót/UID-t és jelszót/PWD-kulcsszavakat és értékeket kell tartalmaznia. Cserélje le <database_name>
a , <email_address>
és <password>
a megfelelő értékeket. Az alábbi C#-kódminta az ADO .NET-et használja.
string ConnectionString =
@"Data Source=<database_name>.database.windows.net; Authentication=Active Directory Password; Initial Catalog=testdb; UID=<email_address>; PWD=<password>";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
További információ a Microsoft Entra hitelesítési módszereiről a Microsoft Entra-hitelesítés GitHub Demo-n elérhető demókódminták használatával.
Microsoft Entra ID hozzáférési jogkivonat
Ez a hitelesítési módszer lehetővé teszi a középső rétegbeli szolgáltatások számára, hogy JSON webes jogkivonatokat (JWT) szerezzenek be az SQL Database, a felügyelt SQL-példány vagy az Azure Synapse adatbázisához való csatlakozáshoz a Microsoft Entra ID-ból való jogkivonat beszerzésével. Ez a módszer lehetővé teszi a különböző alkalmazásforgatókönyveket, például a szolgáltatásidentitásokat, a szolgáltatásneveket és a tanúsítványalapú hitelesítést használó alkalmazásokat. A Microsoft Entra-jogkivonat-hitelesítés használatához négy alapvető lépést kell elvégeznie:
- Regisztrálja az alkalmazást a Microsoft Entra-azonosítóval, és kérje le a kód ügyfél-azonosítóját.
- Hozzon létre egy adatbázis-felhasználót, amely az alkalmazást képviseli. (A szakasz korábbi szakaszában befejezveMicrosoft Entra-identitásokra leképezett, tartalmazott felhasználók létrehozása.)
- Hozzon létre egy tanúsítványt az alkalmazást futtató ügyfélszámítógépen.
- Adja hozzá a tanúsítványt az alkalmazás kulcsaként.
Minta kapcsolati sztring. Cserélje le <database_name>
az adatbázis nevét:
string ConnectionString = @"Data Source=<database_name>.database.windows.net; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.AccessToken = "Your JWT token";
conn.Open();
További információ: SQL Server Security Blog. A tanúsítvány hozzáadásáról további információt a Tanúsítványalapú hitelesítés használatának első lépései a Microsoft Entra ID-ban című témakörben talál.
sqlcmd
Az alábbi utasítások az sqlcmd 13.1-es verziójával csatlakoznak. Töltse le az SQL Serverhez készült Microsoft Parancssori segédprogramok 14.0-s kódát.
Feljegyzés
sqlcmd
a -G
parancs nem működik a rendszeridentitásokkal, és felhasználói egyszerű bejelentkezést igényel.
sqlcmd -S Target_DB_or_DW.testsrv.database.windows.net -G
sqlcmd -S Target_DB_or_DW.testsrv.database.windows.net -U bob@contoso.com -P MyAADPassword -G -l 30
Microsoft Entra-hitelesítés hibaelhárítása
A Microsoft Entra-hitelesítéssel kapcsolatos problémák elhárításáról a Következő blog nyújt útmutatást: Az Azure AD-hitelesítéssel és az Azure SQL DB-vel és a DW-vel kapcsolatos problémák elhárítása.
Kapcsolódó tartalom
- Bejelentkezések, felhasználók, adatbázis-szerepkörök és felhasználói fiókok
- Megbízók
- Adatbázis-szerepkörök
- SQL Database tűzfalszabályok
- Microsoft Entra-vendégfelhasználók létrehozása és Microsoft Entra-rendszergazdaként való beállítás
- Microsoft Entra-felhasználók létrehozása Microsoft Entra-alkalmazásokkal