Konfigurálja és kezelje a Microsoft Entra-hitelesítést az Azure Synapse Analytics használatával

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:

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:

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

  2. Keress SQL szervereket , majd válaszd ki a dedikált SQL poolod logikai szerverét, hogy megnyisd az SQL szerver panelt.

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

  4. A Microsoft Entra ID panelen válassza a Set admin lehetőséget a Microsoft Entra ID panel megnyitásához.

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

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

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-000000000000 alkalmazá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 TransparentNetworkIPResolution paramé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.