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

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:

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:

Azure-előfizetés társítása vagy hozzáadása a Microsoft Entra-azonosítóhoz

  1. 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.

  2. 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:

  1. 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.

    Screenshot of the Azure portal showing where to switch your directory.

  2. 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.

  3. 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.

    Screenshot of the Azure portal showing the Microsoft Entra admin page open for the selected SQL managed instance.

  4. 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.

    Screenshot of the dialog for granting permissions to a SQL managed instance for accessing Microsoft Entra ID with the Grant permissions button selected.

  5. A művelet sikeres végrehajtása után a következő értesítés jelenik meg a jobb felső sarokban:

    Screenshot of a notification confirming that Microsoft Entra ID read permissions have been successfully updated for the managed instance.

  6. 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.

    Screenshot showing the Set admin command highlighted on the Microsoft Entra admin page for the selected SQL managed instance.

  7. 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.

  8. 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.

    Screenshot of the Microsoft Entra admin page with the Save button in the top row next to the Set admin and Remove admin buttons.

    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

  1. 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.

  2. Keresse meg az SQL-kiszolgálókat , és válassza ki az Azure SQL Database logikai kiszolgálóját.

    Search for and select SQL servers.

    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.

  3. Az SQL Server lapon válassza a Microsoft Entra-azonosítót.

  4. 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

    Screenshot shows the option to set the Microsoft Entra admin for SQL servers.

  5. 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.

  6. A logikai kiszolgáló Microsoft Entra-azonosító lapjának tetején válassza a Mentés lehetőséget.

    Screenshot shows the option to save a Microsoft Entra admin.

    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:

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-ben CREATE LOGIN felhasználónevekként szerepelnek, és CREATE 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.

  1. 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.

    Screenshot from SSMS showing Microsoft Entra Integrated authentication.

  2. 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.

    Screenshot from SSMS of the Options menu.

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.

  1. 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.

  2. A Felhasználónév mezőbe írja be a Microsoft Entra felhasználónevet a formátumbausername\@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.

  3. 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.

    Screenshot from SSMS using Microsoft Entra Password authentication.

  4. 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.

  1. Lépjen az SQL-adatbázisra az Azure Portalon. Látogasson el például az Azure SQL-irányítópultra.

  2. Az SQL Database Áttekintés lapján az Azure Portalon válassza a Lekérdezésszerkesztőt a bal oldali menüből.

  3. 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.

    Screenshot showing sign-in to the Azure portal Query editor with Microsoft Entra authentication.

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 Passwordbe 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:

  1. Regisztrálja az alkalmazást a Microsoft Entra-azonosítóval, és kérje le a kód ügyfél-azonosítóját.
  2. 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.)
  3. Hozzon létre egy tanúsítványt az alkalmazást futtató ügyfélszámítógépen.
  4. 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.