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.
Ez a cikk bemutatja, hogyan használhatod a Microsoft Entra ID-t hitelesítéshez az Azure Synapse Analytics-szel.
Note
A Microsoft Entra serverprincipálok jelenleg előzetes verzióban érhetők el az Azure Synapse Analyticsben.
Prerequisites
Ahhoz, hogy Microsoft Entra hitelesítést az Azure Synapse Analytics-szel használhass, az alábbi előfeltételekre van szükség:
- Felhasználókkal és csoportokkal kitöltött Microsoft Entra bérlői környezet.
- Egy meglévő Azure Synapse-munkaterület vagy önálló dedikált SQL-készlet.
Microsoft Entra tenant létrehozása és beállítása
Mielőtt konfigurálhatnád a Microsoft Entra hitelesítést az Azure Synapse Analytics-hez, létre kell hoznod egy Microsoft Entra bérlőt, és fel kell töltened azt felhasználókkal, valamint csoportokkal. A Microsoft Entra-bérlőket teljes egészében az Azure-on belül kezelheted, vagy használhatod őket egy on-premises Active Directory-tartomány Service föderációjához.
További információkért lásd:
- Mi az Microsoft Entra ID?
- Helyszíni identitások integrálása a Microsoft Entra ID-val
Add hozzá a tartománynevedet a Microsoft Entra ID-hez - Mi az együttműködés a Microsoft Entra-azonosítóval?
- Könyvtár szinkronizálás a Microsoft Entra ID-vel
- A Microsoft Entra ID kezelése a Windows PowerShell használatával
- Hibrid identitáshoz szükséges portok és protokollok
Microsoft Entra-rendszergazda beállítása
A Microsoft Entra hitelesítéshez az Azure Synapse erőforrásodnak Microsoft Entra adminisztrátorra van szüksége.
A Microsoft Entra adminisztrátort is konfigurálhatod, amikor létrehozod az erőforrást. Ha már konfigurálva van egy adminisztrátor, hagyd ki ezt a részt.
Azure Synapse-munkaterület
Azure Synapse munkaterülethez konfiguráld a Microsoft Entra adminisztrátort a munkaterületen. További információért lásd: Rendszergazdai struktúra.
Standalone dedicated SQL pool
Amikor beállítod a Microsoft Entra adminisztrátort, engedélyezed a Microsoft Entra-hitelesítést azon a logikai szerveren, amely egy önálló dedikált SQL poolt futtat. Az adminisztrátort az Azure portál, PowerShell, Azure CLI vagy REST API-k használatával állíthatod be.
A Azure portálon megtalálhatja a logical server nevet
- Az Azure Synapse Analytics különálló dedikált SQL-készletén az Overview oldalon található kiszolgáló neve mezőben.
Ha a logikai kiszolgálóhoz tartozó Microsoft Entra rendszergazdát szeretné beállítani a Azure portálon, kövesse az alábbi lépéseket:
Az Azure portál Könyvtárak + előfizetések panelben válaszd ki azt a könyvtárat, amely tartalmazza az Azure Synapse erőforrásodat, mint Jelenlegi könyvtár.
Keress SQL szervereket , majd válaszd ki a dedikált SQL poolod logikai szerverét, hogy megnyisd az SQL szerver panelt.
A logikai kiszolgáló SQL-kiszolgáló ablaktábláján válassza a Microsoft Entra ID elemet a Settings alatt a Microsoft Entra ID panel megnyitásához.
A Microsoft Entra ID panelen válassza a Set admin lehetőséget a Microsoft Entra ID panel megnyitásához.
A Microsoft Entra ID panel az aktuális címtár összes felhasználóját, csoportját és alkalmazását megjeleníti, és lehetővé teszi a név, alias vagy azonosító szerinti keresést. Keresse meg a kívánt identitást a Microsoft Entra rendszergazdai fiókhoz, és válassza ki, majd kattintson a Kijelölés gombra a panel bezárásához.
A logikai kiszolgáló Microsoft Entra ID lapjának tetején válassza a Mentés lehetőséget.
A Object id a rendszergazda neve mellett jelenik meg Microsoft Entra felhasználók és csoportok számára. 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 rendszergazda mezőben.
A rendszergazda eltávolításához a Microsoft Entra ID lap tetején válassza a Remove admin lehetőséget, majd válassza a Save lehetőséget. A Microsoft Entra rendszergazda eltávolítása letiltja a logikai kiszolgáló Microsoft Entra hitelesítését.
Note
A Microsoft Entra adminisztrátor a kiszolgáló master adatbázisában van tárolva felhasználóként (adatbázis főfelhasználóként). Mivel az egyszerű adatbázisneveknek egyedinek kell lenniük, a rendszergazda megjelenítendő neve nem lehet ugyanaz, mint a kiszolgáló master adatbázisában lévő felhasználók neve. Ha már létezik ilyen nevű felhasználó, a Microsoft Entra rendszergazdai beállítása meghiúsul, és visszagördül, jelezve, hogy a név már használatban van.
Microsoft Graph-engedélyek hozzárendelése
Bizonyos műveletekhez az Azure Synapse Analytics engedélyeket igényel a Microsoft Graph lekérdezéséhez, amint az a Microsoft Graph jogosultságai című részben olvasható. Az Azure Synapse Analytics támogatja a Microsoft Graph API részletes jogosultságokat, mint a(z) User.Read.All, GroupMember.Read.All és Application.Read.All az erőforrás-identitáson. Ez a megközelítés a minimális jogosultság elvét követi, és ajánlott. A Directory Readers szerepét is felhasználhatod szélesebb alternatívaként. További információkért lásd: A Microsoft Entra felügyelt identitásai az Azure Synapse Analyticshez.
Címtárolvasók szerepkör
Irányított eljárásért lásd: A Directory Readers szerep hozzárendelése egy Microsoft Entra-csoporthoz.
Az alábbi PowerShell szkript egy Azure Synapse erőforrás identitást ad hozzá a Directory Readers szerepéhez.
# This script grants "Directory Readers" permission to an Azure Synapse service principal.
# It can be executed only by a user who is a member of the **Privileged Roles Administrator** role.
Import-Module Microsoft.Graph.Authentication
$instanceName = "<InstanceName>" # Enter the name of your managed instance or server
$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 logical server
$roleMember = Get-MgServicePrincipal -Filter "DisplayName eq '$instanceName'"
$roleMember.Count
if ($roleMember -eq $null) {
Write-Output "Error: No service principal with name '$($instanceName)' found, make sure that instanceName parameter was entered correctly."
exit
}
if (-not ($roleMember.Count -eq 1)) {
Write-Output "Error: Multiple service principals with name '$($instanceName)'"
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 '$($instanceName)' 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 "'$($instanceName)' service principal added to 'Directory Readers' role."
} else {
Write-Output "Service principal '$($instanceName)' is already member of 'Directory Readers' role."
}
A Microsoft Entra adminisztrátor most már létrehozhat Microsoft Entra kiszolgálói rendszerbiztonsági azonosítókat (bejelentkezéseket) és adatbázis-rendszerbiztonsági azonosítókat (felhasználókat).
Microsoft Entra-princípiumok létrehozása SQL-ben
Ha Microsoft Entra-hitelesítéssel szeretne csatlakozni egy adatbázishoz az Azure Synapse Analyticsben, konfigurálnia kell egy rendszerbiztonsági tagot az adatbázisban az adott identitáshoz, legalább a(z) CONNECT engedéllyel.
Adatbázis-felhasználói engedélyek
Amikor létrehozol egy adatbázis-felhasználót, alapértelmezés szerint megkapja az CONNECT engedélyt az adatbázishoz. Az adatbázis-felhasználó két esetben is örökli az engedélyeket:
- A felhasználó egy Microsoft Entra csoport tagja, amely szintén jogosultságokat kapott a szerveren.
- A felhasználót egy bejelentkezésből hozod létre, és a felhasználó örökli a bejelentkezéshez rendelt, szerver szintű engedélyeket, amelyek az adatbázisra vonatkoznak.
A kiszolgáló- és adatbázis-főegységek engedélyeinek kezelése ugyanúgy működik, függetlenül a főegység típusától (Microsoft Entra ID, SQL-hitelesítés stb.). Engedélyek biztosítása adatbázis szerepeknek ahelyett, hogy közvetlenül a felhasználóknak adnánk engedélyeket. Ezután adj hozzá felhasználókat megfelelő jogosultságú szerepekhez. Ez a megközelítés egyszerűsíti a hosszú távú jogosultságkezelést, és csökkenti annak valószínűségét, hogy egy identitás megőrzi a hozzáférést, amikor az már nem megfelelő.
További információkért lásd:
- Adatbázismotor-engedélyek és példák
- Blog: Az adatbázismotor engedélyeinek alapjai
- Adatbázis-hozzáférés engedélyezése az Azure Synapse Analyticshez
Tartalmazott adatbázis-felhasználók
A tartalmazott adatbázis-felhasználó olyan SQL-felhasználó, amely nem csatlakozik az master adatbázisban lévő bejelentkezéshez. Egy Microsoft Entra bennfoglalt adatbázis-felhasználó létrehozásához csatlakozz az adatbázishoz egy Microsoft Entra identitással, amely legalább a(z) ALTER ANY USER engedéllyel rendelkezik. A következő T-SQL-példa egy Microsoft_Entra_principal_name nevű adatbázis-felhasználót hoz létre a Microsoft Entra ID-ből.
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
Ha tartalmazott adatbázis-felhasználót szeretne létrehozni egy Microsoft Entra csoporthoz, adja meg a csoport megjelenítendő nevét:
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
Ha egy felügyelt identitáshoz vagy szolgáltatásfelelős-höz önálló adatbázis-felhasználót szeretne létrehozni, adja meg az identitás megjelenítendő nevét:
CREATE USER [appName] FROM EXTERNAL PROVIDER;
Ha egy Microsoft Entra felhasználó számára korlátozott adatbázis-felhasználót szeretne létrehozni, adja meg az identitás felhasználói főnevét:
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
Bejelentkezésalapú felhasználók
Note
Microsoft Entra server principals (logins) jelenleg az Azure Synapse Analyticsban előzetes verzióban érhetők el.
A Microsoft Entra-kiszolgáló alapelvek (vagy bejelentkezések) támogatottak, ami azt jelenti, hogy a tartalmazott adatbázis-felhasználókra nincs szükség. Az adatbázisnevek (felhasználók) egy kiszolgálónév alapján hozhatók létre, ami azt jelenti, hogy a Microsoft Entra-felhasználók örökölhetik a bejelentkezés kiszolgálószintű hozzárendelt engedélyeit.
CREATE USER [appName] FROM LOGIN [appName];
A Microsoft Entra kiszolgálói főelemek (bejelentkezések) létrehozására vonatkozó szintaxisért lásd: CREATE LOGIN.
Külső felhasználók
Közvetlenül nem hozhat létre adatbázis-felhasználót olyan identitáshoz, amelyet egy másik Microsoft Entra bérlő kezel, mint amelyik az Azure-előfizetéséhez van társítva. Ugyanakkor más könyvtárakból is importálhatsz felhasználókat a kapcsolódó könyvtárba külső felhasználókként. Ezután ezeket felhasználva elkülönített adatbázis-felhasználókat hozhatsz létre, akik hozzáférhetnek az adatbázishoz. A külső felhasználók a Microsoft Entra-csoportok tagságán keresztül is hozzáférhetnek.
Példák: Egy tartalmazott adatbázis-felhasználó létrehozása egy Microsoft Entra összevont vagy felügyelt tartományfelhasználót képviselve:
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
- Egy föderált domain felhasználói fióknak, amelyet külső felhasználóként importálsz egy kezelt domainbe, a kezelt domain identitást kell használnia.
Névvel kapcsolatos szempontok
Nem használhatsz speciális karaktereket, mint a kettőspont : vagy az ampersand & a T-SQL CREATE LOGIN és CREATE USER utasításokban szereplő felhasználónevekben.
A Microsoft Entra ID és az Azure Synapse Analytics felhasználókezelési kialakításában egy kulcsfontosságú módon különböznek egymástól: a Microsoft Entra ID lehetővé teszi a duplikált megjelenítési neveket egy bérlőben, míg az Azure Synapse Analytics egy dedikált SQL poolban egyedi kiszolgáló-rendszerbiztonsági neveket, valamint egy adatbázisban egyedi adatbázis-rendszerbiztonsági neveket igényel.
Microsoft Graph-engedélyek
A CREATE USER ... FROM EXTERNAL PROVIDER parancs megköveteli, hogy az Azure Synapse Analytics hozzáférjen a Microsoft Entra ID-hez (a külső szolgáltatóhoz) a bejelentkezett felhasználó nevében. Néha a Microsoft Entra ID kivételt ad vissza.
- A Microsoft Entra ID-specifikus hibaüzenetet tartalmazó 33134-s SQL-hiba jelenhet 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 Feltételes hozzáférési szabályzatok frissítése, hogy engedélyezze a(z)
00000003-0000-0000-c000-000000000000alkalmazásazonosítójú alkalmazáshoz való hozzáférést (a Microsoft Graph API alkalmazásazonosítója), megoldhatja a problémát. 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 Kapcsolódási időtúllépés lejárt kap, előfordulhat, hogy a kapcsolati karakterlánc
TransparentNetworkIPResolutionparaméterét hamisra kell állítania. További információ: A .NET-keretrendszer 4.6.1 – TransparentNetworkIPResolution kapcsolati időtúllépési problémája.
A Microsoft Entra-identitásokon alapuló, tartalmazott adatbázis-felhasználók létrehozásáról további információt a CREATE USER (FELHASZNÁLÓ LÉTREHOZÁSA) című témakörben talál.
Többfaktoros hitelesítés beállítása
A biztonság javítása érdekében fontold meg a többfaktoros hitelesítés (MFA) konfigurálását, amely arra kéri a felhasználót, hogy az adatbázishoz való hitelesítéshez használjon egy második módszert, például telefonhívást vagy hitelesítési alkalmazást.
A többtényezős hitelesítés Azure Synapse Analytics szolgáltatással való használatához először engedélyezze a többtényezős hitelesítést, majd használjon Feltételes hozzáférési szabályzatot az MFA kikényszerítéséhez.
Csatlakozás a Microsoft Entra-hoz
Miután a Microsoft Entra hitelesítést konfigurálták, ezzel csatlakozhat az Azure Synapse Analyticshez az SQL Server Management Studio vagy az SQL Server Data Tools használatával, és konfigurálhatja az ügyfélalkalmazásokat a Microsoft Entra-identitások használatával történő csatlakozáshoz.
Microsoft Entra-hitelesítés hibaelhárítása
Útmutatásért lásd: A Microsoft Entra-hitelesítéssel kapcsolatos problémák elhárítása.